Mercurial > hg
annotate tests/silenttestrunner.py @ 31975:76169296e52f
obsolescence: add test for the "branch replacement" logic during push, case A2
Mercurial checks for the introduction of new heads on push. Evolution comes
into play to detect if existing branches on the server are being replaced by
some of the new one we push.
The current code for this logic is very basic (eg: issue4354) and was poorly
tested. We have a better implementation coming in the evolve extension fixing
these issues and with more serious tests coverage. In the process of upstreaming
this improved logic, we start with adding the test case that are already passing
with the current implementation. Once they are all in, we'll upstream the better
implementation and the extra test case.
See inline documentation for details about the test case added in this
changeset.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 13 Apr 2017 16:23:01 +0200 |
parents | 403b0a7ab410 |
children | 2372284d9457 |
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 |