| Category | Count | Details |
|---|---|---|
| Source modules | 11 | Rust: ast, ast_jtv, lexer, parser, parser_jtv, eval, lib, main, sexpr + 3 Idris2 ABI |
| Unit tests (inline) | 252 | lexer=151, parser=40, parser_jtv=32, eval=29 |
| Integration tests | 0 | None |
| E2E tests | 0 | None |
| Benchmarks | 4 files | bench_lexer.rs (135L), bench_parser_rust.rs (106L), bench_lexer.ml (113L), bench_parser.ml (88L) |
| Fuzz tests | 2 | fuzz_lexer.rs, fuzz_parser.rs |
- No test that parses a Tangle program and evaluates it end-to-end
- No test for the sexpr output format
- No test for the main binary
- Security: No injection/escape tests for the parser
- Performance: Benchmarks exist -- need to verify they actually run
- Concurrency: N/A for a language parser
- Error handling: No tests for error recovery, partial parse, unterminated strings
- OCaml benchmarks (bench_lexer.ml, bench_parser.ml) -- does OCaml build config exist?
- No Idris2 ABI compilation test
- bench_lexer.rs (135 lines) -- appears real
- bench_parser_rust.rs (106 lines) -- appears real
- [?] bench_lexer.ml (113 lines) -- needs OCaml build verification
- [?] bench_parser.ml (88 lines) -- needs OCaml build verification
- No self-diagnostic mode
- 252 inline unit tests is good for a parser/lexer
- Benchmarks appear genuine -- best benchmark setup among scanned repos
- Fuzz tests exist -- rare and commendable
- ast.rs, ast_jtv.rs, sexpr.rs have 0 tests -- structural modules untested
- No integration/E2E despite having eval -- can't verify programs actually run correctly