-
Notifications
You must be signed in to change notification settings - Fork 86
Add code coverage using bisect_ppx #352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
We'll need to figure out how not to break Merlin. |
8e32cd3
to
9e00e47
Compare
Marking as a draft while I work on fixing the build failure with coverage enabled. |
0089518
to
dd1b698
Compare
b015824
to
185a94e
Compare
With coverage enable, you seem to skip the stage2 build. In that situation, is it possible to run the testsuite ? (since at the end of stage1, we haven't yet build an flambda2-compatible stdlib) |
Not the upstream testsuite, but we can run all (well, both) of our tests. |
Converting to draft. There seems to be a bug in |
6eeb284
to
90d7bb6
Compare
Coverage is enabled by passing `--enable-coverage` to `./configure`. It's intended that mostly only CI builds will use it, since only the boot compiler can be built (which suffices for running tests).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks good except for a couple of minor comments. We can make incremental fixes if something's wrong.
ce76e02 flambda-backend: Bugfix for type_application (#746) 44f3afb flambda-backend: PR580 for main branch (#743) b851eaa flambda-backend: Backport first part of ocaml/ocaml PR10498 (#737) fafb4bd flambda-backend: Fix return mode for eta-expanded function in type_argument (#735) c31f6c3 flambda-backend: Fix treatment of functions called [@nontail] (#725) 847781e flambda-backend: Fix build_upstream post-PR703 (#712) bfcbbf8 flambda-backend: Extend Pblock value kind to handle variants (#703) b2cab95 flambda-backend: Merge ocaml-jst a6d6e0e flambda-backend: Merge ocaml-jst 88a4f63 flambda-backend: Use Pmakearray for immutable arrays (#699) eeaa44b flambda-backend: Install an ocamldoc binary (#695) 48d322b flambda-backend: Ensure that GC is not invoked from bounds check failures (#681) 4370fa1 flambda-backend: Review changes of term directory (#602) 65a4566 flambda-backend: Add code coverage using bisect_ppx (#352) 63ab65f flambda-backend: Bugfix for primitive inclusion (#662) 7e3e0c8 flambda-backend: Fix inclusion checks for primitives (#661) 96c68f9 flambda-backend: Speed up linking by changing cmxa format (#607) 1829150 flambda-backend: Bugfix for Translmod.all_idents (#659) git-subtree-dir: ocaml git-subtree-split: ce76e02
b7ec31d47 Don't check the names of unprefixed compilation units 4da7b7519 Fix compilation f012913f3 Code review 204fdff1c Fix compilation on Power e7ebe5b11 Code review b3f462cae Temporarily allow `.cinaps` as the name of a compilation unit 01a9585d1 Fix `opttoploop.ml` compilation 2864c3463 Replace `Compilenv.make_symbol` in all archs 96d2760cd Simpler symbols 67b25c1 Merge flambda-backend changes b2cab95 flambda-backend: Merge ocaml-jst a6d6e0e flambda-backend: Merge ocaml-jst 88a4f63 flambda-backend: Use Pmakearray for immutable arrays (ocaml-flambda#699) eeaa44b flambda-backend: Install an ocamldoc binary (ocaml-flambda#695) 48d322b flambda-backend: Ensure that GC is not invoked from bounds check failures (ocaml-flambda#681) 4370fa1 flambda-backend: Review changes of term directory (ocaml-flambda#602) 65a4566 flambda-backend: Add code coverage using bisect_ppx (ocaml-flambda#352) 63ab65f flambda-backend: Bugfix for primitive inclusion (ocaml-flambda#662) 7e3e0c8 flambda-backend: Fix inclusion checks for primitives (ocaml-flambda#661) 96c68f9 flambda-backend: Speed up linking by changing cmxa format (ocaml-flambda#607) 1829150 flambda-backend: Bugfix for Translmod.all_idents (ocaml-flambda#659) git-subtree-dir: ocaml git-subtree-split: b7ec31d4701dd0d3c63b9fa241dac6b983ef84f5
Coverage is enabled by passing
--enable-coverage
to./configure
. It's intended that mostly only CI builds will use it, since only the boot compiler can be built (which suffices for running tests).