@@ -41,6 +41,8 @@ class Failures(object):
4141 failedParseOn = None
4242 failedTraceBack = None
4343
44+ _failures = Failures ()
45+
4446def smokeTest ():
4547 """
4648 Runs the basic smoke testing of a program
@@ -193,26 +195,26 @@ def liveTest():
193195 else :
194196 errMsg = "test failed"
195197
196- if Failures .failedItems :
197- errMsg += " at parsing items: %s" % ", " .join (i for i in Failures .failedItems )
198+ if _failures .failedItems :
199+ errMsg += " at parsing items: %s" % ", " .join (i for i in _failures .failedItems )
198200
199201 errMsg += " - scan folder: %s" % paths .SQLMAP_OUTPUT_PATH
200- errMsg += " - traceback: %s" % bool (Failures .failedTraceBack )
202+ errMsg += " - traceback: %s" % bool (_failures .failedTraceBack )
201203
202204 if not vulnerable :
203205 errMsg += " - SQL injection not detected"
204206
205207 logger .error (errMsg )
206208 test_case_fd .write ("%s\n " % errMsg )
207209
208- if Failures .failedParseOn :
210+ if _failures .failedParseOn :
209211 console_output_fd = codecs .open (os .path .join (paths .SQLMAP_OUTPUT_PATH , "console_output" ), "wb" , UNICODE_ENCODING )
210- console_output_fd .write (Failures .failedParseOn )
212+ console_output_fd .write (_failures .failedParseOn )
211213 console_output_fd .close ()
212214
213- if Failures .failedTraceBack :
215+ if _failures .failedTraceBack :
214216 traceback_fd = codecs .open (os .path .join (paths .SQLMAP_OUTPUT_PATH , "traceback" ), "wb" , UNICODE_ENCODING )
215- traceback_fd .write (Failures .failedTraceBack )
217+ traceback_fd .write (_failures .failedTraceBack )
216218 traceback_fd .close ()
217219
218220 beep ()
@@ -233,9 +235,9 @@ def liveTest():
233235 return retVal
234236
235237def initCase (switches , count ):
236- Failures .failedItems = []
237- Failures .failedParseOn = None
238- Failures .failedTraceBack = None
238+ _failures .failedItems = []
239+ _failures .failedParseOn = None
240+ _failures .failedTraceBack = None
239241
240242 paths .SQLMAP_OUTPUT_PATH = tempfile .mkdtemp (prefix = "%s%d-" % (MKSTEMP_PREFIX .TESTING , count ))
241243 paths .SQLMAP_DUMP_PATH = os .path .join (paths .SQLMAP_OUTPUT_PATH , "%s" , "dump" )
@@ -279,10 +281,10 @@ def runCase(parse):
279281 LOGGER_HANDLER .stream = sys .stdout = sys .__stdout__
280282
281283 if unhandled_exception :
282- Failures .failedTraceBack = "unhandled exception: %s" % str (traceback .format_exc ())
284+ _failures .failedTraceBack = "unhandled exception: %s" % str (traceback .format_exc ())
283285 retVal = None
284286 elif handled_exception :
285- Failures .failedTraceBack = "handled exception: %s" % str (traceback .format_exc ())
287+ _failures .failedTraceBack = "handled exception: %s" % str (traceback .format_exc ())
286288 retVal = None
287289 elif result is False : # this means no SQL injection has been detected - if None, ignore
288290 retVal = False
@@ -299,17 +301,17 @@ def runCase(parse):
299301 if item .startswith ("r'" ) and item .endswith ("'" ):
300302 if not re .search (item [2 :- 1 ], parse_on , re .DOTALL ):
301303 retVal = None
302- Failures .failedItems .append (item )
304+ _failures .failedItems .append (item )
303305
304306 elif item not in parse_on :
305307 retVal = None
306- Failures .failedItems .append (item )
308+ _failures .failedItems .append (item )
307309
308- if Failures .failedItems :
309- Failures .failedParseOn = console
310+ if _failures .failedItems :
311+ _failures .failedParseOn = console
310312
311313 elif retVal is False :
312- Failures .failedParseOn = console
314+ _failures .failedParseOn = console
313315
314316 return retVal
315317
0 commit comments