GitNexus/gitnexus/test/unit/cfg
Gergo Magyar 3f17cb7fd5 test(cfg): isolate the non-terminating-loop hazard in worker CDG asserts (#2195 U3)
The pipeline-pdg worker-mode blocks asserted a whole-fixture cdg>0
aggregate (satisfied by any branching fn) while the comment claimed it
proved the non-terminating-loop EXIT-reachability end-to-end. Add a per-
language `hazard` marker + isolate the assertion: locate the hazard
function's BasicBlocks by its anchor and assert >=1 CDG edge is sourced
within it (a marker mutation now fails the test — non-vacuous). C# keeps
the aggregate (its fixture has no infinite loop). Comments corrected.

Switch the 7 visitor unit tests (java/csharp/dart/kotlin/php/swift/c-cpp)
from the local exitReachableFromAll CFG-shape helper to the production
isExitReachableFromAllBlocks + computeControlDependence on the hazard
function, matching go/python/ruby/rust/vue. 241 unit + 30 pipeline green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 16:16:12 +00:00
..
c-cpp-visitor.test.ts test(cfg): isolate the non-terminating-loop hazard in worker CDG asserts (#2195 U3) 2026-06-14 16:16:12 +00:00
cfg-builder.test.ts feat(ingestion): add control-flow-graph layer for TS/JS (#2081) (#2099) 2026-06-10 19:26:45 +01:00
control-dependence.test.ts fix(cfg): synthetic-escape pass restores CDG for exit-unreachable cycles (#2195 U1) 2026-06-14 15:58:50 +00:00
csharp-visitor.test.ts test(cfg): isolate the non-terminating-loop hazard in worker CDG asserts (#2195 U3) 2026-06-14 16:16:12 +00:00
dart-visitor.test.ts test(cfg): isolate the non-terminating-loop hazard in worker CDG asserts (#2195 U3) 2026-06-14 16:16:12 +00:00
emit-guard.test.ts feat(cfg): intra-procedural REACHING_DEF data-dependence layer (#2082) (#2160) 2026-06-11 05:49:39 +01:00
go-visitor.test.ts fix(cfg): synthetic-escape pass restores CDG for exit-unreachable cycles (#2195 U1) 2026-06-14 15:58:50 +00:00
harness.test.ts test(cfg): language-agnostic CFG unit-test harness (#2195 U1) 2026-06-14 10:43:00 +00:00
harvest.test.ts feat(taint): intra-procedural taint analysis (#2083) (#2164) 2026-06-12 07:35:09 +01:00
java-visitor.test.ts test(cfg): isolate the non-terminating-loop hazard in worker CDG asserts (#2195 U3) 2026-06-14 16:16:12 +00:00
kotlin-visitor.test.ts test(cfg): isolate the non-terminating-loop hazard in worker CDG asserts (#2195 U3) 2026-06-14 16:16:12 +00:00
opt-in.test.ts feat(ingestion): add control-flow-graph layer for TS/JS (#2081) (#2099) 2026-06-10 19:26:45 +01:00
php-visitor.test.ts test(cfg): isolate the non-terminating-loop hazard in worker CDG asserts (#2195 U3) 2026-06-14 16:16:12 +00:00
post-dominators.test.ts feat(pdg): control dependence — post-dominators + CDG (Ferrante) [M5 #2085] (#2188) 2026-06-13 18:49:03 +01:00
python-visitor.test.ts feat(cfg): Python CFG visitor + def/use harvest (#2195 U8) 2026-06-14 12:31:59 +00:00
reaching-defs.test.ts feat(cfg): intra-procedural REACHING_DEF data-dependence layer (#2082) (#2160) 2026-06-11 05:49:39 +01:00
ruby-visitor.test.ts feat(cfg): Ruby CFG visitor + def/use harvest (#2195 U10) 2026-06-14 13:02:17 +00:00
rust-visitor.test.ts feat(cfg): Rust CFG visitor + def/use harvest (#2195 U11) 2026-06-14 13:18:44 +00:00
swift-visitor.test.ts test(cfg): isolate the non-terminating-loop hazard in worker CDG asserts (#2195 U3) 2026-06-14 16:16:12 +00:00
synthetic-escape.test.ts fix(cfg): synthetic-escape pass restores CDG for exit-unreachable cycles (#2195 U1) 2026-06-14 15:58:50 +00:00
typescript-visitor.test.ts feat(cfg): intra-procedural REACHING_DEF data-dependence layer (#2082) (#2160) 2026-06-11 05:49:39 +01:00
vue-visitor.test.ts feat(cfg): Vue (reuse TS visitor) + worker-mode proof for all langs (#2195 U15) 2026-06-14 14:19:10 +00:00