31 tests across 7 suites — integration tests for all 5 AI providers, end-to-end GNU tools validation, and Thunderbolt 4 benchmarks. Built-in C test runner with interactive TUI.
scorpiox code ships with a comprehensive test suite covering all AI provider integrations,
end-to-end GNU tool validation on Windows, and hardware transport benchmarks.
Tests are written as Python scripts executed via pytest and driven by
scorpiox-runtest, a purpose-built C test runner with an interactive TUI.
The test runner (scorpiox/scorpiox-runtest.c) scans the tests/ directory
for test_*.py files, copies them to /tmp, and executes them via pytest.
It supports three modes: interactive TUI browsing, pattern-match filtering, and run-all batch mode.
Browse discovered tests in a terminal interface. Arrow keys to navigate, Enter to run a single test, or press 'a' to run all.
Execute every test_*.py in sequence with scorpiox-runtest -a. Ideal for CI pipelines and pre-release verification.
Filter tests by name pattern: scorpiox-runtest -p claude runs only claude_code provider tests.
For automated pipelines, run tests directly via pytest:
Each AI provider has three integration tests: a basic hello response test,
a ReadImage tool call test, and a multi-turn conversation with Bash tool execution.
All provider tests use scorpiox-sdk --print for non-interactive invocation.
tests/test_claude_code_hello.py
tests/test_claude_code_image.py
tests/test_claude_code_multiturn.py
tests/test_codex_hello.py
tests/test_codex_image.py
tests/test_codex_multiturn.py
tests/test_gemini_hello.py
tests/test_gemini_image.py
tests/test_gemini_multiturn.py
tests/test_openai_hello.py
tests/test_openai_image.py
tests/test_openai_multiturn.py
tests/test_scorpiox_hello.py
tests/test_scorpiox_image.py
tests/test_scorpiox_multiturn.py
scorpiox/libtb4/tb4_test.c
tests/test_gnu_tools.ps1
Test image fixtures are stored in tests/fixtures/ and used by ReadImage integration tests:
The shared helper module tests/helpers.py provides:
| Function | Description |
|---|---|
| run_sdk() | Wrapper for scorpiox-sdk --print — invokes the SDK in non-interactive mode and captures output |
| has_event() | Assert that a specific event type appears in the SDK output stream |
| has_tool_call() | Assert that a tool call (Bash, ReadImage, etc.) was made during the conversation |
| has_error() | Assert that an error event is present — used for negative testing |
The tests/code_generator_models.py file is a build-time utility, not a test.
It fetches the Claude model list via scorpiox-claudecode-models and generates
the C header sx_models_generated.h.
Launch the TUI test browser with no arguments. Navigate with arrow keys, press Enter to run the highlighted test, or 'a' to run all:
The following modules have no dedicated unit tests. They are exercised indirectly through integration tests but lack isolated coverage: