author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Tue, 16 Mar 2021 12:52:23 +0100 | |
changeset 46772 | 63a3941d9847 |
parent 45942 | 89a2afe31e82 |
child 48875 | 6000f5b25c9b |
permissions | -rw-r--r-- |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
1 |
# Copyright 2012 Facebook |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
2 |
# |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
3 |
# This software may be used and distributed according to the terms of the |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
4 |
# GNU General Public License version 2 or any later version. |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
5 |
"""Find tests that newly pass under Python 3. |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
6 |
|
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
7 |
The approach is simple: we maintain a whitelist of Python 3 passing |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
8 |
tests in the repository, and periodically run all the /other/ tests |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
9 |
and look for new passes. Any newly passing tests get automatically |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
10 |
added to the whitelist. |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
11 |
|
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
12 |
You probably want to run it like this: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
13 |
|
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
14 |
$ cd tests |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
15 |
$ python3 ../contrib/python3-ratchet.py \ |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
16 |
> --working-tests=../contrib/python3-whitelist |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
17 |
""" |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
18 |
from __future__ import print_function |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
19 |
from __future__ import absolute_import |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
20 |
|
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
21 |
import argparse |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
22 |
import json |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
23 |
import os |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
24 |
import subprocess |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
25 |
import sys |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
26 |
|
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
27 |
_hgenv = dict(os.environ) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
28 |
_hgenv.update( |
45942
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43506
diff
changeset
|
29 |
{ |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43506
diff
changeset
|
30 |
'HGPLAIN': '1', |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
43506
diff
changeset
|
31 |
} |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
32 |
) |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
33 |
|
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
34 |
_HG_FIRST_CHANGE = '9117c6561b0bd7792fa13b50d28239d51b78e51f' |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
35 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
36 |
|
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
37 |
def _runhg(*args): |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
38 |
return subprocess.check_output(args, env=_hgenv) |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
39 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
40 |
|
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
41 |
def _is_hg_repo(path): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
42 |
return ( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
43 |
_runhg('hg', 'log', '-R', path, '-r0', '--template={node}').strip() |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
44 |
== _HG_FIRST_CHANGE |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
45 |
) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
46 |
|
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
47 |
|
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
48 |
def _py3default(): |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
49 |
if sys.version_info[0] >= 3: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
50 |
return sys.executable |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
51 |
return 'python3' |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
52 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
53 |
|
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
54 |
def main(argv=()): |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
55 |
p = argparse.ArgumentParser() |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
56 |
p.add_argument( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
57 |
'--working-tests', help='List of tests that already work in Python 3.' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
58 |
) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
59 |
p.add_argument( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
60 |
'--commit-to-repo', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
61 |
help='If set, commit newly fixed tests to the given repo', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
62 |
) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
63 |
p.add_argument( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
64 |
'-j', |
43506
9f70512ae2cf
cleanup: remove pointless r-prefixes on single-quoted strings
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
65 |
default=os.sysconf('SC_NPROCESSORS_ONLN'), |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
66 |
type=int, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
67 |
help='Number of parallel tests to run.', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
68 |
) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
69 |
p.add_argument( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
70 |
'--python3', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
71 |
default=_py3default(), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
72 |
help='python3 interpreter to use for test run', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
73 |
) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
74 |
p.add_argument( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
75 |
'--commit-user', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
76 |
default='python3-ratchet@mercurial-scm.org', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
77 |
help='Username to specify when committing to a repo.', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
78 |
) |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
79 |
opts = p.parse_args(argv) |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
80 |
if opts.commit_to_repo: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
81 |
if not _is_hg_repo(opts.commit_to_repo): |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
82 |
print('abort: specified repository is not the hg repository') |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
83 |
sys.exit(1) |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
84 |
if not opts.working_tests or not os.path.isfile(opts.working_tests): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
85 |
print( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
86 |
'abort: --working-tests must exist and be a file (got %r)' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
87 |
% opts.working_tests |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
88 |
) |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
89 |
sys.exit(1) |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
90 |
elif opts.commit_to_repo: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
91 |
root = _runhg('hg', 'root').strip() |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
92 |
if not opts.working_tests.startswith(root): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
93 |
print( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
94 |
'abort: if --commit-to-repo is given, ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
95 |
'--working-tests must be from that repo' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
96 |
) |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
97 |
sys.exit(1) |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
98 |
try: |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
99 |
subprocess.check_call( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
100 |
[ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
101 |
opts.python3, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
102 |
'-c', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
103 |
'import sys ; ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
104 |
'assert ((3, 5) <= sys.version_info < (3, 6) ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
105 |
'or sys.version_info >= (3, 6, 2))', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
106 |
] |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
107 |
) |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
108 |
except subprocess.CalledProcessError: |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
109 |
print( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
110 |
'warning: Python 3.6.0 and 3.6.1 have ' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
111 |
'a bug which breaks Mercurial' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
112 |
) |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
113 |
print('(see https://bugs.python.org/issue29714 for details)') |
36589
3790610c2793
py3: bail on ratcheting tests forward on 3.6.0 and 3.6.1
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
32855
diff
changeset
|
114 |
sys.exit(1) |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
115 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
116 |
rt = subprocess.Popen( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
117 |
[ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
118 |
opts.python3, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
119 |
'run-tests.py', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
120 |
'-j', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
121 |
str(opts.j), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
122 |
'--blacklist', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
123 |
opts.working_tests, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
124 |
'--json', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
125 |
] |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
126 |
) |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
127 |
rt.wait() |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
128 |
with open('report.json') as f: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
129 |
data = f.read() |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
130 |
report = json.loads(data.split('=', 1)[1]) |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
131 |
newpass = set() |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
132 |
for test, result in report.items(): |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
133 |
if result['result'] != 'success': |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
134 |
continue |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
135 |
# A new passing test! Huzzah! |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
136 |
newpass.add(test) |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
137 |
if newpass: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
138 |
# We already validated the repo, so we can just dive right in |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
139 |
# and commit. |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
140 |
if opts.commit_to_repo: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
141 |
print(len(newpass), 'new passing tests on Python 3!') |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
142 |
with open(opts.working_tests) as f: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
143 |
oldpass = {l for l in f.read().splitlines() if l} |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
144 |
with open(opts.working_tests, 'w') as f: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
145 |
for p in sorted(oldpass | newpass): |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
146 |
f.write('%s\n' % p) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
147 |
_runhg( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
148 |
'hg', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
149 |
'commit', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
150 |
'-R', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
151 |
opts.commit_to_repo, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
152 |
'--user', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
153 |
opts.commit_user, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
154 |
'--message', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
155 |
'python3: expand list of passing tests', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
156 |
) |
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
157 |
else: |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
158 |
print('Newly passing tests:', '\n'.join(sorted(newpass))) |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
159 |
sys.exit(2) |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
160 |
|
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36589
diff
changeset
|
161 |
|
32855
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
162 |
if __name__ == '__main__': |
28f429d19a71
contrib: add a ratchet for tests in Python 3
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
163 |
main(sys.argv[1:]) |