fold/tests/unit
trvon fcf474e4f0
Some checks failed
build / build-linux (pull_request) Failing after 7m32s
build / build-macos (pull_request) Has been cancelled
build / release (pull_request) Has been cancelled
refactor(cli): one TU path normalizer for coverage, fan-out and quarantine
Problem: normalizeClangTuPath, normalizeQuarantinePath and fan-out's
normalizePath were three copies of the same absolute + weakly_canonical
routine. Coverage, worker records and the quarantine file must agree on a
TU's spelling, and three copies can drift apart.

Fix: move the routine to fold/cli/tu_path.hpp as normalizeTuPath and use it
at every site. No behaviour change.

Test: existing test_scan_coverage (path spellings), test_tu_quarantine and
test_subprocess_fanout, updated to the new name. Full suite: 140/140.
2026-09-24 21:46:12 -06:00
..
meson.build fix(summary): key function summaries by USR, not qualified name 2026-09-24 20:49:38 -06:00
test_access_path.cpp checkpoint 2026-06-04 20:20:29 -04:00
test_ai_pre_pass.cpp feat: architecture expansion — summary cache, observer interface, AI pre-pass 2026-05-27 18:20:51 -04:00
test_always_condition_freestanding.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_asan_parser.cpp feat: checkpoint. Bug fixes and good improvements 2026-07-10 09:59:49 -04:00
test_assumption_provenance.cpp feat: many improvements and bug fixes 2026-06-12 13:25:11 -04:00
test_batch_safety_observer.cpp feat: harden Fold quality guard 2026-07-13 15:05:35 -04:00
test_binary_bb_observer.cpp feat: checkpoint. Bug fixes and good improvements 2026-07-10 09:59:49 -04:00
test_binary_const_hazards.cpp feat(binary): constant-zero div-by-zero + null-deref over disassembly 2026-05-31 15:02:43 -04:00
test_binary_expr.cpp feat: BinaryBBObserver — Z3-proved binary findings + unit tests 2026-05-29 21:55:48 -04:00
test_binary_hardcoded_strings.cpp fix(binary): bound r2 security scans 2026-05-31 22:49:56 -04:00
test_binary_uaf.cpp feat(binary): structural use-after-free / double-free over disassembly 2026-05-31 14:49:10 -04:00
test_boundary_seeds.cpp feat(fuzz): S2 — integer boundary-derivative seeds (0/1/-1/MAX/MIN) 2026-05-21 16:03:10 -04:00
test_cfg_walker.cpp Phase 1: Clang CFG traversal layer + test coverage 2026-05-15 19:17:01 -04:00
test_class_dup.cpp Add githooks, clang-format all code, fix CI Z3 paths 2026-05-15 00:08:47 -04:00
test_clone.cpp feat(analysis): harden project-wide scans 2026-07-30 18:18:04 -04:00
test_complexity.cpp feat(analysis): harden quality and solver pipelines 2026-07-29 20:46:51 -04:00
test_config_guard.cpp feat(analysis): harden project-wide scans 2026-07-30 18:18:04 -04:00
test_configuration_profile.cpp feat(analysis): harden project-wide scans 2026-07-30 18:18:04 -04:00
test_confirmation_task.cpp feat: harden Fold quality guard 2026-07-13 15:05:35 -04:00
test_constraint_slice.cpp feat(analysis): harden quality and solver pipelines 2026-07-29 20:46:51 -04:00
test_corpus_writer.cpp feat(fuzz): M31 — fuzz-prep emits Z3-derived harnesses + corpora 2026-05-21 14:21:43 -04:00
test_cost_summary.cpp feat: many improvements and bug fixes 2026-06-12 13:25:11 -04:00
test_cross_detector_dedup.cpp feat(analysis): harden project-wide scans 2026-07-30 18:18:04 -04:00
test_cross_tu_cache_io.cpp Optimize security detectors and add quality gates 2026-05-23 20:42:05 -04:00
test_cross_tu_cache_provenance.cpp Optimize security detectors and add quality gates 2026-05-23 20:42:05 -04:00
test_cross_tu_equiv.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_dead_branch.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_dead_statement.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_deprecated_api.cpp Document library expansion audit results 2026-05-25 09:55:55 -04:00
test_detector_plan.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_detector_profile_accum.cpp feat(cli): add scan scopes + complexity detector 2026-06-22 09:09:43 -04:00
test_dict_miner.cpp feat(fuzz): S3 — libFuzzer dictionary mining 2026-05-21 16:19:11 -04:00
test_div_by_zero.cpp fix(detect): recognize power-of-two bitwise guard in div-by-zero 2026-08-23 15:36:36 -06:00
test_edit_distance.cpp perf(detect): accelerate clone scoring 2026-07-23 14:54:38 -04:00
test_encoder_callee_names.cpp fix(encoder): a global C++ lookalike is not a C library function 2026-09-24 21:34:16 -06:00
test_encoder_callee_predicates.cpp checkpoint 2026-06-04 20:20:29 -04:00
test_encoder_coerce.cpp M19–M30 + scout-rule encoder refactor 2026-05-21 11:17:50 -04:00
test_encoder_nonnull.cpp feat: many improvements and bug fixes 2026-06-12 13:25:11 -04:00
test_encoder_reachability.cpp M19–M30 + scout-rule encoder refactor 2026-05-21 11:17:50 -04:00
test_encoder_summary_instantiate.cpp M19–M30 + scout-rule encoder refactor 2026-05-21 11:17:50 -04:00
test_equiv.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_expr_json_roundtrip.cpp feat: IR language discriminator + Clang node kinds (Phase 3, multi-language IR) 2026-05-28 20:55:54 -04:00
test_fact_id.cpp fix(scan): harden frontend analysis 2026-07-28 11:57:38 -04:00
test_finding_query.cpp feat(analysis): harden quality and solver pipelines 2026-07-29 20:46:51 -04:00
test_fix_its.cpp feat(report): C9 FixIts + unified-diff --fix-output 2026-05-25 16:40:43 -04:00
test_function_contracts.cpp feat(symbolic): /*@ requires p != null */ contract seeding 2026-05-24 23:31:32 -04:00
test_function_enumeration.cpp fix: scan namespaced/nested functions; timeout robustness; null-deref drift 2026-05-30 18:04:15 -04:00
test_gadget_capstone.cpp many good updates for binary and SAST / DAST scanning 2026-06-02 12:39:03 -04:00
test_gadget_semantics.cpp many good updates for binary and SAST / DAST scanning 2026-06-02 12:39:03 -04:00
test_guarded_facts.cpp checkpoint 2026-06-04 20:20:29 -04:00
test_hardcoded_credential.cpp feat(analysis): harden project-wide scans 2026-07-30 18:18:04 -04:00
test_harness_emitter.cpp feat: symbolic IR, swift backend, binary-to-fuzz pipeline, SARIF fixes 2026-05-27 15:29:14 -04:00
test_hash.cpp Add githooks, clang-format all code, fix CI Z3 paths 2026-05-15 00:08:47 -04:00
test_int_overflow.cpp fix(int-overflow): render witnesses in the source type's width and sign 2026-09-24 20:56:27 -06:00
test_int_truncation.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_int_truncation_explicit_cast.cpp feat(cli): add scan scopes + complexity detector 2026-06-22 09:09:43 -04:00
test_ir_loop.cpp feat(walker): affine (symbolic-bound) loop summarization + deterministic baseline 2026-05-31 08:46:16 -04:00
test_library_callee_identity.cpp fix(encoder): a global C++ lookalike is not a C library function 2026-09-24 21:34:16 -06:00
test_loop_bound_pin.cpp feat: many improvements and bug fixes 2026-06-12 13:25:11 -04:00
test_loop_exit_soundness.cpp fix(detect): model continue exits and memory stores in truncated loops 2026-09-24 21:26:27 -06:00
test_loop_inventory.cpp feat: many improvements and bug fixes 2026-06-12 13:25:11 -04:00
test_loop_summary.cpp feat(walker): affine (symbolic-bound) loop summarization + deterministic baseline 2026-05-31 08:46:16 -04:00
test_mcp_input_policy.cpp feat(analysis): harden project-wide scans 2026-07-30 18:18:04 -04:00
test_memcpy_lambda.cpp perf(symbolic): model memcpy/memmove via z3::lambda (Z4) 2026-05-26 08:47:20 -04:00
test_minimal_witness.cpp feat(fuzz): refine SAT models for smaller integer witnesses (Z5) 2026-05-25 11:22:38 -04:00
test_model_to_bytes.cpp feat(fuzz): M31 — fuzz-prep emits Z3-derived harnesses + corpora 2026-05-21 14:21:43 -04:00
test_model_validation.cpp fix(solver): never memoize a core from a portfolio disagreement 2026-09-24 21:43:15 -06:00
test_null_deref.cpp fix(scan): harden frontend analysis 2026-07-28 11:57:38 -04:00
test_observer_ir.cpp feat: architecture expansion — summary cache, observer interface, AI pre-pass 2026-05-27 18:20:51 -04:00
test_oob_access.cpp fix(symbolic): cache string size()/length() across assignments 2026-08-23 09:11:45 -06:00
test_patch_writer.cpp feat(report): C9 FixIts + unified-diff --fix-output 2026-05-25 16:40:43 -04:00
test_pcode_encoder.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_pcode_summary.cpp feat: transitive write-loop overflow summaries (Part 2) 2026-06-01 11:04:39 -04:00
test_prediction_match.cpp fix(fuzz): match relative ASan paths 2026-07-20 14:53:14 -04:00
test_production_reachability.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_production_roots.cpp feat(analysis): harden project-wide scans 2026-07-30 18:18:04 -04:00
test_project_call_graph.cpp feat(analysis): harden quality and solver pipelines 2026-07-29 20:46:51 -04:00
test_project_index.cpp fix(call-graph): merge same-USR duplicate evidence like the exhaustive builder 2026-08-30 20:39:38 -06:00
test_proved_requires_exact_model.cpp fix(oob,uaf): re-check portfolio verdicts on the reporting solver 2026-09-24 21:32:16 -06:00
test_quality_precision.cpp perf(uninit): skip functions without local candidates 2026-09-02 06:59:54 -06:00
test_r2_session.cpp fix(scan): harden frontend analysis 2026-07-28 11:57:38 -04:00
test_rop_chain.cpp many good updates for binary and SAST / DAST scanning 2026-06-02 12:39:03 -04:00
test_rop_gadgets.cpp feat: attach ROP/exploit gadgets to binary buffer-overflow findings 2026-06-01 08:58:16 -04:00
test_rust_ir_encoder.cpp fix(scan): harden frontend analysis 2026-07-28 11:57:38 -04:00
test_scan_coverage.cpp fix(scan): report unanalyzed translation units and exit 2 2026-09-24 20:37:51 -06:00
test_scan_option_catalog.cpp feat(cli): generous compute budgets for day-scale scans 2026-08-22 13:45:47 -06:00
test_scan_router_profile.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_security_walker_analysis.cpp perf(sql): precheck direct SQL sinks 2026-09-02 06:32:59 -06:00
test_serialize_letbindings.cpp feat: harden Fold quality guard 2026-07-13 15:05:35 -04:00
test_sign_conversion.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_signal_isolation.cpp feat(analysis): harden project-wide scans 2026-07-30 18:18:04 -04:00
test_source_loc.cpp M19–M30 + scout-rule encoder refactor 2026-05-21 11:17:50 -04:00
test_source_path_state.cpp checkpoint 2026-06-04 20:20:29 -04:00
test_source_tu_runner.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_sql_injection.cpp feat(analysis): harden project-wide scans 2026-07-30 18:18:04 -04:00
test_summary_cache.cpp feat: architecture expansion — summary cache, observer interface, AI pre-pass 2026-05-27 18:20:51 -04:00
test_summary_encoder_phi_nonnull.cpp feat(encoder): M28 phi-merge non-null facts in summary encoder 2026-05-22 22:35:00 -04:00
test_summary_key_identity.cpp fix(summary): key function summaries by USR, not qualified name 2026-09-24 20:49:38 -06:00
test_symbolic_arrays.cpp Phase 4b+4d+4e: octagon domain, array memcpy/strcpy, heap arrays 2026-05-15 23:04:44 -04:00
test_symbolic_env_nonnull.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_symbolic_summary.cpp fix(summary): key function summaries by USR, not qualified name 2026-09-24 20:49:38 -06:00
test_taint_interproc.cpp feat(cli): add scan scopes + complexity detector 2026-06-22 09:09:43 -04:00
test_taint_propagation.cpp M19–M30 + scout-rule encoder refactor 2026-05-21 11:17:50 -04:00
test_taint_sanitizer.cpp feat(cli): add scan scopes + complexity detector 2026-06-22 09:09:43 -04:00
test_taint_track.cpp fix(taint): match exec sinks exactly 2026-07-29 23:22:00 -04:00
test_tu_quarantine.cpp refactor(cli): one TU path normalizer for coverage, fan-out and quarantine 2026-09-24 21:46:12 -06:00
test_tu_security_prefilter.cpp feat(analysis): harden quality and solver pipelines 2026-07-29 20:46:51 -04:00
test_uninit_local_read.cpp fix(detect): honor statement-expression write ordering in uninit-read 2026-08-23 15:47:21 -06:00
test_uninit_pre_pass.cpp feat(symbolic): wrap clang::UninitVariablesAnalysis 2026-05-24 23:02:39 -04:00
test_unreachable.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_use_after_free.cpp test: add coverage for project graph, pcode encoder, and detector behaviors 2026-08-16 16:46:07 -06:00
test_weak_crypto.cpp feat(detect): broaden security coverage 2026-07-20 14:53:04 -04:00