# HG changeset patch # User Pierre-Yves David # Date 1625259484 -7200 # Node ID 9d929f9cb9b43bf91d8f855fd4bc1d7733ecd708 # Parent 50829b9149b0dff4b18c6a26ac85badadce95b54 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 diff -r 50829b9149b0 -r 9d929f9cb9b4 tests/run-tests.py --- 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