Commit b0e2ba63 authored by Jan Kiene's avatar Jan Kiene
Browse files

use variables for coverage files/dirs + fix pwd stripping

parent a5f96a1c
Loading
Loading
Loading
Loading
Loading
+26 −18
Original line number Diff line number Diff line
@@ -1374,6 +1374,10 @@ ivas-conformance-linux:
  allow_failure:
    exit_codes:
      - 123
  variables:
    COVERAGE_OUTPUT_FILE: "$COVERAGE_OUTPUT_FILE_CONFORMANCE"
    COVERAGE_OUTPUT_DIR: "coverage_conformance"
    COVERAGE_TITLE: "conformance test test_26252.py"
  script:
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh
    - make -j
@@ -1442,13 +1446,13 @@ ivas-conformance-linux:

    # Collect coverage
    - cd -
    - lcov -c -d obj -o coverage.info
    - lcov -r coverage.info "*apps*" -o coverage.info
    - lcov -r coverage.info "*lib_util*" -o coverage.info
    - lcov -c -d obj -o $COVERAGE_OUTPUT_FILE
    - lcov -r $COVERAGE_OUTPUT_FILE "*apps*" -o $COVERAGE_OUTPUT_FILE
    - lcov -r $COVERAGE_OUTPUT_FILE "*lib_util*" -o $COVERAGE_OUTPUT_FILE
    - commit_sha=$(git rev-parse HEAD)
    # replace hardcoded path with relative path to allow easy merging of .info files
    - sed -i "s|$(pwd)|..|g" coverage.info
    - genhtml coverage.info -o coverage -t "Coverage on main @ $commit_sha"
    - sed -i "s|$(pwd)|.|g" coverage.info
    - genhtml $COVERAGE_OUTPUT_FILE -o $COVERAGE_OUTPUT_DIR -t "Coverage on main -- $COVERAGE_TITLE @ $commit_sha"

    # Check for failures
    - if [ $exit_code -ne 0 ]; then echo "Test failures encountered"; exit $EXIT_CODE_FAIL; fi
@@ -1467,8 +1471,8 @@ ivas-conformance-linux:
      - Readme_IVAS_JBM_dec.txt
      - Readme_IVAS_ISAR_dec.txt
      - Readme_IVAS_ISAR_post_rend.txt
      - coverage.info
      - coverage
      - $COVERAGE_OUTPUT_FILE
      - $COVERAGE_OUTPUT_DIR
    expose_as: "Draft IVAS conformance -- Linux"
    reports:
      junit: report-junit.xml
@@ -2224,7 +2228,7 @@ sanitizer-test-osba-planar-hoa3-ism4:
    - lcov -r $COVERAGE_OUTPUT_FILE "*lib_util*" -o $COVERAGE_OUTPUT_FILE
    - commit_sha=$(git rev-parse HEAD)
    # replace hardcoded path with relative path to allow easy merging of .info files
    - sed -i "s|$(pwd)|..|g" $COVERAGE_OUTPUT_FILE 
    - sed -i "s|$(pwd)|.|g" $COVERAGE_OUTPUT_FILE 
    - genhtml $COVERAGE_OUTPUT_FILE -o $COVERAGE_OUTPUT_DIR -t "Coverage on main -- $COVERAGE_TITLE @ $commit_sha"
  artifacts:
    name: "main-$COVERAGE_OUTPUT_DIR-sha-$CI_COMMIT_SHORT_SHA"
@@ -2246,23 +2250,27 @@ coverage-merge:
      artifacts: true
    - job: ivas-conformance-linux
      artifacts: true
  variables:
    COVERAGE_OUTPUT_FILE: "$COVERAGE_OUTPUT_FILE_MERGED"
    COVERAGE_OUTPUT_DIR: "coverage-merged"
    COVERAGE_TITLE: "merged total coverage"
  script:
    - echo "Merging coverage reports..."
    - lcov -a coverage.info -a coverage_stv.info -a coverage_ltv.info -o coverage_merged.info
    - lcov -a $COVERAGE_OUTPUT_FILE_CONFORMANCE -a $COVERAGE_OUTPUT_FILE_STV -a $COVERAGE_OUTPUT_FILE_LTV -o "$COVERAGE_OUTPUT_FILE_MERGED"
    - commit_sha=$(git rev-parse HEAD)
    - genhtml coverage_merged.info -o coverage_merged -t "Merged Coverage Report @ $commit_sha"
    - genhtml $COVERAGE_OUTPUT_FILE_MERGED -o $COVERAGE_OUTPUT_DIR -t "Coverage on main -- $COVERAGE_TITLE @ $commit_sha"
  artifacts:
    name: "merged-coverage-sha-$CI_COMMIT_SHORT_SHA"
    when: always
    expire_in: 1 week
    paths:
      - coverage_merged.info
      - coverage_merged
      - $COVERAGE_OUTPUT_FILE
      - $COVERAGE_OUTPUT_DIR

coverage-test-on-main-scheduled-stv:
  extends: .coverage-test-template
  variables:
    COVERAGE_OUTPUT_FILE: "coverage_stv.info"
    COVERAGE_OUTPUT_FILE: "$COVERAGE_OUTPUT_FILE_STV"
    COVERAGE_OUTPUT_DIR: "coverage_stv"
    COVERAGE_TITLE: "short test vectors"
  script:
@@ -2298,13 +2306,13 @@ coverage-test-on-main-scheduled-stv:
    # TODO consider including check-clipping, but this scales ALL testv files. could be added at end of this job
  artifacts:
    paths:
      - coverage_stv.info
      - coverage_stv
      - $COVERAGE_OUTPUT_FILE
      - $COVERAGE_OUTPUT_DIR

coverage-test-on-main-scheduled-ltv:
  extends: .coverage-test-template
  variables:
    COVERAGE_OUTPUT_FILE: "coverage_ltv.info"
    COVERAGE_OUTPUT_FILE: "$COVERAGE_OUTPUT_FILE_LTV"
    COVERAGE_OUTPUT_DIR: "coverage_ltv"
    COVERAGE_TITLE: "long test vectors"
  script:
@@ -2327,8 +2335,8 @@ coverage-test-on-main-scheduled-ltv:
    # VoIP BE tests don't support LTV - skipped here
  artifacts:
    paths:
      - coverage_ltv.info
      - coverage_ltv
      - $COVERAGE_OUTPUT_FILE
      - $COVERAGE_OUTPUT_DIR

# ---------------------------------------------------------------
# Complexity measurement jobs
+4 −0
Original line number Diff line number Diff line
@@ -29,3 +29,7 @@ variables:
  TEST_SUITE: ""
  # note: currently overwrites default value from ci repo
  TESTCASE_TIMEOUT_STV_SANITIZERS: 240
  COVERAGE_OUTPUT_FILE_STV: "coverage-stv.info"
  COVERAGE_OUTPUT_FILE_LTV: "coverage-ltv.info"
  COVERAGE_OUTPUT_FILE_CONFORMANCE: "coverage-conformance.info"
  COVERAGE_OUTPUT_FILE_MERGED: "coverage-merged.info"