annotate tests/silenttestrunner.py @ 35850:079b27b5a869

patch: avoid repeated binary checks if all files in a patch are text Differential Revision: https://phab.mercurial-scm.org/D1940
author Joerg Sonnenberger <joerg@bec.de>
date Thu, 25 Jan 2018 22:40:19 +0100
parents 403b0a7ab410
children 2372284d9457
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28730
73437077753c py3: use print_function in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28729
diff changeset
1 from __future__ import absolute_import, print_function
28736
403b0a7ab410 tests: lexicographical imports in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28730
diff changeset
2 import os
403b0a7ab410 tests: lexicographical imports in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28730
diff changeset
3 import sys
28729
fc2268b9a07c py3: use absolute_import in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 23308
diff changeset
4 import unittest
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:
28730
73437077753c py3: use print_function in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28729
diff changeset
14 print('ERROR:', tc)
73437077753c py3: use print_function in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28729
diff changeset
15 print()
18665
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:
28730
73437077753c py3: use print_function in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28729
diff changeset
18 print('FAIL:', tc)
73437077753c py3: use print_function in silenttestrunner.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28729
diff changeset
19 print()
18665
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