|
| 1 | +# TEST-NEEDS: wokelang |
| 2 | +<!-- SPDX-License-Identifier: PMPL-1.0-or-later --> |
| 3 | + |
| 4 | +## Current State |
| 5 | + |
| 6 | +| Category | Count | Details | |
| 7 | +|----------|-------|---------| |
| 8 | +| **Source modules** | 54 | Rust: ast (2), codegen, dap, ffi (2), formatter, interpreter (2), lexer (2), linter, lsp (10: backend, document, handlers/5, mod, stdlib_metadata, symbols, utils), lib, parser + 3 Idris2 ABI | |
| 9 | +| **Unit tests (Rust inline)** | 37 | interpreter=13, parser=8, lsp_integration=8, lexer=4, linter=3, formatter=1 | |
| 10 | +| **Unit tests (OCaml)** | 3 files | test_lexer.ml (~213 refs), test_parser.ml (~347 refs), test_wokelang.ml (~114 refs) | |
| 11 | +| **Integration tests** | 1 | lsp_integration_test.rs (8 tests) | |
| 12 | +| **E2E tests** | 0 | None | |
| 13 | +| **Conformance tests** | 2 | consent_grant.wl, gratitude_basic.wl | |
| 14 | +| **Benchmarks** | 3 files | vm_bench.rs (Rust), bench_lexer.ml, bench_parser.ml (OCaml) | |
| 15 | +| **Fuzz tests** | 0 | None | |
| 16 | + |
| 17 | +## What's Missing |
| 18 | + |
| 19 | +### E2E Tests (CRITICAL) |
| 20 | +- [ ] No test that compiles and runs a complete Wokelang program |
| 21 | +- [ ] No test for the DAP server with a real debugger |
| 22 | +- [ ] Only 2 conformance tests for the entire language spec |
| 23 | + |
| 24 | +### Aspect Tests |
| 25 | +- [ ] **Security**: Consent-aware language with only 1 consent_grant test -- needs 50+ consent/permission scenarios |
| 26 | +- [ ] **Performance**: Benchmarks exist but need verification |
| 27 | +- [ ] **Concurrency**: No tests for concurrent interpreter execution |
| 28 | +- [ ] **Error handling**: No tests for runtime errors, stack overflow, infinite loops |
| 29 | + |
| 30 | +### Build & Execution |
| 31 | +- [ ] OCaml tests exist but does OCaml build infrastructure still work? |
| 32 | +- [ ] No Idris2 ABI compilation test |
| 33 | +- [ ] Dual Rust+OCaml codebase -- no cross-validation tests |
| 34 | + |
| 35 | +### Benchmarks Status |
| 36 | +- [x] vm_bench.rs (Rust) -- appears real |
| 37 | +- [x] bench_lexer.ml (OCaml) -- appears real |
| 38 | +- [x] bench_parser.ml (OCaml) -- appears real |
| 39 | +- [ ] No codegen benchmark |
| 40 | +- [ ] No interpreter throughput benchmark |
| 41 | + |
| 42 | +### Self-Tests |
| 43 | +- [ ] No `wokelang --self-test` mode |
| 44 | +- [ ] No language conformance runner |
| 45 | + |
| 46 | +## FLAGGED ISSUES |
| 47 | +- **OCaml tests have good coverage** (test_lexer 213, test_parser 347, test_wokelang 114) but are they still maintained alongside Rust? |
| 48 | +- **37 Rust inline tests for 54 modules** = 0.7 tests/module in Rust |
| 49 | +- **LSP has 10 source files but only 8 integration tests** -- handler coverage thin |
| 50 | +- **Consent-aware language with 1 consent test** -- the defining feature is barely tested |
| 51 | +- **codegen, dap, ffi modules have 0 tests** -- code generation is untested |
| 52 | +- **Benchmarks appear genuine** -- vm_bench.rs + OCaml bench files |
| 53 | + |
| 54 | +## Priority: P1 (HIGH) |
| 55 | + |
| 56 | +## FAKE-FUZZ ALERT |
| 57 | + |
| 58 | +- `tests/fuzz/placeholder.txt` is a scorecard placeholder inherited from rsr-template-repo — it does NOT provide real fuzz testing |
| 59 | +- Replace with an actual fuzz harness (see rsr-template-repo/tests/fuzz/README.adoc) or remove the file |
| 60 | +- Priority: P2 — creates false impression of fuzz coverage |
0 commit comments