nvc icon indicating copy to clipboard operation
nvc copied to clipboard

Minor Code coverage improvements

Open Blebowski opened this issue 9 months ago • 0 comments

This is just a note to track couple of code coverage improvements that I am aware of that are not recorded anywhere:

  1. [ ] Allow specifying an entity name as DUT to collect in coverage specification file. This would be similar to "block", but it would work hierarchically. Related to question in: https://github.com/OSVVM/OSVVM-Scripts/issues/52#issuecomment-2764322360
  2. [x] Allow dropping coverage items when merging COVDBs. If an item is not in a "new" DB being merged, it could be dropped from the resulting DB. There would be two modes of operation: "union" - as now, "intersect" - the new mode.
  3. [x] Column ordering in HTML report does not work if some cell contains "N/A" -> Javascript sorting f-tion does not take this into account.
  4. [x] When generating code-coverage report, bundle the underlying source-code files (File keyword in header) with the report itself (e.g. as next HTML pages). When running code coverage in Docker env, merging the report and downloading the artifacts, the references to source files do not work since the artifacts are unpacked at arbitrary place. Idea is to generate supplementary HTML files (e.g. one per source file), that would only contain the whole text of the source file. Such HTML file would be then opened when clicking on the "file" in the HTML header. Drawback is the size of the report folder will get bigger. But the current displaying of "code location" could maybe then be reworked to reference the code location from the other HTML file instead of printing it directly into the HTML report. This could then even reduce size of the generated report.
  5. [x] Fix reporting of "if/generate", "for-generate". In the hierarchy navigator tree, such scopes create an entry:

Image But there is not HTML report for this scope. Clicking on the entry in the hierarchy navigator tree leads to non-existing HTML. Further, if there is e.g. for-generate, and in such for-generate there is another instance, it is hard to distinguish between the instances, e.g.:

Image

In the example above, there is my_generate: for generate 1 to 8 with txt_buffer_inst in each generate. Instead of having the txt_buffer_inst there shall be something like my_generate(0) ... my_generate(8).

Blebowski avatar Mar 30 '25 15:03 Blebowski