Skip to content

Add missing jobs to coverage test

Description

  • Split up STV and LTV coverage jobs
    • LTV run takes just under 3 hours
    • STV run takes about 1 hour
  • Try to add a job that merges coverage
  • Switch to CMake for GCOV builds so that ivas_lc3plus_unit_test can also be built (not part of makefile).
  • Add jobs to coverage test:
    • LTV tests with differing decoder framesizes
    • LTV jobs for renderer
    • Split rendering test
    • VoIP BE tests
    • BE vs EXT test
    • LC3plus wrapper unit test

STV Coverage

Before

image

After

image

LTV Coverage

Before

image

After 1 - LTV only (LTV is no longer incremental due to separate job)

image

After 2 - Combined coverage (Previously LTV coverage)

image

Notes on combining coverage files

Multiple coverage files can be combined with -a or --add-tracefile:

lcov -a coverage_ltv.info -a coverage_stv.info -o coverage_stv_ltv.info
# or
lcov --add-tracefile *.info

However, the .info files contain a common prefix with the path to the source files. This must be replaced!

This can be done using sed or similar, otherwise genhtml will fail and complain about missing files.

nvim -c ":%s/\/home\/gitlab-runner\/builds\/rZGLsUF28\/0\/rep\/ivas-codec-pc/\/Users\/tmu\/git/g" coverage_stv.info

This is important to know for the future job that will combine the coverage output from multiple jobs.

I have tried to replace the cwd with a relative path in the after_script section.

Edited by Archit Tamarapu

Merge request reports

Loading