Skip to content

Commit 9976b75

Browse files
committed
add guard
1 parent d47fcb8 commit 9976b75

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

eng/tools/azure-sdk-tools/azpysdk/verifytypes.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,5 +222,19 @@ def get_type_complete_score(
222222
return report["typeCompleteness"]["completenessScore"]
223223

224224
# library scores 100%
225-
report = json.loads(response.stdout)
225+
try:
226+
report = json.loads(response.stdout)
227+
except (json.JSONDecodeError, TypeError):
228+
logger.error(
229+
f"pyright --verifytypes exited successfully but did not produce valid JSON output.\n"
230+
f"stdout: {response.stdout}\n"
231+
f"stderr: {response.stderr}\n"
232+
f"Re-running without --outputjson for diagnostic output..."
233+
)
234+
non_json_commands = [c for c in commands[1:] if c != "--outputjson"] + ["--verbose"]
235+
diag = self.run_venv_command(executable, non_json_commands, cwd, check=False)
236+
logger.error(f"Diagnostic pyright stdout:\n{diag.stdout}")
237+
if diag.stderr:
238+
logger.error(f"Diagnostic pyright stderr:\n{diag.stderr}")
239+
return -1.0
226240
return report["typeCompleteness"]["completenessScore"]

0 commit comments

Comments
 (0)