annotate contrib/python3-ratchet.py @ 48085:6a78715e56c8

dirstate: add a `get_entry` method to the dirstate This method give access to the underlying `DirstateEntry` object (or an empty one if None was there). It should allow us to use the more semantic property of the entry instead of the state where we needs it. Differential Revision: https://phab.mercurial-scm.org/D11522
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 29 Sep 2021 02:37:24 +0200
parents 89a2afe31e82
children 6000f5b25c9b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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:])