aboutsummaryrefslogtreecommitdiffstats
path: root/test/run_suite.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/run_suite.py')
-rwxr-xr-xtest/run_suite.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/test/run_suite.py b/test/run_suite.py
index 2e93502f..3811a74e 100755
--- a/test/run_suite.py
+++ b/test/run_suite.py
@@ -58,7 +58,7 @@ def run_positive_test(base_uri, command, in_path):
return True
-def run_negative_test(base_uri, command, in_path):
+def run_negative_test(base_uri, command, in_path, ignore):
"""Run a negative syntax test and return whether the error was detected."""
if not os.path.exists(in_path):
@@ -67,10 +67,14 @@ def run_negative_test(base_uri, command, in_path):
command = command + [in_path, base_uri]
proc = subprocess.run(command, check=False, stderr=PIPE, stdout=DEVNULL)
- if proc.returncode == 0:
+ if not ignore and proc.returncode == 0:
util.error("Unexpected successful return: " + in_path)
return False
+ if proc.returncode < 0:
+ util.error("Command seems to have crashed: " + in_path)
+ return False
+
if len(proc.stderr) == 0:
util.error("Command failed with no error output: " + in_path)
return False
@@ -86,7 +90,7 @@ def run_entry(args, entry, command, out_dir, suite_dir):
negative = "Negative" in entry[NS_RDF + "type"][0]
if negative and not args.lax:
- return run_negative_test(base, command, in_path)
+ return run_negative_test(base, command, in_path, args.ignore)
if NS_MF + "result" not in entry:
return run_positive_test(base, command, in_path)
@@ -151,6 +155,7 @@ def main():
)
parser.add_argument("--asserter", help="asserter URI for test report")
+ parser.add_argument("--ignore", action="store_true", help="ignore status")
parser.add_argument("--lax", action="store_true", help="tolerate errors")
parser.add_argument("--report", help="path to write result report to")
parser.add_argument("--reverse", action="store_true", help="reverse test")