strix/tests
Sean Kim 525723c670 fix(report): keep ReDoS distinct from generic DoS in SARIF class hash
`_class_keyword` scans `_VULN_CLASS_KEYWORDS` in order and returns the
first substring match, so a more specific class must precede any class
whose name it contains — an invariant the surrounding comment spells out.
"denial of service" was listed before "regex denial of service", so any
finding titled "...Regex Denial of Service..." resolved to the generic
"denial of service" class instead.

For locationless (synthetic-anchored) findings this collapses the
`synth_class` component of `_primary_fingerprint`, so a ReDoS finding and
a generic DoS finding on the same CWE get the *same*
`partialFingerprints.primaryLocationLineHash` — and a SARIF consumer such
as GitHub code-scanning silently dedups one genuine finding away.

Reorder so "regex denial of service" precedes "denial of service", and
add regression tests at both the `_class_keyword` and `write_sarif`
levels (the latter asserts the two findings no longer share a
fingerprint).
2026-07-03 15:25:03 -07:00
..
__init__.py Add configurable token / cost usage limits (#576) 2026-06-22 11:17:08 -04:00
test_config_loader.py test: add unit tests for config loader (strix/config/loader.py) (#596) 2026-06-30 04:31:29 -07:00
test_cost_tracking.py fix: report cost for streamed OpenRouter calls (#634) 2026-07-03 00:10:28 -04:00
test_execution.py Add configurable token / cost usage limits (#576) 2026-06-22 11:17:08 -04:00
test_hooks.py Add configurable token / cost usage limits (#576) 2026-06-22 11:17:08 -04:00
test_inputs.py fix(core): collapse child agent initial input into a single user message (#589) 2026-06-29 06:51:47 -07:00
test_local_sources.py Support large target repos with with bind-mount option. (#577) 2026-06-22 12:41:42 -04:00
test_notes.py fix: avoid note ID collisions (#630) 2026-07-02 22:54:44 -04:00
test_runner_rate_limit.py fix: stop gracefully with resume hint on persistent RateLimitError (#261) (#593) 2026-06-29 07:31:54 -07:00
test_sarif.py fix(report): keep ReDoS distinct from generic DoS in SARIF class hash 2026-07-03 15:25:03 -07:00
test_session_entries.py Support large target repos with with bind-mount option. (#577) 2026-06-22 12:41:42 -04:00
test_state_repo_context.py feat(report): SARIF 2.1.0 emitter for CI / code-scanning integration (#626) 2026-07-03 10:43:31 -04:00