Exemplo n.º 1
0
    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
Exemplo n.º 2
0
	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
Exemplo n.º 3
0
	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