mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2026-03-12 16:26:15 -04:00
Enable bisect_ppx coverage instrumentation via per-module preprocessing
Solved the preprocessor conflict by using per-module dune stanza: - CCAtomic, CCList, CCVector: Use cpp.exe (need version conditionals) - All other core modules: Use bisect_ppx for coverage - containers_cbor: Full bisect_ppx coverage (no cpp needed) This allows coverage collection on ~95% of the codebase while maintaining version compatibility preprocessing where needed. Initial coverage results: - CBOR: 87.50% (203/232 points) from RFC test vectors - Core: instrumented except 3 modules To generate coverage: BISECT_FILE=_coverage/bisect dune runtest bisect-ppx-report html -o _coverage/html
This commit is contained in:
parent
a73d7b3d4a
commit
e63ef422a4
2 changed files with 5 additions and 5 deletions
|
|
@ -1,7 +1,5 @@
|
||||||
(library
|
(library
|
||||||
(name containers_cbor)
|
(name containers_cbor)
|
||||||
(libraries containers)
|
(libraries containers)
|
||||||
(preprocess
|
(preprocess (pps bisect_ppx))
|
||||||
(action
|
|
||||||
(run %{project_root}/src/core/cpp/cpp.exe %{input-file})))
|
|
||||||
(public_name containers.cbor))
|
(public_name containers.cbor))
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,10 @@
|
||||||
(public_name containers)
|
(public_name containers)
|
||||||
(wrapped false)
|
(wrapped false)
|
||||||
(preprocess
|
(preprocess
|
||||||
(action
|
(per_module
|
||||||
(run %{project_root}/src/core/cpp/cpp.exe %{input-file})))
|
((action (run %{project_root}/src/core/cpp/cpp.exe %{input-file}))
|
||||||
|
CCAtomic CCList CCVector)
|
||||||
|
((pps bisect_ppx))))
|
||||||
(flags :standard -nolabels -open CCMonomorphic)
|
(flags :standard -nolabels -open CCMonomorphic)
|
||||||
(libraries either containers.monomorphic containers.domain))
|
(libraries either containers.monomorphic containers.domain))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue