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

first version for testing on runner

parent 0cd7d42d
Loading
Loading
Loading
Loading
+20 −21
Original line number Diff line number Diff line
#! /usr/bin/bash

### This test assures that for all DTX modes, decoding a bitstream that starts with an SID frame does not crash the decoder or cause a sanitizer error

set -euxo pipefail

# build encoder without sanitizers for faster runtime
make clean
make -j IVAS_cod
mv IVAS_cod IVAS_cod_nosan

# run all modes and cut bitstream to start with an SID. Use mono output to limit runtime, test is only about decoding the first frame
modes_no_sba=$(scripts/runIvasCodec.py -l | grep dtx | grep -vE "stereo|FOA|HOA" )
modes_hoa=$(scripts/runIvasCodec.py -l | grep dtx | grep -E "HOA")
modes_foa=$(scripts/runIvasCodec.py -l | grep dtx | grep "FOA")
modes_stereo=$(scripts/runIvasCodec.py -l | grep dtx | grep "stereo")
# collect DTX modes to run
# stereo modes are run separately from the rest
# reason: the stv signal does not trigger DTX for the highest stereo bitrates. We use the ltv signal cut to a different length than the other signal
modes_no_stereo=$(scripts/runIvasCodec.py -l | grep dtx | grep -v stereo)
modes_stereo=$(scripts/runIvasCodec.py -l | grep dtx | grep stereo)

# config vars
testcase_timeout=20
@@ -26,13 +30,9 @@ cp IVAS_cod_nosan CLANG1/IVAS_cod

exit_code_msan=0
echo "-------------- 1. Encoder + Msan decoder -------------- "
echo "-------------- 1.1 all DTX modes except SBA and stereo -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m $modes_no_sba -U 0:20 $common_args || exit_code_msan=$?
echo "-------------- 1.2 HOA2 + HOA3 DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m $modes_hoa -U 70:80 $common_args || exit_code_msan=$?
echo "-------------- 1.3 FOA DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m $modes_foa -U 75:110 $common_args || exit_code_msan=$?
echo "-------------- 1.4 stereo DTX modes -------------- "
echo "-------------- 1.1 all DTX modes except stereo -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m $modes_no_stereo -U 0:20 $common_args || exit_code_msan=$?
echo "-------------- 1.2 stereo DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m $modes_stereo -U 40:60 $common_args || exit_code_msan=$?
# archive encoder logs separately
mkdir logs_enc logs_dec_msan
@@ -47,15 +47,14 @@ cp -r CLANG1/enc CLANG3/enc

exit_code_asan_usan=0
echo "-------------- 2. Asan + Usan decoder -------------- "
echo "-------------- 2.1 all DTX modes except SBA and stereo -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_no_sba -U 0:20 $common_args || exit_code_asan_usan=$?
echo "-------------- 2.2 HOA2 + HOA3 DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_hoa -U 70:80 $common_args || exit_code_asan_usan=$?
echo "-------------- 2.3 FOA DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_foa -U 75:110 $common_args || exit_code_asan_usan=$?
echo "-------------- 2.4 stereo DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_stereo -U 40:60 $common_args || exit_code_asan_usan=$?
echo "-------------- 2.1 all DTX modes except stereo -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_no_stereo $common_args || exit_code_asan_usan=$?
echo "-------------- 2.2 stereo DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_stereo $common_args || exit_code_asan_usan=$?
mv CLANG2/logs logs_dec_asan
mv CLANG3/logs logs_dec_usan

if [ $exit_code_msan -ne 0 ] || [ $exit_code_asan_usan -ne 0 ]; then echo "There was either a crash or a sanitizer error encountered when decoding a bitstream that starts with an SID. Check the artifacts for the logfiles."; exit 1; fi
if [ $exit_code_msan -ne 0 ] || [ $exit_code_asan_usan -ne 0 ]; then
  echo "There was either a crash or a sanitizer error encountered when decoding a bitstream that starts with an SID. Check the artifacts for the logfiles."
  exit 1
fi
+3 −3
Original line number Diff line number Diff line
@@ -4,9 +4,9 @@
    "inpaths": {
        "MONO": "/usr/local/testv/stv48n.wav",
        "STEREO": "/usr/local/ltv/ltv48_STEREO.wav",
        "FOA": "/usr/local/ltv/ltv48_FOA.wav",
        "HOA2": "/usr/local/ltv/ltv48_HOA2.wav",
        "HOA3": "/usr/local/ltv/ltv48_HOA3.wav",
        "FOA": "/usr/local/testv/stvFOA48n.wav",
        "HOA2": "/usr/local/testv/stv2OA48n.wav",
        "HOA3": "/usr/local/testv/stv3OA48n.wav",
        "SBA": "/usr/local/ltv/ltv48_HOA3.wav",
        "MASA1TC": "/usr/local/ltv/ltv48_MASA1TC.wav",
        "MASA2TC": "/usr/local/ltv/ltv48_MASA2TC.wav",