tests: Skip tests that error when loading system files
Change-Id: Ic3fef3f3a7aaf8d3fae9b1d9d28b1c14dc1bad86
Signed-off-by: Sean Wilson <spwilson2@wisc.edu>
diff --git a/tests/testing/units.py b/tests/testing/units.py
index e8b87a0..8a9d307 100644
--- a/tests/testing/units.py
+++ b/tests/testing/units.py
@@ -159,12 +159,14 @@
except OSError as ose:
return self.error("Failed to launch gem5: %s" % ose)
+ m5_stderr = self._read_output("simerr")
+
stderr = "\n".join([
"*** gem5 stderr ***",
gem5_stderr,
"",
"*** m5out/simerr ***",
- self._read_output("simerr"),
+ m5_stderr
])
stdout = "\n".join([
@@ -182,6 +184,14 @@
elif status == 2:
return self.skip(stdout=stdout, stderr=stderr)
elif status > 0:
+ m5_stderr_split = m5_stderr.splitlines()
+
+ if m5_stderr_split and m5_stderr_split[-1] == \
+ "IOError: Can't find a path to system files.":
+
+ return self.skip(stdout="Unable to find a required file for"
+ "this test.")
+
return self.error("gem5 exited with non-zero status: %i" % status,
stdout=stdout, stderr=stderr)
else:
@@ -257,6 +267,7 @@
if diff:
return self.error("ref/%s and out/%s differ" % (fname, fname),
stderr="".join(diff))
+
else:
return self.ok(stdout="-- ref/%s and out/%s are identical --" \
% (fname, fname))