X-Git-Url: http://ftp.carnet.hr/pub/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fossec-hids%2Fusr%2Fshare%2Fdoc%2Fossec-hids%2Fcontrib%2Fossec-testing%2Fruntests.py;fp=debian%2Fossec-hids%2Fusr%2Fshare%2Fdoc%2Fossec-hids%2Fcontrib%2Fossec-testing%2Fruntests.py;h=0000000000000000000000000000000000000000;hb=946517cefb8751a43a89bda4220221f065f4e5d1;hp=bf821cea8621e667e95986969ba4eb1e311dc2f6;hpb=3f728675941dc69d4e544d3a880a56240a6e394a;p=ossec-hids.git diff --git a/debian/ossec-hids/usr/share/doc/ossec-hids/contrib/ossec-testing/runtests.py b/debian/ossec-hids/usr/share/doc/ossec-hids/contrib/ossec-testing/runtests.py deleted file mode 100644 index bf821ce..0000000 --- a/debian/ossec-hids/usr/share/doc/ossec-hids/contrib/ossec-testing/runtests.py +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env python -import ConfigParser -import subprocess -import os -import sys -import os.path - - -class OssecTester(object): - def __init__(self): - self._error = False - self._debug = False - self._quiet = False - self._ossec_conf = "/var/ossec/etc/ossec.conf" - self._base_dir = "/var/ossec/" - self._ossec_path = "/var/ossec/bin/" - self._test_path = "./tests" - - def buildCmd(self, rule, alert, decoder): - cmd = ['%s/ossec-logtest' % (self._ossec_path), ] - cmd += ['-q'] - if self._ossec_conf: - cmd += ["-c", self._ossec_conf] - if self._base_dir: - cmd += ["-D", self._base_dir] - cmd += ['-U', "%s:%s:%s" % (rule, alert, decoder)] - return cmd - - def runTest(self, log, rule, alert, decoder, section, name, negate=False): - #print self.buildCmd(rule, alert, decoder) - p = subprocess.Popen( - self.buildCmd(rule, alert, decoder), - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - stdin=subprocess.PIPE, - shell=False) - std_out = p.communicate(log)[0] - if (p.returncode != 0 and not negate) or (p.returncode == 0 and negate): - self._error = True - print "" - print "-" * 60 - print "Failed: Exit code = %s" % (p.returncode) - print " Alert = %s" % (alert) - print " Rule = %s" % (rule) - print " Decoder = %s" % (decoder) - print " Section = %s" % (section) - print " line name = %s" % (name) - print " " - print std_out - elif self._debug: - print "Exit code= %s" % (p.returncode) - print std_out - else: - sys.stdout.write(".") - - def run(self, selective_test=False): - for aFile in os.listdir(self._test_path): - aFile = os.path.join(self._test_path, aFile) - if aFile.endswith(".ini"): - if selective_test and not aFile.endswith(selective_test): - continue - print "- [ File = %s ] ---------" % (aFile) - tGroup = ConfigParser.ConfigParser() - tGroup.read([aFile]) - tSections = tGroup.sections() - for t in tSections: - rule = tGroup.get(t, "rule") - alert = tGroup.get(t, "alert") - decoder = tGroup.get(t, "decoder") - for (name, value) in tGroup.items(t): - if name.startswith("log "): - if self._debug: - print "-" * 60 - if name.endswith("pass"): - neg = False - elif name.endswith("fail"): - neg = True - else: - neg = False - self.runTest(value, rule, alert, decoder, - t, name, negate=neg) - print "" - if self._error: - sys.exit(1) - -if __name__ == "__main__": - if len(sys.argv) == 2: - selective_test = sys.argv[1] - if not selective_test.endswith('.ini'): - selective_test += '.ini' - else: - selective_test = False - OT = OssecTester() - OT.run(selective_test)