tests/silenttestrunner.py
author Matt Harbison <matt_harbison@yahoo.com>
Wed, 11 Jan 2017 22:42:10 -0500
changeset 30782 db38cfc7c29d
parent 28736 403b0a7ab410
child 43076 2372284d9457
permissions -rw-r--r--
revset: stop lowercasing the regex pattern for 'author' It was probably unintentional for regex, as the meaning of some sequences like \S and \s is actually inverted by changing the case. For backward compatibility however, the matching is forced to case insensitive.

from __future__ import absolute_import, print_function
import os
import sys
import unittest

def main(modulename):
    '''run the tests found in module, printing nothing when all tests pass'''
    module = sys.modules[modulename]
    suite = unittest.defaultTestLoader.loadTestsFromModule(module)
    results = unittest.TestResult()
    suite.run(results)
    if results.errors or results.failures:
        for tc, exc in results.errors:
            print('ERROR:', tc)
            print()
            sys.stdout.write(exc)
        for tc, exc in results.failures:
            print('FAIL:', tc)
            print()
            sys.stdout.write(exc)
        sys.exit(1)

if os.environ.get('SILENT_BE_NOISY'):
    main = unittest.main