@@ -19,19 +19,29 @@ def run_symqemu_and_assert_correct_result(self, binary_name):
1919
2020 util .run_symqemu_on_test_binary (binary_name = binary_name , generated_test_cases_output_dir = symqemu_gen_output_dir )
2121
22- expected_hashes = set ()
22+ expected_hashes = {}
2323 for ref_file in symqemu_ref_output_dir .iterdir ():
2424 with open (ref_file , 'rb' , buffering = 0 ) as f :
25- expected_hashes .add (hashlib .file_digest (f , "sha256" ).hexdigest ())
25+ f_hash = hashlib .file_digest (f , "sha256" ).hexdigest ()
26+ expected_hashes [f_hash ] = [False , ref_file ]
2627
2728 testcase_not_found = False
2829 for gen_file in symqemu_gen_output_dir .iterdir ():
2930 with open (gen_file , 'rb' , buffering = 0 ) as f :
3031 f_hash = hashlib .file_digest (f , "sha256" ).hexdigest ()
31- if not f_hash in expected_hashes :
32+ ret = expected_hashes .get (f_hash )
33+ if ret is not None :
34+ ret [0 ] = True
35+ expected_hashes [f_hash ] = ret
36+ else :
3237 print (f"Error: content of file { gen_file } not found in expected testcases." );
3338 testcase_not_found = True
3439
40+ for (is_found , fname ) in expected_hashes .values ():
41+ # (is_found, fname) = tuple(ret)
42+ if not is_found :
43+ print (f"Warning: expected testcase { fname } has not been generated." )
44+
3545 self .assertFalse (testcase_not_found )
3646
3747 def test_simple (self ):
0 commit comments