Commit ae88d945 authored by norvell's avatar norvell
Browse files

Add encoder coverage job

parent 64cf9aaf
Loading
Loading
Loading
Loading
Loading
+37 −4
Original line number Diff line number Diff line
@@ -111,9 +111,8 @@ stages:
    echo "Commit time was $CI_COMMIT_TIMESTAMP"
    date | xargs echo "System time is"

.build-reference-and-dut-binaries: &build-reference-and-dut-binaries
.build-reference-binaries: &build-reference-binaries
  - current_commit_sha=$(git rev-parse HEAD)
  ### build reference binaries
  - git checkout $REFERENCE_BRANCH
  - git pull
  - make clean
@@ -121,10 +120,13 @@ stages:
  - mv ./IVAS_cod ./$REF_ENCODER_PATH
  - mv ./IVAS_dec ./$REF_DECODER_PATH
  - mv ./IVAS_rend ./IVAS_rend_ref

  ### build test binaries
  - git restore .
  - git checkout $current_commit_sha

.build-reference-and-dut-binaries: &build-reference-and-dut-binaries
  ### build reference binaries
  - *build-reference-binaries
  ### build test binaries
  - make clean
  - make -j

@@ -996,6 +998,37 @@ ivas-smoke-test-saturation:
      - smoke_test_output_hrtf.txt
    expose_as: "saturation smoke test results"


# GCOV/LCOV coverage analysis of self_test suite
coverage-test:
  extends:
    - .test-job-linux
  stage: test
  rules:
    # only run in scheduled pipeline that passes this env vars
    - if: $COVERAGE_TEST
  timeout: 6 hours
  script:
    - *print-common-info
    - *update-scripts-repo
    - *update-ltv-repo
    - *build-reference-binaries
    - make clean
    - make GCOV=1 -j

    - python3 -m pytest $LONG_TEST_SUITE -v -n auto --encoder_only --update_ref 1 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec_ref || true
    - lcov -c -d obj -o coverage_enc.info # extract coverage of encoder
    - commit_sha=$(git rev-parse HEAD)
    - genhtml coverage_enc.info -o coverage -t "Coverage for $CI_TARGET_BRANCH $commit_sha"

  artifacts:
    name: "coverage-sha-$CI_COMMIT_SHORT_SHA"
    when: always
    expire_in: 4 weeks
    paths:
      - coverage_enc.info
      - coverage

# ---------------------------------------------------------------
# EVS 26.444 test job
# ---------------------------------------------------------------