Loading tests/test_param_file.py +27 −4 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ Execute tests specified via a parameter file. import os import errno import platform import filecmp from subprocess import run import pytest from cmp_pcm import cmp_pcm Loading Loading @@ -268,7 +269,7 @@ def test_param_file_tests( # -> construct output filename output_file = f"{testv_base}_{tag_str}.dec.wav" decode( stdout = decode( dut_decoder_frontend, ref_decoder_path, reference_path, Loading @@ -282,13 +283,29 @@ def test_param_file_tests( tracefile_dec, ) # get metadata file paths from decoder stdout md_out_files = list() for line in stdout.split("\n"): line_strip = line.strip() if line_strip.startswith("Output metadata file"): line_split = line_strip.split() md_file = os.path.basename(line_split[-1]) md_out_files.append(md_file) if update_ref in [0, 2]: dut_file = f"{dut_base_path}/param_file/dec/{output_file}" ref_file = f"{reference_path}/param_file/dec/{output_file}" dut_output_file = f"{dut_base_path}/param_file/dec/{output_file}" ref_output_file = f"{reference_path}/param_file/dec/{output_file}" fs = int(sampling_rate) * 1000 cmp_result, reason = cmp_pcm(dut_file, ref_file, output_config, fs) cmp_result, reason = cmp_pcm(dut_output_file, ref_output_file, output_config, fs) assert cmp_result == 0, reason for md_file in md_out_files: print(md_file) dut_metadata_file = f"{dut_base_path}/param_file/dec/{md_file}" ref_metadata_file = f"{reference_path}/param_file/dec/{md_file}" msg = "Metadata output files differ between reference and dut." assert filecmp.cmp(dut_metadata_file, ref_metadata_file), msg # remove DUT output files when test result is OK (to save disk space) if not keep_files: os.remove(f"{dut_base_path}/param_file/enc/{bitstream_file}") Loading Loading @@ -450,6 +467,8 @@ def decode( add_option_list=add_option_list, ) stdout = ref_decoder.stdout if update_ref in [0, 2]: check_and_makedir(dut_out_dir) add_option_list = dec_opts_list Loading @@ -466,3 +485,7 @@ def decode( dut_out_file, add_option_list=add_option_list, ) stdout = decoder_frontend.stdout return stdout No newline at end of file Loading
tests/test_param_file.py +27 −4 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ Execute tests specified via a parameter file. import os import errno import platform import filecmp from subprocess import run import pytest from cmp_pcm import cmp_pcm Loading Loading @@ -268,7 +269,7 @@ def test_param_file_tests( # -> construct output filename output_file = f"{testv_base}_{tag_str}.dec.wav" decode( stdout = decode( dut_decoder_frontend, ref_decoder_path, reference_path, Loading @@ -282,13 +283,29 @@ def test_param_file_tests( tracefile_dec, ) # get metadata file paths from decoder stdout md_out_files = list() for line in stdout.split("\n"): line_strip = line.strip() if line_strip.startswith("Output metadata file"): line_split = line_strip.split() md_file = os.path.basename(line_split[-1]) md_out_files.append(md_file) if update_ref in [0, 2]: dut_file = f"{dut_base_path}/param_file/dec/{output_file}" ref_file = f"{reference_path}/param_file/dec/{output_file}" dut_output_file = f"{dut_base_path}/param_file/dec/{output_file}" ref_output_file = f"{reference_path}/param_file/dec/{output_file}" fs = int(sampling_rate) * 1000 cmp_result, reason = cmp_pcm(dut_file, ref_file, output_config, fs) cmp_result, reason = cmp_pcm(dut_output_file, ref_output_file, output_config, fs) assert cmp_result == 0, reason for md_file in md_out_files: print(md_file) dut_metadata_file = f"{dut_base_path}/param_file/dec/{md_file}" ref_metadata_file = f"{reference_path}/param_file/dec/{md_file}" msg = "Metadata output files differ between reference and dut." assert filecmp.cmp(dut_metadata_file, ref_metadata_file), msg # remove DUT output files when test result is OK (to save disk space) if not keep_files: os.remove(f"{dut_base_path}/param_file/enc/{bitstream_file}") Loading Loading @@ -450,6 +467,8 @@ def decode( add_option_list=add_option_list, ) stdout = ref_decoder.stdout if update_ref in [0, 2]: check_and_makedir(dut_out_dir) add_option_list = dec_opts_list Loading @@ -466,3 +485,7 @@ def decode( dut_out_file, add_option_list=add_option_list, ) stdout = decoder_frontend.stdout return stdout No newline at end of file