Loading scripts/parse_mld_xml.py +1 −6 Original line number Diff line number Diff line Loading @@ -26,10 +26,5 @@ if __name__ == '__main__': with open(csv_file,'w') as outfile: for testcase in testcases: fulltestname = testcase.get('file') + "::" + testcase.get('name') system_out = testcase.find(".//system-out") mld_val = 0 if system_out is not None: for line in system_out.text.split('\n'): if line.startswith('MLD:'): mld_val = float(line.split()[1]) mld_val = testcase.find('.//property').get('value') outfile.write(fulltestname + ';' + str(mld_val)+'\n') tests/cmp_pcm.py +7 −3 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ import pyivastest import numpy as np def cmp_pcm(file1, file2, out_config, fs, get_mld = False) -> (int, str): def cmp_pcm(file1, file2, out_config, fs, get_mld = False, mld_lim = 0) -> (int, str): """ Compare 2 PCM files for bitexactness """ Loading Loading @@ -55,7 +55,11 @@ def cmp_pcm(file1, file2, out_config, fs, get_mld = False) -> (int, str): if get_mld: mld_msg = f"MLD: {cmp_result['MLD']}" print(mld_msg) return 1, "FAIL: Files have different content" if cmp_result['MLD'] <= mld_lim: return 0, f"MLD: {cmp_result['MLD']} <= {mld_lim}" else: return 1, f"MLD: {cmp_result['MLD']} > {mld_lim}" return 1, "Non-BE" if __name__ == "__main__": Loading tests/codec_be_on_mr_nonselection/test_param_file.py +11 −3 Original line number Diff line number Diff line Loading @@ -125,6 +125,7 @@ def convert_test_string_to_tag(test_string): @pytest.mark.create_ref @pytest.mark.parametrize("test_tag", list(param_file_test_dict.keys())) def test_param_file_tests( record_property, dut_encoder_frontend: EncoderFrontend, dut_decoder_frontend: DecoderFrontend, ref_encoder_frontend: EncoderFrontend, Loading @@ -137,6 +138,7 @@ def test_param_file_tests( keep_files, test_tag, get_mld, get_mld_lim, ): enc_opts, dec_opts, sim_opts, eid_opts = param_file_test_dict[test_tag] Loading Loading @@ -325,10 +327,16 @@ def test_param_file_tests( ref_output_file = f"{reference_path}/param_file/dec/{output_file}" fs = int(sampling_rate) * 1000 output_differs, reason = cmp_pcm( dut_output_file, ref_output_file, output_config, fs, get_mld=get_mld dut_output_file, ref_output_file, output_config, fs, get_mld=get_mld, mld_lim=get_mld_lim ) md_out_files = get_expected_md_files(ref_output_file, enc_split, output_config) if get_mld: mld = 0 if "MLD" in reason: mld = float(reason.split(':')[1].split()[0]) record_property("MLD",mld) metadata_differs = False for md_file in md_out_files: dut_metadata_file = Path(f"{dut_base_path}/param_file/dec/{md_file}") Loading @@ -347,9 +355,9 @@ def test_param_file_tests( if output_differs or metadata_differs: msg = "Difference between ref and dut in " if output_differs and metadata_differs: msg += "output and metadata" msg += f"output ({reason}) and metadata" elif output_differs: msg += "output only" msg += f"output only ({reason})" elif metadata_differs: msg += "metadata only" Loading tests/conftest.py +12 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,12 @@ def pytest_addoption(parser): help="Run the MLD tool instead of just comparing for bitexactness", ) parser.addoption( "--mld-lim", action="store", help="MLD limit for comparison (default: 0)", default="0", ) @pytest.fixture(scope="session", autouse=True) def update_ref(request): Loading @@ -177,6 +183,12 @@ def get_mld(request): """ return request.config.option.mld @pytest.fixture(scope="session", autouse=True) def get_mld_lim(request): """ Return MLD limit for MLD comparison """ return float(request.config.getoption("--mld-lim")) @pytest.fixture(scope="session") def keep_files(request) -> bool: Loading Loading
scripts/parse_mld_xml.py +1 −6 Original line number Diff line number Diff line Loading @@ -26,10 +26,5 @@ if __name__ == '__main__': with open(csv_file,'w') as outfile: for testcase in testcases: fulltestname = testcase.get('file') + "::" + testcase.get('name') system_out = testcase.find(".//system-out") mld_val = 0 if system_out is not None: for line in system_out.text.split('\n'): if line.startswith('MLD:'): mld_val = float(line.split()[1]) mld_val = testcase.find('.//property').get('value') outfile.write(fulltestname + ';' + str(mld_val)+'\n')
tests/cmp_pcm.py +7 −3 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ import pyivastest import numpy as np def cmp_pcm(file1, file2, out_config, fs, get_mld = False) -> (int, str): def cmp_pcm(file1, file2, out_config, fs, get_mld = False, mld_lim = 0) -> (int, str): """ Compare 2 PCM files for bitexactness """ Loading Loading @@ -55,7 +55,11 @@ def cmp_pcm(file1, file2, out_config, fs, get_mld = False) -> (int, str): if get_mld: mld_msg = f"MLD: {cmp_result['MLD']}" print(mld_msg) return 1, "FAIL: Files have different content" if cmp_result['MLD'] <= mld_lim: return 0, f"MLD: {cmp_result['MLD']} <= {mld_lim}" else: return 1, f"MLD: {cmp_result['MLD']} > {mld_lim}" return 1, "Non-BE" if __name__ == "__main__": Loading
tests/codec_be_on_mr_nonselection/test_param_file.py +11 −3 Original line number Diff line number Diff line Loading @@ -125,6 +125,7 @@ def convert_test_string_to_tag(test_string): @pytest.mark.create_ref @pytest.mark.parametrize("test_tag", list(param_file_test_dict.keys())) def test_param_file_tests( record_property, dut_encoder_frontend: EncoderFrontend, dut_decoder_frontend: DecoderFrontend, ref_encoder_frontend: EncoderFrontend, Loading @@ -137,6 +138,7 @@ def test_param_file_tests( keep_files, test_tag, get_mld, get_mld_lim, ): enc_opts, dec_opts, sim_opts, eid_opts = param_file_test_dict[test_tag] Loading Loading @@ -325,10 +327,16 @@ def test_param_file_tests( ref_output_file = f"{reference_path}/param_file/dec/{output_file}" fs = int(sampling_rate) * 1000 output_differs, reason = cmp_pcm( dut_output_file, ref_output_file, output_config, fs, get_mld=get_mld dut_output_file, ref_output_file, output_config, fs, get_mld=get_mld, mld_lim=get_mld_lim ) md_out_files = get_expected_md_files(ref_output_file, enc_split, output_config) if get_mld: mld = 0 if "MLD" in reason: mld = float(reason.split(':')[1].split()[0]) record_property("MLD",mld) metadata_differs = False for md_file in md_out_files: dut_metadata_file = Path(f"{dut_base_path}/param_file/dec/{md_file}") Loading @@ -347,9 +355,9 @@ def test_param_file_tests( if output_differs or metadata_differs: msg = "Difference between ref and dut in " if output_differs and metadata_differs: msg += "output and metadata" msg += f"output ({reason}) and metadata" elif output_differs: msg += "output only" msg += f"output only ({reason})" elif metadata_differs: msg += "metadata only" Loading
tests/conftest.py +12 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,12 @@ def pytest_addoption(parser): help="Run the MLD tool instead of just comparing for bitexactness", ) parser.addoption( "--mld-lim", action="store", help="MLD limit for comparison (default: 0)", default="0", ) @pytest.fixture(scope="session", autouse=True) def update_ref(request): Loading @@ -177,6 +183,12 @@ def get_mld(request): """ return request.config.option.mld @pytest.fixture(scope="session", autouse=True) def get_mld_lim(request): """ Return MLD limit for MLD comparison """ return float(request.config.getoption("--mld-lim")) @pytest.fixture(scope="session") def keep_files(request) -> bool: Loading