python: Add a switch '--quiet' to the test runner.
authorJustus Winter <justus@g10code.com>
Wed, 30 Nov 2016 09:39:25 +0000 (10:39 +0100)
committerJustus Winter <justus@g10code.com>
Tue, 3 Jan 2017 14:28:36 +0000 (15:28 +0100)
* lang/python/tests/run-tests.py: Add and honor a switch '--quiet'.
This way we can use this script to run Python tests one by one without
the noise, and the script will setup the necessary environment for us.

Signed-off-by: Justus Winter <justus@g10code.com>
lang/python/tests/run-tests.py

index 55d3f11..3f9ece3 100644 (file)
@@ -39,6 +39,8 @@ parser.add_argument('tests', metavar='TEST', type=str, nargs='+',
                     help='A test to run')
 parser.add_argument('-v', '--verbose', action="store_true", default=False,
                     help='Be verbose.')
+parser.add_argument('-q', '--quiet', action="store_true", default=False,
+                    help='Be quiet.')
 parser.add_argument('--interpreters', metavar='PYTHON', type=str,
                     default=[], action=SplitAndAccumulate,
                     help='Use these interpreters to run the tests, ' +
@@ -72,12 +74,15 @@ for interpreter in args.interpreters:
     env = dict(os.environ)
     env["PYTHONPATH"] = builddirs[0]
 
-    print("Running tests using {0} ({1})...".format(interpreter, version))
+    if not args.quiet:
+        print("Running tests using {0} ({1})...".format(interpreter, version))
+
     for test in args.tests:
         status = subprocess.call(
             [interpreter, os.path.join(args.srcdir, test)],
             env=env, stdout=out, stderr=err)
-        print("{0}: {1}".format(status_to_str(status), test))
+        if not args.quiet:
+            print("{0}: {1}".format(status_to_str(status), test))
         results.append(status)
 
 def count(status):
@@ -85,6 +90,8 @@ def count(status):
 def failed():
     return len(list(filter(lambda x: x not in (0, 77, 99), results)))
 
-print("{0} tests run, {1} succeeded, {2} failed, {3} skipped.".format(
-    len(results), count(0), failed(), count(77)))
-sys.exit(len(results) - count(0))
+if not args.quiet:
+    print("{0} tests run, {1} succeeded, {2} failed, {3} skipped.".format(
+        len(results), count(0), failed(), count(77)))
+    sys.exit(len(results) - count(0))
+sys.exit(results[0])