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

activate first test

parent 74da91ad
Loading
Loading
Loading
Loading
Loading
+15 −67
Original line number Diff line number Diff line
variables:
  REFERENCE_TAG: "main"
  REFERENCE_DIR: "/usr/local/reference"
  BUILD_OUTPUT: "build_output.txt"
  SCRIPTS_DIR: "/usr/local/scripts"
  EXIT_CODE_NON_BE: 123
  EXIT_CODE_FAIL: 1
  TESTS_DIR_CODEC_BE_ON_MR: "tests/codec_be_on_mr_nonselection"
@@ -41,42 +42,13 @@ stages:
  - python3 -m pytest ci/test_vectors_available.py

.mld-test-setup-codec: &mld-test-setup-codec 
  ### build test binaries, initial clean for paranoia reasons
  - make clean
  - mkdir build
  - cd build
  - cmake ..
  ### build test binaries
  - make -j
  - mv IVAS_cod ../IVAS_cod_test
  - mv IVAS_dec ../IVAS_dec_test
  - mv IVAS_rend ../IVAS_rend_test
  - cd ..
  - rm -rf build/*
  - git restore .

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

  ### checkout version to compare against
  - git checkout $REFERENCE_TAG

  ### build reference binaries
  - cd build
  - cmake ..
  - make -j
  - mv IVAS_cod ../IVAS_cod_ref
  - mv IVAS_dec ../IVAS_dec_ref
  - mv IVAS_rend ../IVAS_rend_ref
  - cd ..
  - git restore .

  # rename test binaries back
  - mv IVAS_cod_test IVAS_cod
  - mv IVAS_dec_test IVAS_dec
  - mv IVAS_rend_test IVAS_rend

  # switch back to target branch
  - git checkout $source_branch_commit_sha
  - make -j -C $REFERENCE_DIR
  - mv $REFERENCE_DIR/IVAS_cod ./IVAS_cod_ref
  - mv $REFERENCE_DIR/IVAS_dec ./IVAS_dec_ref

  ### prepare pytest
  # create short test vectors
@@ -85,17 +57,13 @@ stages:
  - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref
  - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref_part2

.update-ltv-repo: &update-ltv-repo
  - cd $LTV_DIR
.update-scripts-repo: &update-scripts-repo
  - cd $SCRIPTS_DIR
  - git pull
  - cd -


.copy-ltv-files-to-testv-dir: &copy-ltv-files-to-testv-dir
    - cp "$LTV_DIR"/*.wav scripts/testv/
    - cp "$LTV_DIR"/*.met scripts/testv/
    - cp "$LTV_DIR"/*.csv scripts/testv/

  - cp -r $SCRIPTS_DIR/ci .
  - cp -r $SCRIPTS_DIR/scripts .
  - cp -r $SCRIPTS_DIR/test .

# ---------------------------------------------------------------
# Job templates
@@ -108,7 +76,7 @@ stages:

.build-job-linux:
  stage: build
  timeout: "4 minutes"
  timeout: "2 minutes"
  needs: []
  tags:
    - ivas-basop-linux
@@ -120,28 +88,6 @@ stages:
    - if [ ! -d "$TESTV_DIR" ]; then mkdir -p $TESTV_DIR; fi
    - cp -r scripts/testv/* $TESTV_DIR/

# ---------------------------------------------------------------
# .pre jobs for setting up things
# ---------------------------------------------------------------

# See: https://gitlab.com/gitlab-org/gitlab/-/issues/194023
# Solution to make main branch pipelines uninterruptible while all other
# pipelines can be interrupted by default. This works because all jobs
# after uninterruptible jobs will be uninterruptible. Resource group
# setting avoids rare case where two fast merges could still interrupt
# pipeline. This should be revisited if there are updates to Gitlab.
uninterruptible:
  stage: .pre
  interruptible: false
  resource_group: uninterruptible
  script:
    - echo "$CI_COMMIT_BRANCH is uninterruptible"
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
      when: always
  tags:
    - ivas-linux

# ---------------------------------------------------------------
# Build jobs
# ---------------------------------------------------------------
@@ -158,7 +104,7 @@ build-codec-linux-make:
# Test jobs 
# ---------------------------------------------------------------

.ivas-pytest-mld-enc-dec:
ivas-pytest-mld-enc-dec:
  extends:
    - .test-job-linux
  stage: test
@@ -166,6 +112,7 @@ build-codec-linux-make:
  timeout: "30 minutes"
  script:
    - *print-common-info
    - *update-scripts-repo
    - *mld-test-setup-codec

    ### run pytest
@@ -204,6 +151,7 @@ build-codec-linux-make:
  timeout: "30 minutes"
  script:
    - *print-common-info
    - *update-scripts-repo
    - *mld-test-setup-codec

    ### run pytest