An interactive test runner for the ScorpioX toolchain. Discovers, executes, and reports on test suites with colorful output, filtering, and verbose diagnostics.
| Flag | Short | Description | Takes Value |
|---|---|---|---|
--all |
-a |
Run all discovered test suites without prompting | No |
--help |
-h |
Show help information or help for a specific topic | Yes |
--verbose |
-v |
Enable verbose output with detailed diagnostics per test | No |
# Discover and run every test suite in the current project
$ scorpiox-runtest --all
Discovering tests...
Found 14 test suites (87 tests)
[PASS] core::config_parse .............. 12/12
[PASS] core::env_resolve ............... 8/8
[PASS] net::beam_transfer .............. 6/6
[FAIL] net::dns_lookup ................. 5/7
✗ test_reverse_lookup: expected "host.local", got ""
✗ test_timeout_handling: timed out after 5000ms
[PASS] shell::bash_exec ................ 11/11
...
Results: 83/87 passed, 4 failed (2 suites affected)
Elapsed: 3.42s
# Launch interactive TUI to pick which suites to run
$ scorpiox-runtest
Discovering tests...
Found 14 test suites (87 tests)
Select suites to run (space to toggle, enter to confirm):
[•] core::config_parse (12 tests)
[•] core::env_resolve (8 tests)
[ ] net::beam_transfer (6 tests)
[•] net::dns_lookup (7 tests)
...
# Run all tests with per-test timing and diagnostics
$ scorpiox-runtest -a -v
Discovering tests...
Found 14 test suites (87 tests)
▶ core::config_parse
✓ test_load_default .......... 0.4ms
✓ test_load_override ......... 0.3ms
✓ test_nested_keys ........... 0.5ms
✓ test_empty_file ............ 0.2ms
... (12/12 passed in 4.1ms)
▶ net::dns_lookup
✓ test_a_record .............. 12.1ms
✗ test_reverse_lookup ........ 45.3ms
assertion failed at dns_test.c:84
expected: "host.local"
actual: ""
...
# Get help on writing test suites
$ scorpiox-runtest --help writing-tests
Writing Tests for scorpiox-runtest
Test files are discovered by scanning for *_test.c files
in the project tree. Each file should define test functions
using the SX_TEST() macro:
SX_TEST(test_my_feature) {
int result = my_function(42);
SX_ASSERT_EQ(result, 84);
}
scorpiox/scorpiox-runtest.clibsxutil