Skip to content

Commit 0b261e4

Browse files
committed
fix(codeact): preserve formatter diagnostics
Signed-off-by: Paul Furgale <pfurgale@nvidia.com>
1 parent 2642b82 commit 0b261e4

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

src/nooa/strategies/codeact.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2832,6 +2832,19 @@ def _format_error(
28322832
},
28332833
),
28342834
((error, code), {"line_offset": line_offset, "formatted_error": formatted_error}),
2835+
(
2836+
(error, code),
2837+
{
2838+
"formatted_error": formatted_error,
2839+
"max_error": max_error,
2840+
"tail_chars": tail_chars,
2841+
},
2842+
),
2843+
(
2844+
(error, code),
2845+
{"formatted_error": formatted_error, "max_error": max_error},
2846+
),
2847+
((error, code), {"formatted_error": formatted_error}),
28352848
((error, code), {"line_offset": line_offset}),
28362849
((error, code), {}),
28372850
)

tests/strategies/test_codeact_pure_python_coverage.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -967,6 +967,22 @@ def format(
967967

968968
assert result == "current[4/321]: Cell In[7], line 1\nValueError: original"
969969

970+
def test_custom_formatter_without_line_offset_receives_worker_diagnostic(self):
971+
class TransportFormatter:
972+
def format(self, error, code=None, *, formatted_error=""):
973+
return f"transported: {formatted_error}"
974+
975+
strat = CodeActStrategy(error_formatter=TransportFormatter())
976+
result = strat._format_error(
977+
ValueError("surrogate"),
978+
"bad()",
979+
line_offset=4,
980+
formatted_error="Cell In[7], line 1\nValueError: original",
981+
max_error=321,
982+
)
983+
984+
assert result == "transported: Cell In[7], line 1\nValueError: original"
985+
970986
def test_custom_formatter_without_inspectable_signature_uses_legacy_shape(self, monkeypatch):
971987
class OpaqueFormatter:
972988
calls = 0

0 commit comments

Comments
 (0)