tests/silenttestrunner.py
author Robert Stanca <robert.stanca7@gmail.com>
Sat, 02 Apr 2016 18:16:12 +0300
changeset 28729 fc2268b9a07c
parent 23308 dadcd40b62d8
child 28730 73437077753c
permissions -rw-r--r--
py3: use absolute_import in silenttestrunner.py
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28729
fc2268b9a07c py3: use absolute_import in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 23308
diff changeset
     1
from __future__ import absolute_import
fc2268b9a07c py3: use absolute_import in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 23308
diff changeset
     2
import unittest
fc2268b9a07c py3: use absolute_import in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 23308
diff changeset
     3
import sys
fc2268b9a07c py3: use absolute_import in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 23308
diff changeset
     4
import os
18665
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
     5
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
     6
def main(modulename):
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
     7
    '''run the tests found in module, printing nothing when all tests pass'''
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
     8
    module = sys.modules[modulename]
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
     9
    suite = unittest.defaultTestLoader.loadTestsFromModule(module)
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    10
    results = unittest.TestResult()
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    11
    suite.run(results)
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    12
    if results.errors or results.failures:
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    13
        for tc, exc in results.errors:
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    14
            print 'ERROR:', tc
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    15
            print
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    16
            sys.stdout.write(exc)
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    17
        for tc, exc in results.failures:
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    18
            print 'FAIL:', tc
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    19
            print
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    20
            sys.stdout.write(exc)
2cbfb8c497ee tests: add a test runner utility that prints nothing when all tests pass
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
    21
        sys.exit(1)
23308
dadcd40b62d8 silenttestrunner: add environment variable to make tests noisy again
Augie Fackler <augie@google.com>
parents: 18665
diff changeset
    22
dadcd40b62d8 silenttestrunner: add environment variable to make tests noisy again
Augie Fackler <augie@google.com>
parents: 18665
diff changeset
    23
if os.environ.get('SILENT_BE_NOISY'):
dadcd40b62d8 silenttestrunner: add environment variable to make tests noisy again
Augie Fackler <augie@google.com>
parents: 18665
diff changeset
    24
    main = unittest.main