From: Jason Ish Date: Fri, 12 Jan 2018 18:59:28 +0000 (-0600) Subject: runner: allow a test to require the existent of files X-Git-Tag: suricata-6.0.4~539 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5d41234ef47a3ec56088c459a46202e3efa51fa;p=thirdparty%2Fsuricata-verify.git runner: allow a test to require the existent of files For example, a test could depend on src/output-filestore.c. --- diff --git a/run.py b/run.py index 8a1dec318..cc345c785 100755 --- a/run.py +++ b/run.py @@ -115,6 +115,12 @@ class TestConfig: raise UnsatisfiedRequirementError( "requires env var %s" % (env)) + if "files" in requires: + for filename in requires["files"]: + if not os.path.exists(filename): + raise UnsatisfiedRequirementError( + "requires file %s" % (filename)) + def has_command(self): return "command" in self.config @@ -189,10 +195,13 @@ class ShellCheck: self.config = config def run(self): - output = subprocess.check_output(self.config["args"], shell=True) - if "expect" in self.config: - return str(self.config["expect"]) == output.decode().strip() - return True + try: + output = subprocess.check_output(self.config["args"], shell=True) + if "expect" in self.config: + return str(self.config["expect"]) == output.decode().strip() + return True + except subprocess.CalledProcessError as err: + raise TestError(err) class StatsCheck: