Loading tests/cmp_stats_files.py +46 −37 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ import pyivastest from collections import OrderedDict def str2num(s): """ Convert string either to integer or float Loading @@ -26,7 +25,10 @@ def str2num(s): except ValueError: return float(s) def cmp_stats_files(ref_stats_file, dut_stats_file, min_enc_file_length_diff = 0.1, min_enc_stats_diff = 0.1) -> (int, str): def cmp_stats_files( ref_stats_file, dut_stats_file, min_enc_file_length_diff=0.1, min_enc_stats_diff=0.1 ) -> (int, str): """ Compare two .stats files containing encoder statistics (extracted from binary files) """ Loading Loading @@ -63,7 +65,11 @@ def cmp_stats_files(ref_stats_file, dut_stats_file, min_enc_file_length_diff = 0 msg += f" has different length between Ref {ref_stats_dict['length']} and DuT {dut_stats_dict['length']}" # check if threshold has been exceeded if abs(ref_stats_dict["length"] - dut_stats_dict["length"]) / file_length > min_enc_file_length_diff: if ( abs(ref_stats_dict["length"] - dut_stats_dict["length"]) / file_length > min_enc_file_length_diff ): result_len_check = 1 msg += f", " Loading Loading @@ -95,7 +101,9 @@ def cmp_stats_files(ref_stats_file, dut_stats_file, min_enc_file_length_diff = 0 # calculate the total number of differences total_num_diff = sum(np.abs(list(diff_hist.values()))) total_num_diff_ratio = total_num_diff / (sum(ref_hist.values()) + sum(cut_hist.values())) total_num_diff_ratio = total_num_diff / ( sum(ref_hist.values()) + sum(cut_hist.values()) ) msg += f"the total number of differences is {total_num_diff} ({(total_num_diff_ratio*100):.2f}%)" if total_num_diff_ratio > min_enc_stats_diff: Loading Loading @@ -125,13 +133,14 @@ def cmp_stats_files(ref_stats_file, dut_stats_file, min_enc_file_length_diff = 0 return enc_test_result, enc_test_result_msg if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("ref_file", type=str) parser.add_argument("cut_file", type=str) parser.add_argument("--data_type", type=str, default='int16', dest="dtype") parser.add_argument("--nsamples_per_frame", type=str, default=960, dest="nsamples_per_frame") parser.add_argument("--data_type", type=str, default="int16", dest="dtype") parser.add_argument( "--nsamples_per_frame", type=str, default=960, dest="nsamples_per_frame" ) parser.add_argument("--len_check", type=int, default=0, dest="len_check") parser.add_argument("--min_diff_thr", type=float, default=0.0, dest="min_diff_thr") args = parser.parse_args() Loading Loading
tests/cmp_stats_files.py +46 −37 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ import pyivastest from collections import OrderedDict def str2num(s): """ Convert string either to integer or float Loading @@ -26,7 +25,10 @@ def str2num(s): except ValueError: return float(s) def cmp_stats_files(ref_stats_file, dut_stats_file, min_enc_file_length_diff = 0.1, min_enc_stats_diff = 0.1) -> (int, str): def cmp_stats_files( ref_stats_file, dut_stats_file, min_enc_file_length_diff=0.1, min_enc_stats_diff=0.1 ) -> (int, str): """ Compare two .stats files containing encoder statistics (extracted from binary files) """ Loading Loading @@ -63,7 +65,11 @@ def cmp_stats_files(ref_stats_file, dut_stats_file, min_enc_file_length_diff = 0 msg += f" has different length between Ref {ref_stats_dict['length']} and DuT {dut_stats_dict['length']}" # check if threshold has been exceeded if abs(ref_stats_dict["length"] - dut_stats_dict["length"]) / file_length > min_enc_file_length_diff: if ( abs(ref_stats_dict["length"] - dut_stats_dict["length"]) / file_length > min_enc_file_length_diff ): result_len_check = 1 msg += f", " Loading Loading @@ -95,7 +101,9 @@ def cmp_stats_files(ref_stats_file, dut_stats_file, min_enc_file_length_diff = 0 # calculate the total number of differences total_num_diff = sum(np.abs(list(diff_hist.values()))) total_num_diff_ratio = total_num_diff / (sum(ref_hist.values()) + sum(cut_hist.values())) total_num_diff_ratio = total_num_diff / ( sum(ref_hist.values()) + sum(cut_hist.values()) ) msg += f"the total number of differences is {total_num_diff} ({(total_num_diff_ratio*100):.2f}%)" if total_num_diff_ratio > min_enc_stats_diff: Loading Loading @@ -125,13 +133,14 @@ def cmp_stats_files(ref_stats_file, dut_stats_file, min_enc_file_length_diff = 0 return enc_test_result, enc_test_result_msg if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("ref_file", type=str) parser.add_argument("cut_file", type=str) parser.add_argument("--data_type", type=str, default='int16', dest="dtype") parser.add_argument("--nsamples_per_frame", type=str, default=960, dest="nsamples_per_frame") parser.add_argument("--data_type", type=str, default="int16", dest="dtype") parser.add_argument( "--nsamples_per_frame", type=str, default=960, dest="nsamples_per_frame" ) parser.add_argument("--len_check", type=int, default=0, dest="len_check") parser.add_argument("--min_diff_thr", type=float, default=0.0, dest="min_diff_thr") args = parser.parse_args() Loading