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))