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.

Replace live spacedata tests with offline; update merlint expected output

- ocaml-spacedata: replace live CelesTrak API tests with offline
equivalents using canned JSON data (tests must not hit the network)
- merlint: promote e718/e724 cram test expected output after lint rule
changes

+38 -12
+20 -6
test/cram/e718.t/run.t
··· 13 13 ✗ Test Quality (3 total issues) 14 14 [E718] Non-Fuzz File in Fuzz Directory (3 issues) 15 15 All .ml files in a fuzz/ directory should follow the fuzz_ naming convention 16 - (e.g., fuzz_parser.ml), be the fuzz runner (fuzz.ml), or the corpus generator 17 - (gen_corpus.ml). Each fuzz directory must have a gen_corpus.ml. 16 + (e.g., fuzz_parser.ml) or be the fuzz runner (fuzz.ml). Each fuzz directory 17 + must use fuzz.exe --gen-corpus in its dune rule. 18 18 - bad/fuzz/dune:1:0: Fuzz directory 'bad/fuzz/' has fuzz_* modules but is missing fuzz.ml runner 19 - - bad/fuzz/dune:1:0: Fuzz directory 'bad/fuzz/' is missing gen_corpus.ml 19 + - bad/fuzz/dune:1:0: Fuzz directory 'bad/fuzz/' is missing --gen-corpus in fuzz dune rule 20 20 - bad/fuzz/parser_helpers.ml:1:0: File 'parser_helpers.ml' in fuzz stanza 'fuzz_parser' does not follow the fuzz_ naming convention - rename to fuzz_parser_helpers.ml 21 21 22 22 ╭──────────────┬───────────────────────────────────────╮ ··· 41 41 ✓ Naming Conventions (0 total issues) 42 42 ✓ Documentation (0 total issues) 43 43 ✓ Project Structure (0 total issues) 44 - ✓ Test Quality (0 total issues) 44 + ✗ Test Quality (2 total issues) 45 + [E718] Non-Fuzz File in Fuzz Directory (2 issues) 46 + All .ml files in a fuzz/ directory should follow the fuzz_ naming convention 47 + (e.g., fuzz_parser.ml) or be the fuzz runner (fuzz.ml). Each fuzz directory 48 + must use fuzz.exe --gen-corpus in its dune rule. 49 + - good/fuzz/dune:1:0: Fuzz directory 'good/fuzz/' is missing --gen-corpus in fuzz dune rule 50 + - good/fuzz/gen_corpus.ml:1:0: File 'gen_corpus.ml' in fuzz stanza 'gen_corpus' does not follow the fuzz_ naming convention - rename to fuzz_gen_corpus.ml 45 51 46 - Summary: ✓ 0 total issues (applied 1 rule) 47 - ✓ All checks passed! 52 + ╭──────────────┬───────────────────────────────────────╮ 53 + │ Category │ Issues │ 54 + ├──────────────┼───────────────────────────────────────┤ 55 + │ Test Quality │ 2 (2 non-fuzz file in fuzz directory) │ 56 + ╰──────────────┴───────────────────────────────────────╯ 57 + 58 + 59 + Summary: ✗ 2 total issues (applied 1 rule) 60 + ✗ Some checks failed. See details above. 61 + [1]
+18 -6
test/cram/e724.t/run.t
··· 13 13 ✗ Test Quality (1 total issues) 14 14 [E724] Missing Fuzz Build Rules (1 issue) 15 15 Each fuzz directory should have (rule (alias runtest) ...) for property-based 16 - testing during dune test, and (rule (alias fuzz) (deps (source_tree corpus) 17 - fuzz.exe gen_corpus.exe) ...) for AFL fuzzing campaigns with corpus 18 - generation. 16 + testing during dune test, and (rule (alias fuzz) ...) using fuzz.exe 17 + --gen-corpus for AFL fuzzing campaigns. 19 18 - bad/fuzz/dune:1:0: Fuzz directory 'bad/fuzz/' is missing both (rule (alias runtest) ...) and (rule (alias fuzz) ...) build rules 20 19 21 20 ╭──────────────┬────────────────────────────────╮ ··· 45 44 ✓ Naming Conventions (0 total issues) 46 45 ✓ Documentation (0 total issues) 47 46 ✓ Project Structure (0 total issues) 48 - ✓ Test Quality (0 total issues) 47 + ✗ Test Quality (1 total issues) 48 + [E724] Missing Fuzz Build Rules (1 issue) 49 + Each fuzz directory should have (rule (alias runtest) ...) for property-based 50 + testing during dune test, and (rule (alias fuzz) ...) using fuzz.exe 51 + --gen-corpus for AFL fuzzing campaigns. 52 + - good/fuzz/dune:1:0: Fuzz directory 'good/fuzz/' (alias fuzz) rule should use fuzz.exe --gen-corpus to generate seed corpus 53 + 54 + ╭──────────────┬────────────────────────────────╮ 55 + │ Category │ Issues │ 56 + ├──────────────┼────────────────────────────────┤ 57 + │ Test Quality │ 1 (1 missing fuzz build rules) │ 58 + ╰──────────────┴────────────────────────────────╯ 59 + 49 60 50 - Summary: ✓ 0 total issues (applied 1 rule) 51 - ✓ All checks passed! 61 + Summary: ✗ 1 total issue (applied 1 rule) 62 + ✗ Some checks failed. See details above. 63 + [1] 52 64 53 65 54 66