# comrak — CommonMark + GFM parser/renderer (Rust) # Selection vs SPEC §6: CPU-bound parser; upstream spec test suite; # upstream-defined benchmark workload (benches/bench.sh, Pro Git book); # BSD-2-Clause; active, no dedicated perf team. [source] repo = "https://github.com/kivikakk/comrak.git" commit = "45c1995fe922b6d5782b971a377721f088025fc8" # v0.53.0 license = "BSD-2-Clause" [source.submodules] # Upstream benchmark corpus (Pro Git book, all translations). "vendor/progit" = { repo = "https://github.com/progit/progit.git", commit = "61833a527c6ac0c44cc40793c034b81599c25efc" } [fetch] # targets/*/workspace is gitignored; reproduce it with: # git clone workspace && git -C workspace checkout # git clone workspace/vendor/progit && git -C ... checkout [build] baseline = "CARGO_TARGET_DIR={out} cargo build --release --manifest-path targets/comrak/workspace/Cargo.toml" binary = "{out}/release/comrak" sanitizer = "CARGO_TARGET_DIR={out} RUSTFLAGS='-Zsanitizer=address' cargo +nightly build --target x86_64-unknown-linux-gnu --manifest-path targets/comrak/workspace/Cargo.toml" sanitizer_binary = "{out}/x86_64-unknown-linux-gnu/debug/comrak" [bench] # Upstream workload (benches/bench.sh): full Pro Git book through the # renderer, output discarded. Corpus pinned via corpora/comrak/MANIFEST.sha256. command = "cat corpora/comrak/progit.md | {binary} > /dev/null" workload = "Pro Git book, all translations, 11.0 MB concatenated markdown, single stream" [gates] tests = "cargo test --release --manifest-path targets/comrak/workspace/Cargo.toml" # Golden replay: corpus through the binary, stdout must be byte-identical. golden = "cat corpora/comrak/progit.md | {binary}" # Differential fuzz, pipeline-integrated: diff-test substitutes {iters}, # {baseline} (the pristine binary the accept path rebuilds) and {candidate}, # then parses the script's final FUZZ-RESULT line. The harness owns where the # pristine build lands, so the script takes the baseline from argv and never # hardcodes a path; paths may be repo-root-relative or absolute. fuzz = "python3 scripts/diff-fuzz-comrak.py targets/comrak/fuzz-work {iters} {baseline} {candidate}" [corpus] manifest = "corpora/comrak/MANIFEST.sha256" root = "corpora/comrak" golden_sha256 = "corpora/comrak/GOLDEN.sha256"