Skip to content

Eliminate .cmp files #102

@aantron

Description

@aantron

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions