@@ -19,6 +19,9 @@ def accept(event: str, args: tuple) -> None:
19
19
pass
20
20
21
21
22
+ args_allow_list = {".coverage" , "matplotlib.rc" , "codeflash" }
23
+
24
+
22
25
def reject (event : str , args : tuple ) -> None :
23
26
msg = f'codeflash has detected: { event } { args } ".'
24
27
raise SideEffectDetectedError (msg )
@@ -40,7 +43,6 @@ def check_open(event: str, args: tuple) -> None:
40
43
41
44
42
45
def check_msvcrt_open (event : str , args : tuple ) -> None :
43
- print (args )
44
46
(handle , flags ) = args
45
47
if flags & _BLOCKED_OPEN_FLAGS :
46
48
msg = f"codeflash has detected: { event } ({ ', ' .join (map (repr , args ))} )."
@@ -66,8 +68,18 @@ def check_subprocess(event: str, args: tuple) -> None:
66
68
reject (event , args )
67
69
68
70
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
+
69
79
def 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" :
71
83
accept (event , args )
72
84
else :
73
85
reject (event , args )
@@ -79,6 +91,7 @@ def check_sqlite_connect(event: str, args: tuple) -> None:
79
91
"msvcrt.open_osfhandle" : check_msvcrt_open ,
80
92
"sqlite3.connect" : check_sqlite_connect ,
81
93
"sqlite3.connect/handle" : check_sqlite_connect ,
94
+ "os.remove" : handle_os_remove ,
82
95
}
83
96
84
97
0 commit comments