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

add smoke test for basop repo

also fix branch in basop-compat smoke test
parent a5c380b1
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
# test that runs all modes with 1s input signals
.smoke-test-template:
  extends:
    - .test-job-linux-needs-testv-dir
  tags:
    - ivas-linux-fast
  before_script:
    - !reference [.test-job-linux-needs-testv-dir, before_script]
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh
    # LTV update needed as ltv ISM metadata files are used
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/update-ltv-repo.sh
  after_script:
    ### analyze for failures
    - if ! [ -s smoke_test_output.txt ] || ! [ -s smoke_test_output_jbm.txt ] || ! [ -s smoke_test_output_hrtf.txt ]; then echo "Error in smoke test"; exit 1; fi
    - ret_val=0
    - if cat smoke_test_output.txt | grep -c "failed"; then echo "Smoke test without JBM failed"; ret_val=1; fi
    - if cat smoke_test_output_jbm.txt | grep -c "failed"; then echo "Smoke test JBM part failed"; ret_val=1; fi
    - if cat smoke_test_output_hrtf.txt | grep -c "failed"; then echo "Smoke test with external hrtf files failed"; ret_val=1; fi
    - exit $ret_val
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results"
    expire_in: 1 week
    when: always
    paths:
      - smoke_test_output.txt
      - smoke_test_output_jbm.txt
      - smoke_test_output_hrtf.txt
    expose_as: "Smoke test results"
+11 −36
Original line number Diff line number Diff line
@@ -1457,46 +1457,21 @@ split-rendering-pytest-on-merge-request:
        - $REPORT_XML

# test that runs all modes with 1s input signals
# TODO: adapt for BASOP
.codec-smoke-test:
codec-smoke-test-basop:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request-to-main-no-draft
  timeout: "20 minutes"
    - .smoke-test-template
    - .rules-merge-request-to-main
  timeout: "30 minutes"
  stage: test
  needs: ["build-codec-linux-make"]
  needs:
    [
      "build-codec-linux-cmake",
      "build-codec-linux-make",
    ]
  script:
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh
    # LTV update needed as ltv ISM metadata files are used
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/update-ltv-repo.sh
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh
    - bash ci/smoke_test.sh || true
    - tar cJf logs.tar.xz out/logs/
    - ls -al logs.tar.*
    ### analyze for failures
    - if ! [ -s smoke_test_output.txt ] || ! [ -s smoke_test_output_jbm.txt ] || ! [ -s smoke_test_output_hrtf.txt ]; then echo "Error in smoke test"; exit 1; fi
    - ret_val=0
    - if cat smoke_test_output.txt | grep -c "failed"; then echo "Smoke test without JBM failed"; ret_val=1; fi
    - if cat smoke_test_output_jbm.txt | grep -c "failed"; then echo "Smoke test JBM part failed"; ret_val=1; fi
    - if cat smoke_test_output_hrtf.txt | grep -c "failed"; then
    -   if [ "$DISABLE_HRTF" = "false" ]; then
    -     echo "Smoke test with external hrtf files failed"
    -     ret_val=1
    -   else
    -     echo "Smoke test with external hrtf files failed, but DISABLE_HRTF is set. Ignoring failure."
    -   fi
    - fi
    - exit $ret_val
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results"
    expire_in: 1 week
    when: always
    paths:
      - smoke_test_output.txt
      - smoke_test_output_jbm.txt
      - smoke_test_output_hrtf.txt
      - logs.tar.xz
    expose_as: "Smoke test results"
    # the "coverage" argument actually means "do not build again with instrumentation, but use the existing binaries"
    - bash ci/smoke_test.sh coverage

# from float
# check for crashes if first received frame on decoder side is an SID
+2 −29
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ include:
  - local: main.yml
  - local: includes/default-variables-float.yml
  - local: includes/complexity-jobs.yml
  - local: includes/smoke-test.yml

stages:
  - .pre
@@ -407,34 +408,6 @@ build-codec-windows-msbuild:
# ---------------------------------------------------------------

# test that runs all modes with 1s input signals
.smoke-test-template:
  extends:
    - .test-job-linux-needs-testv-dir
  tags:
    - ivas-linux-fast
  before_script:
    - !reference [.test-job-linux-needs-testv-dir, before_script]
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh
    # LTV update needed as ltv ISM metadata files are used
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/update-ltv-repo.sh
  after_script:
    ### analyze for failures
    - if ! [ -s smoke_test_output.txt ] || ! [ -s smoke_test_output_jbm.txt ] || ! [ -s smoke_test_output_hrtf.txt ]; then echo "Error in smoke test"; exit 1; fi
    - ret_val=0
    - if cat smoke_test_output.txt | grep -c "failed"; then echo "Smoke test without JBM failed"; ret_val=1; fi
    - if cat smoke_test_output_jbm.txt | grep -c "failed"; then echo "Smoke test JBM part failed"; ret_val=1; fi
    - if cat smoke_test_output_hrtf.txt | grep -c "failed"; then echo "Smoke test with external hrtf files failed"; ret_val=1; fi
    - exit $ret_val
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results"
    expire_in: 1 week
    when: always
    paths:
      - smoke_test_output.txt
      - smoke_test_output_jbm.txt
      - smoke_test_output_hrtf.txt
    expose_as: "Smoke test results"

codec-smoke-test-float:
  extends:
    - .smoke-test-template
@@ -465,7 +438,7 @@ basop-compat-smoke-test:
  allow_failure: true
  script:
    # get basop code and build binaries
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/float/build-binaries-from-basop-repo.sh ivas-float-update
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/float/build-binaries-from-basop-repo.sh main
    # the "coverage" argument actually means "do not build again with instrumentation, but use the existing binaries"
    - bash ci/smoke_test.sh coverage