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.

cram: migrate tests to test/cram/ umbrella across the monorepo

Structural move per the new E521 rule and cram skill:

- Each package's cram tests now live under test/cram/, with shared
shell setup at test/cram/helpers.sh (auto-sourced by dune 3.21's
setup_scripts) and driver exes in test/cram/helpers/.
- Packages migrated: ocaml-git, ocaml-tty, ocaml-vlog, xdge,
ocaml-precommit, ocaml-publicsuffix, ocaml-requests, monopam, irmin.
- ocaml-tty's cram was actively broken; fixed and the driver rewritten
to use Tty.Progress.render.
- irmin: adds scrub_hash/scrub_time helper scripts for normalising
non-deterministic output (dune cram has no glob/regex matching).

+248 -2
+4
test/cram/e001.t/run.t
··· 15 15 ✓ Documentation (0 total issues) 16 16 ✓ Project Structure (0 total issues) 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭──────────────┬──────────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+8
test/cram/e005.t/run.t
··· 18 18 ✓ Documentation (0 total issues) 19 19 ✓ Project Structure (0 total issues) 20 20 ✓ Test Quality (0 total issues) 21 + ✓ Interop Testing (0 total issues) 22 + ✓ Code Generation (0 total issues) 21 23 22 24 ╭──────────────┬──────────────────────╮ 23 25 │ Category │ Issues │ ··· 42 44 ✓ Documentation (0 total issues) 43 45 ✓ Project Structure (0 total issues) 44 46 ✓ Test Quality (0 total issues) 47 + ✓ Interop Testing (0 total issues) 48 + ✓ Code Generation (0 total issues) 45 49 46 50 Summary: ✓ 0 total issues (applied 1 rule) 47 51 ✓ All checks passed! ··· 58 62 ✓ Documentation (0 total issues) 59 63 ✓ Project Structure (0 total issues) 60 64 ✓ Test Quality (0 total issues) 65 + ✓ Interop Testing (0 total issues) 66 + ✓ Code Generation (0 total issues) 61 67 62 68 Summary: ✓ 0 total issues (applied 1 rule) 63 69 ✓ All checks passed! ··· 74 80 ✓ Documentation (0 total issues) 75 81 ✓ Project Structure (0 total issues) 76 82 ✓ Test Quality (0 total issues) 83 + ✓ Interop Testing (0 total issues) 84 + ✓ Code Generation (0 total issues) 77 85 78 86 Summary: ✓ 0 total issues (applied 1 rule) 79 87 ✓ All checks passed!
+6 -1
test/cram/e010.t/run.t
··· 16 16 ✓ Documentation (0 total issues) 17 17 ✓ Project Structure (0 total issues) 18 18 ✓ Test Quality (0 total issues) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭──────────────┬────────────────────╮ 21 23 │ Category │ Issues │ 22 - ├──────────────┼────────────────────┤│ Code Quality │ 1 (1 deep nesting) │ 24 + ├──────────────┼────────────────────┤ 25 + │ Code Quality │ 1 (1 deep nesting) │ 23 26 ╰──────────────┴────────────────────╯ 24 27 25 28 ··· 39 42 ✓ Documentation (0 total issues) 40 43 ✓ Project Structure (0 total issues) 41 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 42 47 43 48 Summary: ✓ 0 total issues (applied 1 rule) 44 49 ✓ All checks passed!
+6 -1
test/cram/e100.t/run.t
··· 17 17 ✓ Documentation (0 total issues) 18 18 ✓ Project Structure (0 total issues) 19 19 ✓ Test Quality (0 total issues) 20 + ✓ Interop Testing (0 total issues) 21 + ✓ Code Generation (0 total issues) 20 22 21 23 ╭──────────────┬────────────────────╮ 22 24 │ Category │ Issues │ 23 - ├──────────────┼────────────────────┤│ Code Quality │ 1 (1 no obj.magic) │ 25 + ├──────────────┼────────────────────┤ 26 + │ Code Quality │ 1 (1 no obj.magic) │ 24 27 ╰──────────────┴────────────────────╯ 25 28 26 29 ··· 40 43 ✓ Documentation (0 total issues) 41 44 ✓ Project Structure (0 total issues) 42 45 ✓ Test Quality (0 total issues) 46 + ✓ Interop Testing (0 total issues) 47 + ✓ Code Generation (0 total issues) 43 48 44 49 Summary: ✓ 0 total issues (applied 1 rule) 45 50 ✓ All checks passed!
+4
test/cram/e105.t/run.t
··· 15 15 ✓ Documentation (0 total issues) 16 16 ✓ Project Structure (0 total issues) 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭──────────────┬───────────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e110.t/run.t
··· 15 15 ✓ Documentation (0 total issues) 16 16 ✓ Project Structure (0 total issues) 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭────────────┬────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e200.t/run.t
··· 16 16 ✓ Documentation (0 total issues) 17 17 ✓ Project Structure (0 total issues) 18 18 ✓ Test Quality (0 total issues) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭────────────┬───────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed!
+4
test/cram/e205.t/run.t
··· 16 16 ✓ Documentation (0 total issues) 17 17 ✓ Project Structure (0 total issues) 18 18 ✓ Test Quality (0 total issues) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭────────────┬─────────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed!
+4
test/cram/e210.t/run.t
··· 16 16 ✓ Documentation (0 total issues) 17 17 ✓ Project Structure (0 total issues) 18 18 ✓ Test Quality (0 total issues) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭────────────┬────────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed!
+4
test/cram/e215.t/run.t
··· 14 14 ✓ Documentation (0 total issues) 15 15 ✓ Project Structure (0 total issues) 16 16 ✓ Test Quality (0 total issues) 17 + ✓ Interop Testing (0 total issues) 18 + ✓ Code Generation (0 total issues) 17 19 18 20 ╭────────────┬──────────────────────────────────────────────────────╮ 19 21 │ Category │ Issues │ ··· 38 40 ✓ Documentation (0 total issues) 39 41 ✓ Project Structure (0 total issues) 40 42 ✓ Test Quality (0 total issues) 43 + ✓ Interop Testing (0 total issues) 44 + ✓ Code Generation (0 total issues) 41 45 42 46 Summary: ✓ 0 total issues (applied 1 rule) 43 47 ✓ All checks passed!
+4
test/cram/e216.t/run.t
··· 16 16 ✓ Documentation (0 total issues) 17 17 ✓ Project Structure (0 total issues) 18 18 ✓ Test Quality (0 total issues) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭────────────┬────────────────────────────────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 41 43 ✓ Documentation (0 total issues) 42 44 ✓ Project Structure (0 total issues) 43 45 ✓ Test Quality (0 total issues) 46 + ✓ Interop Testing (0 total issues) 47 + ✓ Code Generation (0 total issues) 44 48 45 49 Summary: ✓ 0 total issues (applied 1 rule) 46 50 ✓ All checks passed!
+4
test/cram/e300.t/run.t
··· 17 17 ✓ Documentation (0 total issues) 18 18 ✓ Project Structure (0 total issues) 19 19 ✓ Test Quality (0 total issues) 20 + ✓ Interop Testing (0 total issues) 21 + ✓ Code Generation (0 total issues) 20 22 21 23 ╭────────────────────┬─────────────────────────────────╮ 22 24 │ Category │ Issues │ ··· 41 43 ✓ Documentation (0 total issues) 42 44 ✓ Project Structure (0 total issues) 43 45 ✓ Test Quality (0 total issues) 46 + ✓ Interop Testing (0 total issues) 47 + ✓ Code Generation (0 total issues) 44 48 45 49 Summary: ✓ 0 total issues (applied 1 rule) 46 50 ✓ All checks passed!
+4
test/cram/e305.t/run.t
··· 15 15 ✓ Documentation (0 total issues) 16 16 ✓ Project Structure (0 total issues) 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭────────────────────┬────────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e310.t/run.t
··· 16 16 ✓ Documentation (0 total issues) 17 17 ✓ Project Structure (0 total issues) 18 18 ✓ Test Quality (0 total issues) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭────────────────────┬───────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed!
+4
test/cram/e315.t/run.t
··· 15 15 ✓ Documentation (0 total issues) 16 16 ✓ Project Structure (0 total issues) 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭────────────────────┬──────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e320.t/run.t
··· 15 15 ✓ Documentation (0 total issues) 16 16 ✓ Project Structure (0 total issues) 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭────────────────────┬─────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e325.t/run.t
··· 16 16 ✓ Documentation (0 total issues) 17 17 ✓ Project Structure (0 total issues) 18 18 ✓ Test Quality (0 total issues) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭────────────────────┬──────────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed!
+8
test/cram/e330.t/run.t
··· 17 17 ✓ Documentation (0 total issues) 18 18 ✓ Project Structure (0 total issues) 19 19 ✓ Test Quality (0 total issues) 20 + ✓ Interop Testing (0 total issues) 21 + ✓ Code Generation (0 total issues) 20 22 21 23 ╭────────────────────┬─────────────────────────────╮ 22 24 │ Category │ Issues │ ··· 41 43 ✓ Documentation (0 total issues) 42 44 ✓ Project Structure (0 total issues) 43 45 ✓ Test Quality (0 total issues) 46 + ✓ Interop Testing (0 total issues) 47 + ✓ Code Generation (0 total issues) 44 48 45 49 Summary: ✓ 0 total issues (applied 1 rule) 46 50 ✓ All checks passed! ··· 57 61 ✓ Documentation (0 total issues) 58 62 ✓ Project Structure (0 total issues) 59 63 ✓ Test Quality (0 total issues) 64 + ✓ Interop Testing (0 total issues) 65 + ✓ Code Generation (0 total issues) 60 66 61 67 Summary: ✓ 0 total issues (applied 1 rule) 62 68 ✓ All checks passed! ··· 73 79 ✓ Documentation (0 total issues) 74 80 ✓ Project Structure (0 total issues) 75 81 ✓ Test Quality (0 total issues) 82 + ✓ Interop Testing (0 total issues) 83 + ✓ Code Generation (0 total issues) 76 84 77 85 Summary: ✓ 0 total issues (applied 1 rule) 78 86 ✓ All checks passed!
+4
test/cram/e331.t/run.t
··· 30 30 ✓ Documentation (0 total issues) 31 31 ✓ Project Structure (0 total issues) 32 32 ✓ Test Quality (0 total issues) 33 + ✓ Interop Testing (0 total issues) 34 + ✓ Code Generation (0 total issues) 33 35 34 36 ╭────────────────────┬─────────────────────────────────────╮ 35 37 │ Category │ Issues │ ··· 54 56 ✓ Documentation (0 total issues) 55 57 ✓ Project Structure (0 total issues) 56 58 ✓ Test Quality (0 total issues) 59 + ✓ Interop Testing (0 total issues) 60 + ✓ Code Generation (0 total issues) 57 61 58 62 Summary: ✓ 0 total issues (applied 1 rule) 59 63 ✓ All checks passed!
+4
test/cram/e332.t/run.t
··· 17 17 ✓ Documentation (0 total issues) 18 18 ✓ Project Structure (0 total issues) 19 19 ✓ Test Quality (0 total issues) 20 + ✓ Interop Testing (0 total issues) 21 + ✓ Code Generation (0 total issues) 20 22 21 23 ╭────────────────────┬──────────────────────────────╮ 22 24 │ Category │ Issues │ ··· 41 43 ✓ Documentation (0 total issues) 42 44 ✓ Project Structure (0 total issues) 43 45 ✓ Test Quality (0 total issues) 46 + ✓ Interop Testing (0 total issues) 47 + ✓ Code Generation (0 total issues) 44 48 45 49 Summary: ✓ 0 total issues (applied 1 rule) 46 50 ✓ All checks passed!
+6
test/cram/e335.t/run.t
··· 17 17 ✓ Documentation (0 total issues) 18 18 ✓ Project Structure (0 total issues) 19 19 ✓ Test Quality (0 total issues) 20 + ✓ Interop Testing (0 total issues) 21 + ✓ Code Generation (0 total issues) 20 22 21 23 ╭────────────────────┬────────────────────────────────────────╮ 22 24 │ Category │ Issues │ ··· 48 50 ✓ Documentation (0 total issues) 49 51 ✓ Project Structure (0 total issues) 50 52 ✓ Test Quality (0 total issues) 53 + ✓ Interop Testing (0 total issues) 54 + ✓ Code Generation (0 total issues) 51 55 52 56 ╭────────────────────┬────────────────────────────────────────╮ 53 57 │ Category │ Issues │ ··· 72 76 ✓ Documentation (0 total issues) 73 77 ✓ Project Structure (0 total issues) 74 78 ✓ Test Quality (0 total issues) 79 + ✓ Interop Testing (0 total issues) 80 + ✓ Code Generation (0 total issues) 75 81 76 82 Summary: ✓ 0 total issues (applied 1 rule) 77 83 ✓ All checks passed!
+4
test/cram/e340.t/run.t
··· 20 20 ✓ Documentation (0 total issues) 21 21 ✓ Project Structure (0 total issues) 22 22 ✓ Test Quality (0 total issues) 23 + ✓ Interop Testing (0 total issues) 24 + ✓ Code Generation (0 total issues) 23 25 24 26 ╭────────────┬───────────────────────────────╮ 25 27 │ Category │ Issues │ ··· 44 46 ✓ Documentation (0 total issues) 45 47 ✓ Project Structure (0 total issues) 46 48 ✓ Test Quality (0 total issues) 49 + ✓ Interop Testing (0 total issues) 50 + ✓ Code Generation (0 total issues) 47 51 48 52 Summary: ✓ 0 total issues (applied 1 rule) 49 53 ✓ All checks passed!
+4
test/cram/e350.t/run.t
··· 15 15 ✓ Documentation (0 total issues) 16 16 ✓ Project Structure (0 total issues) 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭──────────────┬─────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e351.t/run.t
··· 18 18 ✓ Documentation (0 total issues) 19 19 ✓ Project Structure (0 total issues) 20 20 ✓ Test Quality (0 total issues) 21 + ✓ Interop Testing (0 total issues) 22 + ✓ Code Generation (0 total issues) 21 23 22 24 ╭──────────────┬────────────────────────────────────╮ 23 25 │ Category │ Issues │ ··· 42 44 ✓ Documentation (0 total issues) 43 45 ✓ Project Structure (0 total issues) 44 46 ✓ Test Quality (0 total issues) 47 + ✓ Interop Testing (0 total issues) 48 + ✓ Code Generation (0 total issues) 45 49 46 50 Summary: ✓ 0 total issues (applied 1 rule) 47 51 ✓ All checks passed!
+6
test/cram/e400.t/run.t
··· 15 15 - (global) Module bad (bad.mli) is missing documentation comment 16 16 ✓ Project Structure (0 total issues) 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭───────────────┬─────────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed! ··· 58 62 ✓ Documentation (0 total issues) 59 63 ✓ Project Structure (0 total issues) 60 64 ✓ Test Quality (0 total issues) 65 + ✓ Interop Testing (0 total issues) 66 + ✓ Code Generation (0 total issues) 61 67 62 68 Summary: ✓ 0 total issues (applied 1 rule) 63 69 ✓ All checks passed!
+4
test/cram/e405.t/run.t
··· 16 16 - bad.mli:7:0: Public value 'missing_documentation' is missing documentation 17 17 ✓ Project Structure (0 total issues) 18 18 ✓ Test Quality (0 total issues) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭───────────────┬───────────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed!
+4
test/cram/e410.t/run.t
··· 20 20 - bad.mli:16:0: Documentation for 'create' has 1 args in doc but function takes 2 required args 21 21 ✓ Project Structure (0 total issues) 22 22 ✓ Test Quality (0 total issues) 23 + ✓ Interop Testing (0 total issues) 24 + ✓ Code Generation (0 total issues) 23 25 24 26 ╭───────────────┬───────────────────────────────╮ 25 27 │ Category │ Issues │ ··· 44 46 ✓ Documentation (0 total issues) 45 47 ✓ Project Structure (0 total issues) 46 48 ✓ Test Quality (0 total issues) 49 + ✓ Interop Testing (0 total issues) 50 + ✓ Code Generation (0 total issues) 47 51 48 52 Summary: ✓ 0 total issues (applied 1 rule) 49 53 ✓ All checks passed!
+6
test/cram/e415.t/run.t
··· 16 16 - bad.mli:1:0: Type 't' is missing standard functions: pp 17 17 ✓ Project Structure (0 total issues) 18 18 ✓ Test Quality (0 total issues) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭───────────────┬──────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed! ··· 56 60 ✓ Documentation (0 total issues) 57 61 ✓ Project Structure (0 total issues) 58 62 ✓ Test Quality (0 total issues) 63 + ✓ Interop Testing (0 total issues) 64 + ✓ Code Generation (0 total issues) 59 65 60 66 Summary: ✓ 0 total issues (applied 1 rule) 61 67 ✓ All checks passed!
+4
test/cram/e500.t/run.t
··· 14 14 ensure consistent code formatting. Create one with your preferred settings. 15 15 - (global) Project is missing .ocamlformat file for consistent formatting 16 16 ✓ Test Quality (0 total issues) 17 + ✓ Interop Testing (0 total issues) 18 + ✓ Code Generation (0 total issues) 17 19 18 20 ╭───────────────────┬────────────────────────────────╮ 19 21 │ Category │ Issues │ ··· 38 40 ✓ Documentation (0 total issues) 39 41 ✓ Project Structure (0 total issues) 40 42 ✓ Test Quality (0 total issues) 43 + ✓ Interop Testing (0 total issues) 44 + ✓ Code Generation (0 total issues) 41 45 42 46 Summary: ✓ 0 total issues (applied 1 rule) 43 47 ✓ All checks passed!
+6
test/cram/e505.t/run.t
··· 15 15 and provide a clean API. 16 16 - bad.ml:1:0: Library module bad.ml is missing interface file bad.mli 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭───────────────────┬────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed! ··· 55 59 ✓ Documentation (0 total issues) 56 60 ✓ Project Structure (0 total issues) 57 61 ✓ Test Quality (0 total issues) 62 + ✓ Interop Testing (0 total issues) 63 + ✓ Code Generation (0 total issues) 58 64 59 65 Summary: ✓ 0 total issues (applied 1 rule) 60 66 ✓ All checks passed!
+4
test/cram/e510.t/run.t
··· 14 14 log filtering. Add 'let src = Logs.Src.create "module.name" ~doc:"..."' 15 15 - bad.ml:1:0: Module 'Bad' uses logging but has no log source defined 16 16 ✓ Test Quality (0 total issues) 17 + ✓ Interop Testing (0 total issues) 18 + ✓ Code Generation (0 total issues) 17 19 18 20 ╭───────────────────┬──────────────────────────╮ 19 21 │ Category │ Issues │ ··· 38 40 ✓ Documentation (0 total issues) 39 41 ✓ Project Structure (0 total issues) 40 42 ✓ Test Quality (0 total issues) 43 + ✓ Interop Testing (0 total issues) 44 + ✓ Code Generation (0 total issues) 41 45 42 46 Summary: ✓ 0 total issues (applied 1 rule) 43 47 ✓ All checks passed!
+4
test/cram/e515.t/run.t
··· 15 15 (modules ...) to co-locate them in the same directory is discouraged. 16 16 - bad/lib/test_data.ml:1:0: Test 'test_data' and library 'data' are in the same directory 'bad/lib/' - move tests to a separate test/ directory 17 17 ✓ Test Quality (0 total issues) 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭───────────────────┬─────────────────────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 44 46 ✓ Documentation (0 total issues) 45 47 ✓ Project Structure (0 total issues) 46 48 ✓ Test Quality (0 total issues) 49 + ✓ Interop Testing (0 total issues) 50 + ✓ Code Generation (0 total issues) 47 51 48 52 Summary: ✓ 0 total issues (applied 1 rule) 49 53 ✓ All checks passed!
+4
test/cram/e600.t/run.t
··· 19 19 individual test_*.ml modules. 20 20 - bad/test.ml:1:0: Test file should use test module suites (e.g., Test_user.suite) instead of defining its own test list 21 21 - bad/test_user.mli:1:0: Test module interface should only export 'suite' with type string * unit Alcotest.test_case list 22 + ✓ Interop Testing (0 total issues) 23 + ✓ Code Generation (0 total issues) 22 24 23 25 ╭──────────────┬──────────────────────────────╮ 24 26 │ Category │ Issues │ ··· 51 53 and no other values. (3) Alcotest.run should only appear in test.ml, not in 52 54 individual test_*.ml modules. 53 55 - good/test_user.mli:1:0: Test module interface should only export 'suite' with type string * unit Alcotest.test_case list 56 + ✓ Interop Testing (0 total issues) 57 + ✓ Code Generation (0 total issues) 54 58 55 59 ╭──────────────┬──────────────────────────────╮ 56 60 │ Category │ Issues │
+4
test/cram/e605.t/run.t
··· 16 16 test_<module>.ml 17 17 - bad/lib/config.ml:1:0: Library module 'config' is missing test file (expected: bad/test/test_config.ml) 18 18 - bad/lib/parser.ml:1:0: Library module 'parser' is missing test file (expected: bad/test/test_parser.ml) 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭──────────────┬─────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed!
+6
test/cram/e606.t/run.t
··· 30 30 directory. Organize test files so that each test directory contains tests for 31 31 only one library to maintain clear test organization. 32 32 - bad/test_utils.ml:1:0: Test file 'test_utils.ml' tests library 'utils_lib' which is not explicitly declared in the test's dune file 33 + ✓ Interop Testing (0 total issues) 34 + ✓ Code Generation (0 total issues) 33 35 34 36 ╭──────────────┬────────────────────────────────────╮ 35 37 │ Category │ Issues │ ··· 54 56 ✓ Documentation (0 total issues) 55 57 ✓ Project Structure (0 total issues) 56 58 ✓ Test Quality (0 total issues) 59 + ✓ Interop Testing (0 total issues) 60 + ✓ Code Generation (0 total issues) 57 61 58 62 Summary: ✓ 0 total issues (applied 1 rule) 59 63 ✓ All checks passed! ··· 75 79 directory. Organize test files so that each test directory contains tests for 76 80 only one library to maintain clear test organization. 77 81 - bad3/test/test_feed.ml:1:0: Test file 'test_feed.ml' tests library 'views_lib' which is not explicitly declared in the test's dune file 82 + ✓ Interop Testing (0 total issues) 83 + ✓ Code Generation (0 total issues) 78 84 79 85 ╭──────────────┬────────────────────────────────────╮ 80 86 │ Category │ Issues │
+4
test/cram/e607.t/run.t
··· 17 17 files for multiple different libraries. Split tests into separate test 18 18 stanzas, one per library. 19 19 - bad/test/test_feed.ml:1:0: Test file 'test_feed.ml' tests library 'views_lib' but test stanza has no declared dependencies and mixes multiple libraries 20 + ✓ Interop Testing (0 total issues) 21 + ✓ Code Generation (0 total issues) 20 22 21 23 ╭──────────────┬────────────────────────────────────────────╮ 22 24 │ Category │ Issues │ ··· 41 43 ✓ Documentation (0 total issues) 42 44 ✓ Project Structure (0 total issues) 43 45 ✓ Test Quality (0 total issues) 46 + ✓ Interop Testing (0 total issues) 47 + ✓ Code Generation (0 total issues) 44 48 45 49 Summary: ✓ 0 total issues (applied 1 rule) 46 50 ✓ All checks passed!
+6
test/cram/e610.t/run.t
··· 16 16 that doesn't exist in the library. 17 17 - bad/test/test_old_feature.ml:1:0: Test file exists but corresponding library module 'old_feature.ml' not found 18 18 - bad/test/test_runner.ml:1:0: Test file exists but corresponding library module 'runner.ml' not found 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭──────────────┬────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed! ··· 56 60 ✓ Documentation (0 total issues) 57 61 ✓ Project Structure (0 total issues) 58 62 ✓ Test Quality (0 total issues) 63 + ✓ Interop Testing (0 total issues) 64 + ✓ Code Generation (0 total issues) 59 65 60 66 Summary: ✓ 0 total issues (applied 1 rule) 61 67 ✓ All checks passed!
+4
test/cram/e615.t/run.t
··· 15 15 All test modules should be included in the main test runner (test.ml). Add the 16 16 missing test suite to ensure all tests are run. 17 17 - bad/test/test.ml:1:0: Test module test_parser is not included in bad/test/test.ml 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭──────────────┬───────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e616.t/run.t
··· 18 18 - test_bad.ml:11:0: Use Alcotest.failf instead of Alcotest.fail (Fmt.str ...) - failf provides printf-style formatting directly 19 19 - test_bad.ml:18:0: Use Alcotest.failf instead of Alcotest.fail (Fmt.str ...) - failf provides printf-style formatting directly 20 20 - test_bad.ml:23:0: Use Alcotest.failf instead of Alcotest.fail (Fmt.str ...) - failf provides printf-style formatting directly 21 + ✓ Interop Testing (0 total issues) 22 + ✓ Code Generation (0 total issues) 21 23 22 24 ╭──────────────┬───────────────────────────────────────────╮ 23 25 │ Category │ Issues │ ··· 42 44 ✓ Documentation (0 total issues) 43 45 ✓ Project Structure (0 total issues) 44 46 ✓ Test Quality (0 total issues) 47 + ✓ Interop Testing (0 total issues) 48 + ✓ Code Generation (0 total issues) 45 49 46 50 Summary: ✓ 0 total issues (applied 1 rule) 47 51 ✓ All checks passed!
+12
test/cram/e617.t/run.t
··· 16 16 example, test_foo.ml should have suite name 'foo'. This makes it easier to 17 17 identify which test file contains which suite. 18 18 - test_bad.ml:3:0: Test suite name 'BadName' should be lowercase - use 'badname' instead 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭──────────────┬────────────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 45 47 example, test_foo.ml should have suite name 'foo'. This makes it easier to 46 48 identify which test file contains which suite. 47 49 - test_config.ml:5:0: Test suite name 'Config' should be lowercase - use 'config' instead 50 + ✓ Interop Testing (0 total issues) 51 + ✓ Code Generation (0 total issues) 48 52 49 53 ╭──────────────┬────────────────────────────────────╮ 50 54 │ Category │ Issues │ ··· 74 78 example, test_foo.ml should have suite name 'foo'. This makes it easier to 75 79 identify which test file contains which suite. 76 80 - test_parser.ml:5:0: Test suite name 'parser-tests' should use snake_case naming convention 81 + ✓ Interop Testing (0 total issues) 82 + ✓ Code Generation (0 total issues) 77 83 78 84 ╭──────────────┬────────────────────────────────────╮ 79 85 │ Category │ Issues │ ··· 103 109 example, test_foo.ml should have suite name 'foo'. This makes it easier to 104 110 identify which test file contains which suite. 105 111 - test_user_auth.ml:5:0: Test suite name 'auth' should match the filename - expected 'user_auth' 112 + ✓ Interop Testing (0 total issues) 113 + ✓ Code Generation (0 total issues) 106 114 107 115 ╭──────────────┬────────────────────────────────────╮ 108 116 │ Category │ Issues │ ··· 133 141 example, test_foo.ml should have suite name 'foo'. This makes it easier to 134 142 identify which test file contains which suite. 135 143 - test_multiline.ml:6:0: Test suite name 'Multiline' should be lowercase - use 'multiline' instead 144 + ✓ Interop Testing (0 total issues) 145 + ✓ Code Generation (0 total issues) 136 146 137 147 ╭──────────────┬────────────────────────────────────╮ 138 148 │ Category │ Issues │ ··· 157 167 ✓ Documentation (0 total issues) 158 168 ✓ Project Structure (0 total issues) 159 169 ✓ Test Quality (0 total issues) 170 + ✓ Interop Testing (0 total issues) 171 + ✓ Code Generation (0 total issues) 160 172 161 173 Summary: ✓ 0 total issues (applied 1 rule) 162 174 ✓ All checks passed!
+4
test/cram/e618.t/run.t
··· 17 17 should either be extracted into a private (library ...) stanza or renamed to 18 18 test_<module>.ml. 19 19 - bad/test/helpers.ml:1:0: File 'helpers.ml' in test stanza 'test' does not follow the test_ naming convention - extract into a private (library ...) stanza or rename to test_helpers.ml 20 + ✓ Interop Testing (0 total issues) 21 + ✓ Code Generation (0 total issues) 20 22 21 23 ╭──────────────┬────────────────────────────────────╮ 22 24 │ Category │ Issues │ ··· 46 48 ✓ Documentation (0 total issues) 47 49 ✓ Project Structure (0 total issues) 48 50 ✓ Test Quality (0 total issues) 51 + ✓ Interop Testing (0 total issues) 52 + ✓ Code Generation (0 total issues) 49 53 50 54 Summary: ✓ 0 total issues (applied 1 rule) 51 55 ✓ All checks passed!
+4
test/cram/e620.t/run.t
··· 16 16 runner (test.ml). Multiple test stanzas in the same directory cause module 17 17 ownership conflicts and break @check builds. 18 18 - bad/test/dune:1:0: Directory 'bad/test/' has 2 test stanzas (test, test_extra) - use a single test runner per directory 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭──────────────┬──────────────────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed!
+4
test/cram/e621.t/run.t
··· 17 17 expected behaviour through concrete examples. A suite with no test cases will 18 18 never catch regressions. 19 19 - bad/test_parser.ml:1:0: Test suite 'parser' is empty — add meaningful tests covering the public API, edge cases, and error paths 20 + ✓ Interop Testing (0 total issues) 21 + ✓ Code Generation (0 total issues) 20 22 21 23 ╭──────────────┬────────────────────────╮ 22 24 │ Category │ Issues │ ··· 41 43 ✓ Documentation (0 total issues) 42 44 ✓ Project Structure (0 total issues) 43 45 ✓ Test Quality (0 total issues) 46 + ✓ Interop Testing (0 total issues) 47 + ✓ Code Generation (0 total issues) 44 48 45 49 Summary: ✓ 0 total issues (applied 1 rule) 46 50 ✓ All checks passed!
+4
test/cram/e700.t/run.t
··· 15 15 rather than defining test_case directly. This keeps fuzz tests organized 16 16 per-module. 17 17 - bad/fuzz/fuzz.ml:1:0: Fuzz runner 'fuzz.ml' defines tests inline - use Fuzz_*.suite to delegate to fuzz modules 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭──────────────┬──────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e705.t/run.t
··· 15 15 'suite : string * Alcobar.test_case list'. This enforces proper encapsulation 16 16 of fuzz test internals. 17 17 - bad/fuzz/fuzz_parser.ml:1:0: Fuzz module bad/fuzz/fuzz_parser.ml is missing interface file bad/fuzz/fuzz_parser.mli 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭──────────────┬─────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e710.t/run.t
··· 15 15 module (<module>.ml). This ensures fuzz tests are testing actual library 16 16 functionality. 17 17 - bad/fuzz/fuzz_missing.ml:1:0: Fuzz file exists but corresponding library module 'missing' not found 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭──────────────┬────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e715.t/run.t
··· 14 14 All fuzz modules should be included in the fuzz runner (fuzz.ml) via 15 15 Fuzz_*.suite references. This ensures all fuzz tests are actually executed. 16 16 - bad/fuzz/fuzz.ml:1:0: Fuzz module fuzz_parser is not included in bad/fuzz/fuzz.ml 17 + ✓ Interop Testing (0 total issues) 18 + ✓ Code Generation (0 total issues) 17 19 18 20 ╭──────────────┬────────────────────────────────╮ 19 21 │ Category │ Issues │ ··· 38 40 ✓ Documentation (0 total issues) 39 41 ✓ Project Structure (0 total issues) 40 42 ✓ Test Quality (0 total issues) 43 + ✓ Interop Testing (0 total issues) 44 + ✓ Code Generation (0 total issues) 41 45 42 46 Summary: ✓ 0 total issues (applied 1 rule) 43 47 ✓ All checks passed!
+4
test/cram/e718.t/run.t
··· 18 18 - bad/fuzz/dune:1:0: Fuzz directory 'bad/fuzz/' has fuzz_* modules but is missing fuzz.ml runner 19 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 + ✓ Interop Testing (0 total issues) 22 + ✓ Code Generation (0 total issues) 21 23 22 24 ╭──────────────┬───────────────────────────────────────╮ 23 25 │ Category │ Issues │ ··· 48 50 must use fuzz.exe --gen-corpus in its dune rule. 49 51 - good/fuzz/dune:1:0: Fuzz directory 'good/fuzz/' is missing --gen-corpus in fuzz dune rule 50 52 - 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 53 + ✓ Interop Testing (0 total issues) 54 + ✓ Code Generation (0 total issues) 51 55 52 56 ╭──────────────┬───────────────────────────────────────╮ 53 57 │ Category │ Issues │
+4
test/cram/e720.t/run.t
··· 16 16 fuzz runner (fuzz.ml). Use (modules ...) to list all fuzz modules in a single 17 17 stanza. 18 18 - bad/fuzz/dune:1:0: Directory 'bad/fuzz/' has 2 fuzz stanzas (fuzz, fuzz_extra) - use a single fuzz runner per directory 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭──────────────┬──────────────────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 40 42 ✓ Documentation (0 total issues) 41 43 ✓ Project Structure (0 total issues) 42 44 ✓ Test Quality (0 total issues) 45 + ✓ Interop Testing (0 total issues) 46 + ✓ Code Generation (0 total issues) 43 47 44 48 Summary: ✓ 0 total issues (applied 1 rule) 45 49 ✓ All checks passed!
+4
test/cram/e721.t/run.t
··· 15 15 Fuzz directories should be at the same level as test directories (siblings), 16 16 not nested inside them. Move fuzz/ to be a sibling of test/. 17 17 - bad/test/fuzz/dune:1:0: Fuzz directory 'bad/test/fuzz/' is nested inside a test directory - fuzz/ should be a sibling of test/, not nested inside it 18 + ✓ Interop Testing (0 total issues) 19 + ✓ Code Generation (0 total issues) 18 20 19 21 ╭──────────────┬────────────────────────────────╮ 20 22 │ Category │ Issues │ ··· 39 41 ✓ Documentation (0 total issues) 40 42 ✓ Project Structure (0 total issues) 41 43 ✓ Test Quality (0 total issues) 44 + ✓ Interop Testing (0 total issues) 45 + ✓ Code Generation (0 total issues) 42 46 43 47 Summary: ✓ 0 total issues (applied 1 rule) 44 48 ✓ All checks passed!
+4
test/cram/e722.t/run.t
··· 17 17 enables property-based testing during dune test and separate AFL campaign 18 18 workflows. 19 19 - bad/fuzz/dune:1:0: Fuzz stanza 'fuzz_parser' uses (test ...) - use (executable ...) with (rule (alias runtest) ...) instead 20 + ✓ Interop Testing (0 total issues) 21 + ✓ Code Generation (0 total issues) 20 22 21 23 ╭──────────────┬─────────────────────────────╮ 22 24 │ Category │ Issues │ ··· 41 43 ✓ Documentation (0 total issues) 42 44 ✓ Project Structure (0 total issues) 43 45 ✓ Test Quality (0 total issues) 46 + ✓ Interop Testing (0 total issues) 47 + ✓ Code Generation (0 total issues) 44 48 45 49 Summary: ✓ 0 total issues (applied 1 rule) 46 50 ✓ All checks passed!
+4
test/cram/e724.t/run.t
··· 16 16 testing during dune test, and (rule (alias fuzz) ...) using fuzz.exe 17 17 --gen-corpus for AFL fuzzing campaigns. 18 18 - bad/fuzz/dune:1:0: Fuzz directory 'bad/fuzz/' is missing both (rule (alias runtest) ...) and (rule (alias fuzz) ...) build rules 19 + ✓ Interop Testing (0 total issues) 20 + ✓ Code Generation (0 total issues) 19 21 20 22 ╭──────────────┬────────────────────────────────╮ 21 23 │ Category │ Issues │ ··· 50 52 testing during dune test, and (rule (alias fuzz) ...) using fuzz.exe 51 53 --gen-corpus for AFL fuzzing campaigns. 52 54 - good/fuzz/dune:1:0: Fuzz directory 'good/fuzz/' (alias fuzz) rule should use fuzz.exe --gen-corpus to generate seed corpus 55 + ✓ Interop Testing (0 total issues) 56 + ✓ Code Generation (0 total issues) 53 57 54 58 ╭──────────────┬────────────────────────────────╮ 55 59 │ Category │ Issues │
+4
test/cram/e725.t/run.t
··· 14 14 Fuzz tests must declare let suite = ("<module>", [...]) where <module> matches 15 15 the filename: fuzz_<module>.ml should use suite:"<module>". 16 16 - bad/fuzz/fuzz_parser.ml:1:0: Fuzz suite "wrong_name" should be "parser" 17 + ✓ Interop Testing (0 total issues) 18 + ✓ Code Generation (0 total issues) 17 19 18 20 ╭──────────────┬────────────────────────────────╮ 19 21 │ Category │ Issues │ ··· 43 45 ✓ Documentation (0 total issues) 44 46 ✓ Project Structure (0 total issues) 45 47 ✓ Test Quality (0 total issues) 48 + ✓ Interop Testing (0 total issues) 49 + ✓ Code Generation (0 total issues) 46 50 47 51 Summary: ✓ 0 total issues (applied 1 rule) 48 52 ✓ All checks passed!
+4
test/cram/e726.t/run.t
··· 18 18 tests miss. A suite with no test cases will never find bugs. 19 19 - bad/fuzz_encoder.ml:3:0: Fuzz suite 'encoder' is empty — add meaningful fuzz tests covering parsers, encoders, state machines, and edge cases 20 20 - bad/fuzz_parser.ml:1:0: Fuzz suite 'parser' is empty — add meaningful fuzz tests covering parsers, encoders, state machines, and edge cases 21 + ✓ Interop Testing (0 total issues) 22 + ✓ Code Generation (0 total issues) 21 23 22 24 ╭──────────────┬────────────────────────╮ 23 25 │ Category │ Issues │ ··· 42 44 ✓ Documentation (0 total issues) 43 45 ✓ Project Structure (0 total issues) 44 46 ✓ Test Quality (0 total issues) 47 + ✓ Interop Testing (0 total issues) 48 + ✓ Code Generation (0 total issues) 45 49 46 50 Summary: ✓ 0 total issues (applied 1 rule) 47 51 ✓ All checks passed!