============================= test session starts ==============================
platform linux -- Python 3.12.3, pytest-9.1.1, pluggy-1.6.0 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /workspace/skill-scan
configfile: pyproject.toml
plugins: asyncio-1.4.0, anyio-4.15.1
asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
collecting ... collected 24 items

pytests/test_tool_call_resilience.py::test_parse_think_missing_thought_keeps_tool_name PASSED [  4%]
pytests/test_tool_call_resilience.py::test_parse_think_body_text_becomes_raw_body PASSED [  8%]
pytests/test_tool_call_resilience.py::test_parse_think_json_body PASSED  [ 12%]
pytests/test_tool_call_resilience.py::test_parse_think_inline_attribute PASSED [ 16%]
pytests/test_tool_call_resilience.py::test_parse_execute_shell_missing_command PASSED [ 20%]
pytests/test_tool_call_resilience.py::test_parse_execute_shell_legacy_cmd_param PASSED [ 25%]
pytests/test_tool_call_resilience.py::test_parse_dir_tree_missing_path PASSED [ 29%]
pytests/test_tool_call_resilience.py::test_parse_dir_tree_child_tag_path PASSED [ 33%]
pytests/test_tool_call_resilience.py::test_parse_dir_tree_inline_path_attribute PASSED [ 37%]
pytests/test_tool_call_resilience.py::test_parse_qwen_tool_call_json PASSED [ 41%]
pytests/test_tool_call_resilience.py::test_parse_standard_parameter_tags_still_work PASSED [ 45%]
pytests/test_tool_call_resilience.py::test_parse_named_parameter_attribute_still_works PASSED [ 50%]
pytests/test_tool_call_resilience.py::test_think_missing_thought_returns_retryable_error PASSED [ 54%]
pytests/test_tool_call_resilience.py::test_think_recovers_thought_from_raw_body PASSED [ 58%]
pytests/test_tool_call_resilience.py::test_execute_shell_missing_command_recovers_dir_tree PASSED [ 62%]
pytests/test_tool_call_resilience.py::test_execute_shell_ls_command_recovers_dir_tree PASSED [ 66%]
pytests/test_tool_call_resilience.py::test_execute_shell_non_listing_returns_clear_error PASSED [ 70%]
pytests/test_tool_call_resilience.py::test_dir_tree_missing_path_defaults_to_project PASSED [ 75%]
pytests/test_tool_call_resilience.py::test_dir_tree_child_tag_path_executes PASSED [ 79%]
pytests/test_tool_call_resilience.py::test_dir_tree_tool_call_json_executes PASSED [ 83%]
pytests/test_tool_call_resilience.py::test_ls_alias_list_dir_recovers PASSED [ 87%]
pytests/test_tool_call_resilience.py::test_read_file_accepts_path_alias PASSED [ 91%]
pytests/test_tool_call_resilience.py::test_unknown_kwargs_do_not_crash PASSED [ 95%]
pytests/test_tool_call_resilience.py::test_issue_629_payloads_do_not_empty_discovery PASSED [100%]

============================== 24 passed in 0.32s ==============================
