diff --git a/ci/remove_unsupported_testcases.py b/ci/remove_unsupported_testcases.py index bca22195cfa26e37f9e00ba2bc5f23a08d67ed36..09ddbc0a019dce056cebaf39210a19fe51b30716 100644 --- a/ci/remove_unsupported_testcases.py +++ b/ci/remove_unsupported_testcases.py @@ -35,7 +35,7 @@ import argparse TESTCASES = [ "OMASA 2Dir2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, EXT out", "OSBA planar FOA 2ISM at 512 kbps, 48 kHz in, 48 kHz out, BINAURAL out", - "4 ISM with extended metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out, combined render config, directivity configuration with identifiers", + "4 ISM with extended metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out, rendconf dir w id", "OSBA planar FOA 1ISM at 256 kbps, 48 kHz in, 48 kHz out, BINAURAL out", "Multi-channel 5_1 bitrate switching from 24.4 kbps to 256 kbps, 48kHz in, 48kHz out, BINAURAL out, FER at 10%, bandwidth switching", "OSBA FOA 4ISM at bitrate switching 13.2 to 512 kbps, 48kHz in, 48kHz out, BINAURAL out, FER at 5%, bandwidth switching", @@ -43,8 +43,8 @@ TESTCASES = [ "OMASA 2Dir2TC 4ISM at br sw techs 13.2 to 512 kbps start 80 kbps, 48kHz in, 48kHz out, EXT out", "OSBA planar FOA 2ISM at 512 kbps, 48 kHz in, 48 kHz out, BINAURAL out", "OSBA planar FOA 1ISM at 256 kbps, 48 kHz in, 48 kHz out, BINAURAL out", - "SBA 3OA at 128 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB combined renderer configuration with selected acoustic environment", - "OSBA FOA 4ISM at bitrate switching 13.2 to 512 kbps, 48kHz in, 16kHz out, BINAURAL out (Model from file), FER at 5%, bandwidth switching", + "SBA 3OA at 128 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB rendconf sel acoustic env", + "OSBA FOA 4ISM at br sw 13.2 to 512 kbps, 48kHz in, 16kHz out, BINAURAL out (Model from file), FER at 5%, bandwidth switching", "stereo bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, DTX on, EXT out", "SBA FOA bitrate switching from 13.2 kbps to 192 kbps, 32kHz in, 32kHz out, DTX on, EXT out", "SBA 2OA bitrate switching from 13.2 kbps to 128 kbps, 32kHz in, 32kHz out, DTX on, EXT out", diff --git a/tests/codec_be_on_mr_nonselection/__init__.py b/tests/codec_be_on_mr_nonselection/__init__.py index aba85788e77b1889a019b49dc761a76b04fa8ac4..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/tests/codec_be_on_mr_nonselection/__init__.py +++ b/tests/codec_be_on_mr_nonselection/__init__.py @@ -1,2 +0,0 @@ -MLD_PATTERN = r"MLD: ([\d\.]*)" -MAX_DIFF_PATTERN = r"MAXIMUM ABS DIFF: (\d*)" diff --git a/tests/codec_be_on_mr_nonselection/test_masa_enc_dec.py b/tests/codec_be_on_mr_nonselection/test_masa_enc_dec.py index 9a8d8b35d50ffd698012e89016a1905a9df84817..34fa40e278234b784a8c8e9fdf63aac78cdbb3b3 100644 --- a/tests/codec_be_on_mr_nonselection/test_masa_enc_dec.py +++ b/tests/codec_be_on_mr_nonselection/test_masa_enc_dec.py @@ -44,7 +44,7 @@ import pytest from tests.cmp_pcm import cmp_pcm from tests.conftest import DecoderFrontend, EncoderFrontend -from . import MLD_PATTERN, MAX_DIFF_PATTERN +from ..constants import MLD_PATTERN, MAX_DIFF_PATTERN # params # output_mode_list = ['MONO', 'STEREO', '5_1', '7_1', '5_1_2', '5_1_4', '7_1_4', 'FOA', 'HOA2', 'HOA3', 'BINAURAL', 'BINAURAL_ROOM', 'EXT'] diff --git a/tests/codec_be_on_mr_nonselection/test_param_file.py b/tests/codec_be_on_mr_nonselection/test_param_file.py index e8de6decf3bbb5f99ed401987daf85cfcb1204ca..34e92b715a3a42ca9ee66264d3aba68af588201a 100644 --- a/tests/codec_be_on_mr_nonselection/test_param_file.py +++ b/tests/codec_be_on_mr_nonselection/test_param_file.py @@ -44,7 +44,7 @@ import pytest from tests.cmp_pcm import cmp_pcm from tests.conftest import DecoderFrontend, EncoderFrontend from tests.testconfig import PARAM_FILE -from . import MLD_PATTERN, MAX_DIFF_PATTERN +from ..constants import MLD_PATTERN, MAX_DIFF_PATTERN VALID_DEC_OUTPUT_CONF = [ "MONO", diff --git a/tests/codec_be_on_mr_nonselection/test_sba_bs_dec_plc.py b/tests/codec_be_on_mr_nonselection/test_sba_bs_dec_plc.py index a11d1d30bf840b5487672f5c5a7a597803092bc6..289d10fae131b4997c437ba9eff3e54bc11515ae 100644 --- a/tests/codec_be_on_mr_nonselection/test_sba_bs_dec_plc.py +++ b/tests/codec_be_on_mr_nonselection/test_sba_bs_dec_plc.py @@ -40,7 +40,7 @@ import pytest from tests.cmp_pcm import cmp_pcm from tests.conftest import DecoderFrontend -from . import MLD_PATTERN, MAX_DIFF_PATTERN +from ..constants import MLD_PATTERN, MAX_DIFF_PATTERN # params tag_list = ["stvFOA"] diff --git a/tests/codec_be_on_mr_nonselection/test_sba_bs_enc.py b/tests/codec_be_on_mr_nonselection/test_sba_bs_enc.py index 788421f833ce6ac2dedae8350f16fbff39537d3a..2415d9d9a9cae225bcfc03ae6a274624cf874c74 100644 --- a/tests/codec_be_on_mr_nonselection/test_sba_bs_enc.py +++ b/tests/codec_be_on_mr_nonselection/test_sba_bs_enc.py @@ -42,7 +42,7 @@ from cut_bs import cut_from_start from tests.cmp_pcm import cmp_pcm from tests.conftest import DecoderFrontend, EncoderFrontend -from . import MLD_PATTERN, MAX_DIFF_PATTERN +from ..constants import MLD_PATTERN, MAX_DIFF_PATTERN # params diff --git a/tests/constants.py b/tests/constants.py new file mode 100644 index 0000000000000000000000000000000000000000..453c07dca83b7edb3dcaeadc859cb164bb6945bc --- /dev/null +++ b/tests/constants.py @@ -0,0 +1,3 @@ +# regex patterns for parsing the output from cmp_pcm -> mainly for BASOP ci +MLD_PATTERN = r"MLD: ([\d\.]*)" +MAX_DIFF_PATTERN = r"MAXIMUM ABS DIFF: (\d*)" diff --git a/tests/renderer/utils.py b/tests/renderer/utils.py index 2193ee4bfbe82b7fb92ce760d99824dc8ca073ee..9717af0b81fb83eed279793470977f6a3b10c7ec 100644 --- a/tests/renderer/utils.py +++ b/tests/renderer/utils.py @@ -39,6 +39,7 @@ from typing import Dict, Optional import numpy as np import pytest +import re from .compare_audio import compare_audio_arrays from .constants import ( @@ -53,7 +54,8 @@ from .constants import ( sys.path.append(SCRIPTS_DIR) from pyaudio3dtools.audiofile import readfile -from .. import cmp_pcm +from ..cmp_pcm import cmp_pcm +from ..constants import MLD_PATTERN, MAX_DIFF_PATTERN # fixture returns test information, enabling per-testcase SNR @@ -240,7 +242,7 @@ def run_renderer( cmd[0] += binary_suffix if in_meta_files is not None: - cmd[5:5] = ["-im", *in_meta_files] + cmd.extend(["-im", *in_meta_files]) if trj_file is not None: cmd.extend(["-T", str(trj_file)]) @@ -284,7 +286,7 @@ def run_renderer( if get_mld: # see constants.py - ref_fs = cmd[10] + ref_fs = int(cmd[10]) * 1000 output_differs, reason = cmp_pcm( out_file, out_file_ref, @@ -294,9 +296,16 @@ def run_renderer( mld_lim=get_mld_lim, ) mld = 0 - if "MLD" in reason: - mld = float(reason.split(":")[1].split()[0]) - record_property("MLD", mld) + if get_mld: + mld = re.search(MLD_PATTERN, reason).groups(1)[0] + record_property("MLD", mld) + + max_diff = 0 + if output_differs: + search_result = re.search(MAX_DIFF_PATTERN, reason) + max_diff = search_result.groups(1)[0] + record_property("MAXIMUM ABS DIFF", max_diff) + if output_differs: pytest.fail(f"Output differs: ({reason})") else: diff --git a/tests/test_param_file_ltv.py b/tests/test_param_file_ltv.py index 646258fabbbaafbee26a03c60005e1e031575823..4216318d375ad86f148a0d0141e93c1da7d9957c 100644 --- a/tests/test_param_file_ltv.py +++ b/tests/test_param_file_ltv.py @@ -44,7 +44,7 @@ import pytest from tests.cmp_pcm import cmp_pcm from tests.conftest import DecoderFrontend, EncoderFrontend -from .codec_be_on_mr_nonselection import MLD_PATTERN, MAX_DIFF_PATTERN +from .constants import MLD_PATTERN, MAX_DIFF_PATTERN # from tests.testconfig import PARAM_FILE