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

Merge branch 'main' into ci/add-ltv-sanitizer-test

parents 03f33038 881daece
Loading
Loading
Loading
Loading
Loading
+86 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ variables:
      - 'default'
      - 'test-be-release'
      - 'test-long-self-test'
      - 'ivas-conformance'
  GIT_CLEAN_FLAGS: -ffdxq
  TESTCASE_TIMEOUT_STV_SANITIZERS: 180
  TESTCASE_TIMEOUT_LTV_SANITIZERS: 1200
@@ -53,6 +54,9 @@ workflow:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'test-long-self-test'
      variables:
        IVAS_PIPELINE_NAME: 'Test long self-test against main pipeline: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'ivas-conformance'
      variables:
        IVAS_PIPELINE_NAME: 'Draft IVAS Conformance test: $CI_COMMIT_BRANCH'        
    - if: $CI_PIPELINE_SOURCE == 'trigger'

stages:
@@ -219,6 +223,8 @@ stages:
      when: never
    - if: $MANUAL_PIPELINE_TYPE == 'test-long-self-test' # Skip all the normal jobs when testing manually against release codec
      when: never
    - if: $MANUAL_PIPELINE_TYPE == 'ivas-conformance'
      when: never      
    - when: on_success

.rules-merge-request:
@@ -446,7 +452,7 @@ build-codec-windows-msbuild:
  script:
    - *print-common-info-windows
    - *activate-WX-windows
    - py .\scripts\strip_split_rendering.py
    - python .\scripts\strip_split_rendering.py
    - MSBuild.exe -maxcpucount .\Workspace_msvc\Workspace_msvc.sln /property:Configuration=Debug

# ---------------------------------------------------------------
@@ -1211,6 +1217,85 @@ test-be-to-release:
    expose_as: "test-be-to-release results"


ivas-conformance:
  tags:
    - ivas-windows
  stage: test
  timeout: "60 minutes"
  rules:
    - if: ($CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'trigger') && $MANUAL_PIPELINE_TYPE == 'ivas-conformance'
  allow_failure:
    exit_codes:
      - 123
  script:
    - *print-common-info-windows
    # Prepare reference exec, use tests and scripts from reference
    - $source_branch_commit_sha = $(git rev-parse HEAD)
    - git checkout main # This should be set to a relevant reference
    - python .\scripts\strip_split_rendering.py
    - MSBuild.exe -maxcpucount .\Workspace_msvc\Workspace_msvc.sln /property:Configuration=Debug    
    - cp -force IVAS_cod.exe IVAS_cod_ref.exe
    - cp -force IVAS_dec.exe IVAS_dec_ref.exe
    - cp -force IVAS_rend.exe IVAS_rend_ref.exe
    - git restore .
    - git checkout $source_branch_commit_sha
    
    # Reference creation
    - python tests/create_short_testvectors.py
    - python scripts/prepare_combined_format_inputs.py
    - python -m pytest tests/codec_be_on_mr_nonselection -v -n auto --update_ref 1 -m create_ref --keep_files
    - python -m pytest tests/codec_be_on_mr_nonselection -v -n auto --update_ref 1 -m create_ref_part2 --keep_files
    - python -m pytest tests/renderer/test_renderer.py --create_ref --keep_files

    # Output creation
    - python -m pytest tests/codec_be_on_mr_nonselection tests/renderer/test_renderer.py -v -n auto --keep_files --create_cut --html=report_cmd.html --self-contained-html
    - python scripts/parse_commands.py report_cmd.html Readme_IVAS.txt
    
    # Copy input data and output ref data
    - if (Test-Path testvec) {rm -r -force testvec}
    - mkdir testvec
    - mkdir testvec/binauralRenderer_interface
    - mkdir testvec/testv
    - mkdir testvec/testv/renderer
    - mkdir testvec/bin    
    - cp -r -force -ErrorAction Ignore scripts/testv/* testvec/testv
    - cp -r -force -ErrorAction Ignore scripts/ls_layouts testvec
    - cp -r -force -ErrorAction Ignore scripts/switchPaths testvec
    - cp -r -force -ErrorAction Ignore scripts/trajectories testvec
    - cp -r -force -ErrorAction Ignore scripts/binauralRenderer_interface/binaural_renderers_hrtf_data testvec/binauralRenderer_interface
    - cp -r -force -ErrorAction Ignore tests/ref testvec/testv/ref
    - cp -r -force -ErrorAction Ignore tests/dut/* testvec/testv/ref
    - cp -r -force -ErrorAction Ignore tests/renderer/cut testvec/testv/renderer/ref
    - cp -r -force -ErrorAction Ignore tests/conformance-test testvec/
    - cp Readme_IVAS_dec.txt testvec
    - cp Readme_IVAS_enc.txt testvec 
    - cp Readme_IVAS_rend.txt testvec
    - cp Readme_IVAS_JBM_dec.txt testvec
    - cp IVAS_cod.exe testvec/bin
    - cp IVAS_dec.exe testvec/bin
    - cp IVAS_rend.exe testvec/bin
    
    # Test run generated scripts in testvec
    - cd testvec    
    - python -m pytest conformance-test/test_26252.py --junit-xml=report-junit.xml --html=report.html --self-contained-html
    - mv report.html ..
    - mv report-junit.xml ..

  artifacts:
    name: "ivas-conformance-$CI_COMMIT_SHORT_SHA"
    expire_in: 1 week
    when: always
    paths:
      - report-junit.xml
      - report.html
      - Readme_IVAS_dec.txt  
      - Readme_IVAS_enc.txt  
      - Readme_IVAS_rend.txt
      - Readme_IVAS_JBM_dec.txt
    expose_as: "Draft IVAS conformance"
    reports:
      junit: report-junit.xml

test-long-self-test:
  tags:
    - ivas-linux-fast
+85 −85

File changed.

Preview size limit exceeded, changes collapsed.

+98 −97

File changed.

Preview size limit exceeded, changes collapsed.

scripts/dec_header.txt

0 → 100644
+22 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <CUT_DEC_BIN>"
    exit -1
fi            

CUT_DEC_BIN=$1
DIFF_BIN="diff"

TESTV_PATH="."
REF_PATH="./testv"
CUT_PATH="./TMP_DEC"
LOG_FILE=Readme_IVAS_dec_log.txt

rm -rf tmp
rm -rf $CUT_PATH
mkdir -p $CUT_PATH
mkdir -p $CUT_PATH/dut/masa_test/dec_output
mkdir -p $CUT_PATH/dut/param_file/dec
mkdir -p $CUT_PATH/dut/sba_bs/raw

scripts/enc_header.txt

0 → 100644
+22 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <CUT_ENC_BIN>"
    exit -1
fi

CUT_ENC_BIN=$1
DIFF_BIN="diff"

TESTV_PATH="."
REF_PATH="./testv"
CUT_PATH="./TMP_ENC"
LOG_FILE=Readme_IVAS_enc_log.txt

rm -rf tmp
rm -rf $CUT_PATH
mkdir -p $CUT_PATH
mkdir -p $CUT_PATH/dut/masa_test/bitstreams
mkdir -p $CUT_PATH/dut/param_file/enc
mkdir -p $CUT_PATH/dut/sba_bs/pkt
Loading