run_tests: improve exit code behavior

Rather than throw an exception when pytest itself exits non-zero,
pass that back up.  The traceback is never useful, only confusing.

Change-Id: I0cd7bea730e13c9969154326057196295e550843
Reviewed-by: David Pursehouse <>
Tested-by: Mike Frysinger <>
diff --git a/run_tests b/run_tests
index f72b22c..1b35ade 100755
--- a/run_tests
+++ b/run_tests
@@ -27,14 +27,13 @@
 def run_pytest(cmd, argv):
   """Run the unittests via |cmd|."""
-    subprocess.check_call([cmd] + argv)
-    return 0
+    return[cmd] + argv)
   except OSError as e:
     if e.errno == errno.ENOENT:
       print('%s: unable to run `%s`: %s' % (__file__, cmd, e), file=sys.stderr)
       print('%s: Try installing pytest: sudo apt-get install python-pytest' %
             (__file__,), file=sys.stderr)
-      return 1
+      return 127