@@ -20,12 +20,15 @@ the driver does not provide coverage-guided testing of the compiler.
2020
2121Prepare the checked-in text seeds beneath root ` build/ ` before running. The driver consumes
2222two control bytes (source language modulo four; target low bit), followed by the unchanged
23- source bytes. The preparer makes both JavaScript and cpp variants for every source seed and
24- refuses output outside ` build/ ` . Do not feed unframed text to the driver or write mutations
25- into the checked-in source corpus:
23+ source bytes. The C++17 preparer uses binary streams to preserve CRLF, LF, and UTF-8 bytes on
24+ every platform. It makes both JavaScript and cpp variants for every source seed and refuses
25+ output outside ` build/ ` , including nested symlink escapes. Do not feed unframed text to the
26+ driver or write mutations into the checked-in source corpus:
2627
2728``` sh
29+ cmake --build build/fuzz --target mpf-transpiler-fuzzer mpf-fuzz-corpus-preparer
2830cmake -DSOURCE_DIR=" $PWD " -DCORPUS_DIR=" $PWD /build/fuzz/framed-corpus" \
31+ -DPREPARER=" $PWD /build/fuzz/tests/mpf-fuzz-corpus-preparer" \
2932 -P tests/fuzz/prepare_corpus.cmake
3033build/fuzz/tests/mpf-transpiler-fuzzer build/fuzz/framed-corpus \
3134 -runs=1000 -max_len=4096 -artifact_prefix=build/fuzz/
@@ -35,4 +38,6 @@ A framed crashing input can be replayed by passing the file to `mpf-transpiler-f
3538minimized into ` build/fuzz/ ` with libFuzzer's
3639` -minimize_crash=1 -exact_artifact_path=<output> ` workflow. ` mpf-fuzz-smoke ` consumes the
3740original language-directory text format, not framed libFuzzer artifacts. The corpus contract
38- checks every language/target prefix and payload byte plus source-directory write rejection.
41+ checks every language/target prefix and payload byte, mixed CRLF/LF and UTF-8 fixtures, and
42+ source-directory write rejection. Where symlinks are supported, it also checks nested output
43+ symlink escapes. CMake orchestrates the preparer; it does not perform text-mode seed encoding.
0 commit comments