Mercurial > hg
changeset 47498:9d929f9cb9b4
run-tests: avoid an early return
To fix the "python3 pointing to python2" we will also need to create a "python"
pointer. So we will need to create multiple pointer. So we need to stop using
early return.
We replace the early return with a loop and a continue, since the next
changeset will introduce that loop anyway.
Differential Revision: https://phab.mercurial-scm.org/D10942
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 02 Jul 2021 22:58:04 +0200 |
parents | 50829b9149b0 |
children | 9b1710c50230 |
files | tests/run-tests.py |
diffstat | 1 files changed, 14 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Fri Jul 02 22:53:17 2021 +0200 +++ b/tests/run-tests.py Fri Jul 02 22:58:04 2021 +0200 @@ -3540,22 +3540,23 @@ msg = "# Making python executable in test path a symlink to '%s'" msg %= sysexecutable vlog(msg) - mypython = os.path.join(self._tmpbindir, pyexename) - try: - if os.readlink(mypython) == sysexecutable: - return - os.unlink(mypython) - except OSError as err: - if err.errno != errno.ENOENT: - raise - if self._findprogram(pyexename) != sysexecutable: + for pyexename in [pyexename]: + mypython = os.path.join(self._tmpbindir, pyexename) try: - os.symlink(sysexecutable, mypython) - self._createdfiles.append(mypython) + if os.readlink(mypython) == sysexecutable: + continue + os.unlink(mypython) except OSError as err: - # child processes may race, which is harmless - if err.errno != errno.EEXIST: + if err.errno != errno.ENOENT: raise + if self._findprogram(pyexename) != sysexecutable: + try: + os.symlink(sysexecutable, mypython) + self._createdfiles.append(mypython) + except OSError as err: + # child processes may race, which is harmless + if err.errno != errno.EEXIST: + raise else: # Windows doesn't have `python3.exe`, and MSYS cannot understand the # reparse point with that name provided by Microsoft. Create a