@@ -19,6 +19,9 @@ def accept(event: str, args: tuple) -> None:
1919 pass
2020
2121
22+ args_allow_list = {".coverage" , "matplotlib.rc" , "codeflash" }
23+
24+
2225def reject (event : str , args : tuple ) -> None :
2326 msg = f'codeflash has detected: { event } { args } ".'
2427 raise SideEffectDetectedError (msg )
@@ -40,7 +43,6 @@ def check_open(event: str, args: tuple) -> None:
4043
4144
4245def check_msvcrt_open (event : str , args : tuple ) -> None :
43- print (args )
4446 (handle , flags ) = args
4547 if flags & _BLOCKED_OPEN_FLAGS :
4648 msg = f"codeflash has detected: { event } ({ ', ' .join (map (repr , args ))} )."
@@ -66,8 +68,18 @@ def check_subprocess(event: str, args: tuple) -> None:
6668 reject (event , args )
6769
6870
71+ def handle_os_remove (event : str , args : tuple ) -> None :
72+ filename = str (args [0 ])
73+ if any (pattern in filename for pattern in args_allow_list ):
74+ accept (event , args )
75+ else :
76+ reject (event , args )
77+
78+
6979def check_sqlite_connect (event : str , args : tuple ) -> None :
70- if any ("codeflash_" in arg for arg in args ):
80+ if (
81+ event == "sqlite3.connect" and any (pattern in str (args [0 ]) for pattern in args_allow_list )
82+ ) or event == "sqlite3.connect/handle" :
7183 accept (event , args )
7284 else :
7385 reject (event , args )
@@ -79,6 +91,7 @@ def check_sqlite_connect(event: str, args: tuple) -> None:
7991 "msvcrt.open_osfhandle" : check_msvcrt_open ,
8092 "sqlite3.connect" : check_sqlite_connect ,
8193 "sqlite3.connect/handle" : check_sqlite_connect ,
94+ "os.remove" : handle_os_remove ,
8295}
8396
8497
0 commit comments