def testFilter(self): # Check filter exists filterConf = FilterReader(name, "jail", basedir=CONFIG_DIR) self.assertEqual(filterConf.getFile(), name) self.assertEqual(filterConf.getName(), "jail") filterConf.read() filterConf.getOptions({}) for opt in filterConf.convert(): if opt[2] == "addfailregex": self.filter.addFailRegex(opt[3]) elif opt[2] == "addignoreregex": self.filter.addIgnoreRegex(opt[3]) self.assertTrue( os.path.isfile(os.path.join(TEST_FILES_DIR, "logs", name)), "No sample log file available for '%s' filter" % name) logFile = fileinput.FileInput( os.path.join(TEST_FILES_DIR, "logs", name)) regexsUsed = set() for line in logFile: jsonREMatch = re.match("^# ?failJSON:(.+)$", line) if jsonREMatch: try: faildata = json.loads(jsonREMatch.group(1)) except ValueError, e: raise ValueError( "%s: %s:%i" % (e, logFile.filename(), logFile.filelineno())) line = next(logFile) elif line.startswith("#") or not line.strip(): continue
def testFilter(self): # Check filter exists filterConf = FilterReader(name, "jail", basedir=CONFIG_DIR) self.assertEqual(filterConf.getFile(), name) self.assertEqual(filterConf.getName(), "jail") filterConf.read() filterConf.getOptions({}) for opt in filterConf.convert(): if opt[2] == "addfailregex": self.filter.addFailRegex(opt[3]) elif opt[2] == "addignoreregex": self.filter.addIgnoreRegex(opt[3]) self.assertTrue( os.path.isfile(os.path.join(TEST_FILES_DIR, "logs", name)), "No sample log file available for '%s' filter" % name) logFile = fileinput.FileInput( os.path.join(TEST_FILES_DIR, "logs", name)) regexsUsed = set() for line in logFile: jsonREMatch = re.match("^# ?failJSON:(.+)$", line) if jsonREMatch: try: faildata = json.loads(jsonREMatch.group(1)) except ValueError, e: raise ValueError("%s: %s:%i" % (e, logFile.filename(), logFile.filelineno())) line = next(logFile) elif line.startswith("#") or not line.strip(): continue
def testFilter(self): # Check filter exists filterConf = FilterReader(name, "jail", basedir=CONFIG_DIR) filterConf.read() filterConf.getOptions({}) for opt in filterConf.convert(): if opt[2] == "addfailregex": self.filter.addFailRegex(opt[3]) if not self.filter.getFailRegex(): # No fail regexs set: likely just common file for includes. return # TODO: Remove exception handling once sample logs obtained for all try: self.assertTrue( os.path.isfile(os.path.join(TEST_FILES_DIR, "logs", name)), "No sample log file available for '%s' filter" % name) except AssertionError: print "I: No sample log file available for '%s' filter" % name return logFile = fileinput.FileInput( os.path.join(TEST_FILES_DIR, "logs", name)) regexsUsed = set() for line in logFile: jsonREMatch = re.match("^# ?failJSON:(.+)$", line) if jsonREMatch: try: faildata = json.loads(jsonREMatch.group(1)) except ValueError, e: raise ValueError("%s: %s:%i" % (e, logFile.filename(), logFile.filelineno())) line = next(logFile) elif line.startswith("#") or not line.strip(): continue