annotate tests/silenttestrunner.py @ 40479:197f092b2cd9 stable 4.8.2

server: always close http socket if responding with an error (issue6033) It's possible for hgweb to respond _very_ early with an error if we're catching certain types of errors. When we do, we need to tell the client the socket is toast when there's a POST involved because otherwise there can be lingering POST data on the socket that will confuse any future requests on the socket. This manifested as a flaky failure on Linux in an lfs extension test and a reliable failure on FreeBSD. With this patch applied, test-lfs-serve-access.t now passes for me on FreeBSD. Differential Revision: https://phab.mercurial-scm.org/D5498
author Augie Fackler <raf@durin42.com>
date Sun, 06 Jan 2019 14:58:54 -0500
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