···11+let () =
22+ let ic = open_in "traces/sample.bin" in
33+ ignore (input_char ic);
44+ close_in ic
+48
test/cram/e803.t/run.t
···11+Test bad example - test.ml calls Sys.command:
22+ $ merlint -B -r E803 bad/
33+ Running merlint analysis...
44+55+ Analyzing 0 files
66+77+ ✓ Code Quality (0 total issues)
88+ ✓ Code Style (0 total issues)
99+ ✓ Naming Conventions (0 total issues)
1010+ ✓ Documentation (0 total issues)
1111+ ✓ Project Structure (0 total issues)
1212+ ✓ Test Quality (0 total issues)
1313+ ✗ Interop Testing (1 total issues)
1414+ [E803] Interop test requires external tool (1 issue)
1515+ Interop tests must run from committed traces without needing the external tool
1616+ at test time. The test.ml should only read trace files, never shell out to run
1717+ the oracle. If you need the oracle, put it in the generator script.
1818+ - (global) Interop test bad/foo/test/interop/oracle/test.ml calls Sys.command — test must run from traces alone
1919+ ✓ Code Generation (0 total issues)
2020+2121+ ╭─────────────────┬───────────────────────────────────────────╮
2222+ │ Category │ Issues │
2323+ ├─────────────────┼───────────────────────────────────────────┤
2424+ │ Interop Testing │ 1 (1 interop test requires external tool) │
2525+ ╰─────────────────┴───────────────────────────────────────────╯
2626+2727+2828+ Summary: ✗ 1 total issue (applied 1 rule)
2929+ ✗ Some checks failed. See details above.
3030+ [1]
3131+3232+Test good example - test.ml only reads trace files:
3333+ $ merlint -B -r E803 good/
3434+ Running merlint analysis...
3535+3636+ Analyzing 0 files
3737+3838+ ✓ Code Quality (0 total issues)
3939+ ✓ Code Style (0 total issues)
4040+ ✓ Naming Conventions (0 total issues)
4141+ ✓ Documentation (0 total issues)
4242+ ✓ Project Structure (0 total issues)
4343+ ✓ Test Quality (0 total issues)
4444+ ✓ Interop Testing (0 total issues)
4545+ ✓ Code Generation (0 total issues)
4646+4747+ Summary: ✓ 0 total issues (applied 1 rule)
4848+ ✓ All checks passed!