Opinionated OCaml linter with Merlin integration for code quality, naming conventions, and style checks
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

merlint: add cram test for E815 (REGEN_TRACES sentinel in dune)

+57
+1
test/cram/e815.t/bad/dune-project
··· 1 + (lang dune 3.21)
+4
test/cram/e815.t/bad/foo/test/interop/oracle/dune
··· 1 + (rule 2 + (alias regen-traces) 3 + (enabled_if (= %{env:REGEN_TRACES=0} 1)) 4 + (action (run sh scripts/generate.sh)))
+1
test/cram/e815.t/good/dune-project
··· 1 + (lang dune 3.21)
+3
test/cram/e815.t/good/foo/test/interop/oracle/dune
··· 1 + (rule 2 + (alias regen-traces) 3 + (action (run sh scripts/generate.sh)))
+48
test/cram/e815.t/run.t
··· 1 + Test bad example - dune uses REGEN_TRACES env sentinel: 2 + $ merlint -B -r E815 bad/ 3 + Running merlint analysis... 4 + 5 + Analyzing 0 files 6 + 7 + ✓ Code Quality (0 total issues) 8 + ✓ Code Style (0 total issues) 9 + ✓ Naming Conventions (0 total issues) 10 + ✓ Documentation (0 total issues) 11 + ✓ Project Structure (0 total issues) 12 + ✓ Test Quality (0 total issues) 13 + ✗ Interop Testing (1 total issues) 14 + [E815] REGEN_TRACES sentinel in dune (1 issue) 15 + The regen-traces alias should be the single entry point — no REGEN_TRACES=1 16 + env var sentinel. Remove the (enabled_if ...) guard so `dune build 17 + @regen-traces` works directly. 18 + - (global) Interop test bad/foo/test/interop/oracle/dune uses REGEN_TRACES sentinel 19 + ✓ Code Generation (0 total issues) 20 + 21 + ╭─────────────────┬─────────────────────────────────────╮ 22 + │ Category │ Issues │ 23 + ├─────────────────┼─────────────────────────────────────┤ 24 + │ Interop Testing │ 1 (1 regen_traces sentinel in dune) │ 25 + ╰─────────────────┴─────────────────────────────────────╯ 26 + 27 + 28 + Summary: ✗ 1 total issue (applied 1 rule) 29 + ✗ Some checks failed. See details above. 30 + [1] 31 + 32 + Test good example - dune has plain regen-traces alias without sentinel: 33 + $ merlint -B -r E815 good/ 34 + Running merlint analysis... 35 + 36 + Analyzing 0 files 37 + 38 + ✓ Code Quality (0 total issues) 39 + ✓ Code Style (0 total issues) 40 + ✓ Naming Conventions (0 total issues) 41 + ✓ Documentation (0 total issues) 42 + ✓ Project Structure (0 total issues) 43 + ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 46 + 47 + Summary: ✓ 0 total issues (applied 1 rule) 48 + ✓ All checks passed!