Skip to content
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

Eliminate .cmp files #102

Closed
aantron opened this issue Jun 4, 2016 · 0 comments
Closed

Eliminate .cmp files #102

aantron opened this issue Jun 4, 2016 · 0 comments

Comments

@aantron
Copy link
Owner

aantron commented Jun 4, 2016

Christian Lindig (@lindig) has suggested providing a report mode that doesn't require reading the .cmp files, which would be useful in testing environments where they are not readily available (note: see lindig/bisect-summary). In fact, bisect-ppx-report -text - -summary-only doesn't actually need the .cmp (or source) files, but it reads them anyway.

I think it's a good idea to do this at least for -text -summary-only, and probably -text, in any case, but we should remove .cmp files entirely.

  • A .cmp file is basically a point list: for each point, its offset into the file and kind. We could inline this information at the top level of each instrumented file, and write it into .out files. bisect-ppx-report would then deduplicate this information when reading those files.
  • I never was fully comfortable with the instrumenter writing .cmp files next to the source files as a side effect of operation. That works out fine under some build systems like Ocamlbuild, because the build is done on copies of source in _build, but it seems messy otherwise (even if only as messy as having .cm[iox] files everywhere).
  • It should no longer be necessary to use -I with any output mode except HTML, because HTML needs to find the source files.

EDIT: -summary-only does print point kinds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant