Mercurial > hg
changeset 34803:d817bf1fc675
run-tests: extract Popen logic to a single method
This removes 3 lines in total LOC and makes the upcoming changes easier.
Differential Revision: https://phab.mercurial-scm.org/D948
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 04 Oct 2017 18:50:18 -0700 |
parents | 9c7548eb7d1c |
children | 149109c96904 |
files | tests/run-tests.py |
diffstat | 1 files changed, 7 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Wed Oct 04 18:42:24 2017 -0700 +++ b/tests/run-tests.py Wed Oct 04 18:50:18 2017 -0700 @@ -2103,16 +2103,16 @@ bisectrepo = self._runner.options.bisect_repo if bisectrepo: bisectcmd.extend(['-R', os.path.abspath(bisectrepo)]) - def nooutput(args): + def pread(args): p = subprocess.Popen(args, stderr=subprocess.STDOUT, stdout=subprocess.PIPE) - p.stdout.read() + data = p.stdout.read() p.wait() + return data for test in tests: - nooutput(bisectcmd + ['--reset']), - nooutput(bisectcmd + ['--bad', '.']) - nooutput(bisectcmd + ['--good', - self._runner.options.known_good_rev]) + pread(bisectcmd + ['--reset']), + pread(bisectcmd + ['--bad', '.']) + pread(bisectcmd + ['--good', self._runner.options.known_good_rev]) # TODO: we probably need to forward more options # that alter hg's behavior inside the tests. opts = '' @@ -2121,11 +2121,7 @@ opts += ' --with-hg=%s ' % shellquote(_strpath(withhg)) rtc = '%s %s %s %s' % (sys.executable, sys.argv[0], opts, test) - sub = subprocess.Popen(bisectcmd + ['--command', rtc], - stderr=subprocess.STDOUT, - stdout=subprocess.PIPE) - data = sub.stdout.read() - sub.wait() + data = pread(bisectcmd + ['--command', rtc]) m = re.search( (br'\nThe first (?P<goodbad>bad|good) revision ' br'is:\nchangeset: +\d+:(?P<node>[a-f0-9]+)\n.*\n'