1+ import json
12import os
23
34import file_utils
@@ -20,6 +21,7 @@ def fetch_memory_files(memory_folder: str):
2021 return {}, {}
2122 memory_files = file_utils .list_all_text_files (memory_path )
2223 memory_files_content = file_utils .get_existing_files_content (memory_path , memory_files )
24+ console .info (f"Loaded { len (memory_files_content )} memory files." )
2325 return memory_files , memory_files_content
2426
2527 def __init__ (self , codeplain_api , module_build_folder : str ):
@@ -95,3 +97,24 @@ def create_conformance_tests_memory(
9597 if len (response_files ) > 0 :
9698 memory_folder_path = os .path .join (self .memory_folder , CONFORMANCE_TEST_MEMORY_SUBFOLDER )
9799 file_utils .store_response_files (memory_folder_path , response_files , existing_files )
100+
101+ def delete_unresolved_memory_files (self ):
102+ """Delete memory files whose resolution_status is not 'RESOLVED'."""
103+ memory_path = os .path .join (self .memory_folder , CONFORMANCE_TEST_MEMORY_SUBFOLDER )
104+ if not os .path .exists (memory_path ):
105+ return
106+
107+ memory_files = file_utils .list_all_text_files (memory_path )
108+ for file_name in memory_files :
109+ file_path = os .path .join (memory_path , file_name )
110+ try :
111+ with open (file_path , "r" ) as f :
112+ content = json .load (f )
113+ if content .get ("resolution_status" ) == "RESOLVED" :
114+ continue
115+ except (json .JSONDecodeError , OSError ):
116+ # Not a valid JSON file, unlikely to be a valid memory file, delete it
117+ console .error (f"Memory file is not a valid JSON file: { file_name } . Deleting it." )
118+ os .remove (file_path )
119+ os .remove (file_path )
120+ console .debug (f"Deleted temporary memory file: { file_name } " )
0 commit comments