@@ -82,6 +82,9 @@ def check_simulation_task_result(self, simulation_task_result, result_name_filte
8282 if os .path .exists (current_vector_result_file_name ):
8383 run_command_with_logging (["opp_scavetool" , "x" , "--type" , "sth" , "-w" , current_scalar_result_file_name , current_vector_result_file_name , "-o" , current_scalar_result_file_name ])
8484 os .remove (current_vector_result_file_name )
85+ current_index_result_file_name = simulation_project .get_full_path (os .path .join (working_directory , "results" , self .get_result_file_name ("vci" )))
86+ if os .path .exists (current_index_result_file_name ):
87+ os .remove (current_index_result_file_name )
8588 _remove_attr_lines (current_scalar_result_file_name )
8689 stored_scalar_result_file_name = simulation_project .get_full_path (os .path .join (simulation_project .statistics_folder , working_directory , self .get_result_file_name ("sca" )))
8790 _logger .debug (f"Reading result file { current_scalar_result_file_name } " )
@@ -95,9 +98,9 @@ def check_simulation_task_result(self, simulation_task_result, result_name_filte
9598 if not current_df .equals (stored_df ):
9699 _write_diff_file (stored_scalar_result_file_name , current_scalar_result_file_name , scalar_result_diff_file_name )
97100 if current_df .empty :
98- return self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "FAIL" , reason = "Current statistical results are empty" )
101+ task_result = self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "FAIL" , reason = "Current statistical results are empty" )
99102 elif stored_df .empty :
100- return self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "FAIL" , reason = "Stored statistical results are empty" )
103+ task_result = self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "FAIL" , reason = "Stored statistical results are empty" )
101104 else :
102105 merged = stored_df .merge (current_df , on = ['experiment' , 'measurement' , 'replication' , 'module' , 'name' ], how = 'outer' , suffixes = ('_stored' , '_current' ))
103106 df = merged [
@@ -117,11 +120,14 @@ def check_simulation_task_result(self, simulation_task_result, result_name_filte
117120 reason = df .loc [id ].to_string ()
118121 reason = re .sub (r" +" , " = " , reason )
119122 reason = re .sub (r"\n" , ", " , reason )
120- return self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "FAIL" , reason = reason )
123+ task_result = self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "FAIL" , reason = reason )
121124 else :
122- return self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "PASS" )
125+ task_result = self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "PASS" )
123126 else :
124- return self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "ERROR" , reason = "Stored statistical results are not found" )
127+ task_result = self .task_result_class (task = self , simulation_task_result = simulation_task_result , result = "ERROR" , reason = "Stored statistical results are not found" )
128+ if os .path .exists (current_scalar_result_file_name ):
129+ os .remove (current_scalar_result_file_name )
130+ return task_result
125131
126132def get_statistical_test_sim_time_limit (simulation_config , run_number = 0 ):
127133 return simulation_config .sim_time_limit
@@ -173,9 +179,11 @@ def run_protected(self, **kwargs):
173179 target_results_directory = simulation_project .get_full_path (os .path .join (simulation_project .statistics_folder , working_directory ))
174180 os .makedirs (target_results_directory , exist_ok = True )
175181 update_result = super ().run_protected (** kwargs )
182+ stored_scalar_result_file_name = simulation_project .get_full_path (os .path .join (working_directory , "results" , self .get_result_file_name ("sca" )))
176183 if update_result .result == "INSERT" or update_result .result == "UPDATE" :
177- stored_scalar_result_file_name = simulation_project .get_full_path (os .path .join (working_directory , "results" , self .get_result_file_name ("sca" )))
178184 shutil .copy (stored_scalar_result_file_name , target_results_directory )
185+ if os .path .exists (stored_scalar_result_file_name ):
186+ os .remove (stored_scalar_result_file_name )
179187 return update_result
180188
181189 def check_simulation_task_result (self , simulation_task_result , result_name_filter = None , exclude_result_name_filter = None , result_module_filter = None , exclude_result_module_filter = None , full_match = False , ** kwargs ):
@@ -187,6 +195,9 @@ def check_simulation_task_result(self, simulation_task_result, result_name_filte
187195 if os .path .exists (current_vector_result_file_name ):
188196 run_command_with_logging (["opp_scavetool" , "x" , "--type" , "sth" , "-w" , current_scalar_result_file_name , current_vector_result_file_name , "-o" , current_scalar_result_file_name ])
189197 os .remove (current_vector_result_file_name )
198+ current_index_result_file_name = simulation_project .get_full_path (os .path .join (working_directory , "results" , self .get_result_file_name ("vci" )))
199+ if os .path .exists (current_index_result_file_name ):
200+ os .remove (current_index_result_file_name )
190201 _remove_attr_lines (current_scalar_result_file_name )
191202 stored_scalar_result_file_name = simulation_project .get_full_path (os .path .join (simulation_project .statistics_folder , working_directory , self .get_result_file_name ("sca" )))
192203 _logger .debug (f"Reading result file { current_scalar_result_file_name } " )
0 commit comments