Commit b4fe0767 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Implement CI script part for long self-test

parent e05eb69b
Loading
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ variables:
    options:
      - 'default'
      - 'test-be-release'
      - 'test-long-self-test'


default:
@@ -1087,6 +1088,66 @@ test-be-to-release:
      - logs/
    expose_as: "test-be-to-release results"


test-long-self-test:
  extends:
    - .test-job-linux
    - .rules-merge-request
  stage: compare
  resource_group: ivas-long-self-test-resource
  timeout: "40 minutes"
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'test-long-self-test'
  script:
    - *print-common-info
    - *update-ltv-repo

    ### build branch binaries
    - cmake . -Bbuild-test
    - cmake --build build-test -- -j
    - mv build-test/IVAS_cod ./IVAS_cod
    - mv build-test/IVAS_dec ./IVAS_dec

    ### store the current commit hash
    - source_branch_commit_sha=$(git rev-parse HEAD)

    ### switch to main
    - git checkout main

    ### build main (ref) binaries
    - cmake . -Bbuild-ref
    - cmake --build build-ref -- -j
    - mv build-ref/IVAS_cod ./IVAS_cod_ref
    - mv build-ref/IVAS_dec ./IVAS_dec_ref

    ### prepare pytest, test is run using main branch scripts
    # Copy test vectors from LTV to TESTV
    - cp "$LTV"/* scripts/testv/

    # create references
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR/test_param_file.py -v --update_ref 1 -m create_ref --param_file scripts/config/self_test_ltv.prm

    ### run pytest for EVS cases
    - exit_code=0
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR/test_param_file.py -v --param_file scripts/config/self_test_ltv.prm --html=report.html --self-contained-html --junit-xml=report-junit-ltv.xml || exit_code=$?
    - zero_errors=$(cat report-junit-ltv.xml | grep -c 'errors="0"') || true

    - *merge-request-comparison-check


  artifacts:
    name: "test-long-self-test--sha-$CI_COMMIT_SHORT_SHA--results"
    when: always
    expire_in: 1 week
    paths:
      - report-junit.xml
      - report.html
    expose_as: "test-long-self-test results"
    reports:
      junit:
        - report-junit.xml


# ---------------------------------------------------------------
# Scheduled jobs on main
# ---------------------------------------------------------------