Skip to content

Associative Coverage Merge in Riviera-PRO #83

Description

@tsmelt

In addition to the standard code coverage report, I like to use the coverage ranking feature of Riviera-PRO to determine how each test case contributes to the total coverage. Unfortunately, I can't just call acdb rank on the build's merged coverage database since vendor_MergeCodeCoverage doesn't use the -associative option for acdb merge. It would be nice to have this option enabled:

acdb merge -o ${CoverageFileBaseName}.acdb -i {*}[join $CovFiles " -i "]

Activity

  1. JimLewis commented on Apr 27, 2026

    @JimLewis
    Member

    Please list what you would like the command line changed to. Is it appropriate to always set this option? It should be an easy add. It may require a SetExtendedMergeOptions to make the setting optional and/or configurable.

  2. tsmelt commented on May 4, 2026

    @tsmelt
    Author

    The command line would be changed to:
    acdb merge -associative -o ${CoverageFileBaseName}.acdb -i {*}[join $CovFiles " -i "]

    From what I can tell from the Riviera documentation, the -associative option just includes additional information in the merged database and it should be fine to always set. Using the OSVVM 2025.06a release, I ran build RunDemoTestsWithCoverage.pro both with and without the option set. With the option set, the merged database file was about 11% larger. The cumulative coverage numbers in the html report were identical, but the report shows handy information about which test(s) cover each statement or branch:

    Image
  3. JimLewis commented on Oct 10, 2026

    @JimLewis
    Member

    This can now be selected by setting the variable ExtendedMergeOptions to "-associative" - which is now the default for RivieraPro, ActiveHDL, and VSimSA. These updates are on the Dev branch and will move to the main branch during the next release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions