Skip to content

Commit b1689aa

Browse files
hyperpolymathclaude
andcommitted
test: Add comprehensive CRG C test suite
- Add property-based tests (14 tests) validating invariants: * Language detection idempotence * Kanren logic engine correctness (unification, forward chaining) * Weak point consistency and location validity * Report statistics coherence * Error recovery on edge cases - Add E2E tests (12 tests) covering full pipeline: * Self-scan dogfooding: analyze panic-attack source itself * Vulnerable examples scanning * Full analysis pipeline: file → language → rules → report * Report serialization (JSON/YAML) * Deterministic analysis verification * Directory vs file consistency - Add aspect tests (18 tests) for cross-cutting concerns: * Error handling: malformed code, deeply nested, long lines, mixed encodings, NUL bytes, UTF-8 BOM * Performance scaling: file count, memory bounded behavior * Concurrency: parallel analysis thread safety * Security evasion: comment/string/encoding evasion resilience - Enhance benchmarks (7 criterion benchmarks): * Add taint analysis, rule evaluation, location extraction, stats calculation * Maintain existing language detection and family classification * Self-scan dogfooding baseline - Remove fake fuzz: Delete tests/fuzz/placeholder.txt (rsr-template residue, 0 real fuzz logic) - Add proptest v1.4 as dev dependency for future advanced property testing Test status: All 202+ tests passing, cargo test + cargo bench --no-run verified Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 308c29b commit b1689aa

10 files changed

Lines changed: 1359 additions & 68 deletions

File tree

.machine_readable/6a2/STATE.a2ml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,35 @@
44

55
[metadata]
66
project = "panic-attacker"
7-
version = "0.1.0"
8-
last-updated = "2026-03-23"
7+
version = "2.1.0"
8+
last-updated = "2026-04-04"
99
status = "active"
1010

1111
[project-context]
1212
name = "panic-attacker"
13-
completion-percentage = 0
14-
phase = "In development"
13+
completion-percentage = 95
14+
phase = "CRG C (Beta) — Comprehensive testing complete"
15+
16+
[testing-completion-2026-04-04]
17+
description = "CRG C blitz completed: unit + smoke + build + P2P + E2E + reflexive + contract + aspect + benchmarks"
18+
unit-tests = "116 passing (inline #[test] across 62 modules)"
19+
p2p-tests = "14 passing (property-based invariant tests in tests/property_tests.rs)"
20+
e2e-tests = "12 passing (full-pipeline tests in tests/e2e_tests.rs, including self-scan dogfooding)"
21+
aspect-tests = "18 passing (error handling, performance scaling, security evasion in tests/aspect_tests.rs)"
22+
integration-tests = "3 passing (tests/integration.rs)"
23+
benchmarks = "7 criterion benchmarks (benches/scan_bench.rs with baselines)"
24+
total-tests = "202+ tests, all passing"
25+
fake-fuzz-removed = "tests/fuzz/placeholder.txt deleted (was scorecard residue, not real fuzz)"
26+
compiler-warnings = "0 in release builds"
1527

1628
[fixes-2026-03-23]
1729
a2ml-parser = "Now handles TOML-like format in addition to S-expression format"
1830
manifest-lookup = "Tries 0-AI-MANIFEST.a2ml first, then falls back to AI.a2ml"
1931
language-detection = "Skips external_corpora/, third_party/, and corpus/ directories during scanning"
32+
33+
[next-priorities]
34+
verisimdb-http = "Push hexads via REST (awaiting API stabilization)"
35+
kanren-fp-suppression = "~10 rules for false positive suppression (~8% -> ~2-3%)"
36+
hypatia-integration = "Export kanren facts as Logtalk predicates via PanLL"
37+
shell-completions = "bash, zsh, fish, nushell"
38+
chapel-metalayer = "Distributed coforall scanning across compute clusters (future)"

Cargo.lock

Lines changed: 128 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ http = ["ureq"]
4242
[dev-dependencies]
4343
tempfile = "3.27"
4444
criterion = { version = "0.8", features = ["html_reports"] }
45+
proptest = "1.4"
4546

4647
[[bench]]
4748
name = "scan_bench"

0 commit comments

Comments
 (0)