Commit graph

5 commits

Author SHA1 Message Date
Amaan Cheval 91cc94e556 Coverage Reporter: Log raw JSON data for additional analyses as well 2020-07-21 20:10:13 -05:00
Amaan Cheval 413468f0bb Make sure total_blocks is parsed as a number 2020-07-21 20:10:13 -05:00
Amaan Cheval 538a2cb64c Major refactor for coverage logger
- Moved all helper functions to coverage.js
- Refactor individual cov_*[func_id] objects to coverage[func_id].*
- Write coverage data to its own directory (./build/coverage/coverage_data*)
- Enable/disable coverage logging in do_many_cycles to account for exceptions
- Better naming
- Minor stylistic refactoring
2020-07-21 20:10:13 -05:00
Amaan Cheval 6362afa4c1 Minor cleanup for cov-report 2020-07-21 20:10:13 -05:00
Amaan Cheval bb5c84973e Add coverage-reporter
It looks for files in ./build/cov_data_fn_name_XX where XX=number of conditional
blocks in fn_name, and parses the binary data contained within to find which
blocks are missing.

Reports are generated in ./tests/coverage/build/report_XX where XX is
incremented to allow us to see how the coverage changes over time.

Note:

- The cov_data_* generated needs to be manually deleted if we want to compare 2
  individual coverage runs.
- We currently ignore the 0th block (LLVM marks it as visited when a function is
  entered).
2020-07-21 20:10:13 -05:00