From 0c5cf6827c87837416b4dc2a90223953bb475149 Mon Sep 17 00:00:00 2001 From: Seb M'Caw Date: Wed, 28 Aug 2024 13:13:16 +0000 Subject: [PATCH] Fix tests --- testsuite/drivers/helpers.py | 15 ++++++++++++--- testsuite/tests/publish/private-indexes/test.py | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/testsuite/drivers/helpers.py b/testsuite/drivers/helpers.py index 986a9db66..f931c0fcd 100644 --- a/testsuite/drivers/helpers.py +++ b/testsuite/drivers/helpers.py @@ -340,12 +340,15 @@ def __enter__(self): substitution_dict=self._substitution_dict, actual_git_path=shutil.which("git") ) - # Write the script to somewhere on PATH + # Add the directory to PATH try: os.mkdir(self._mock_git_dir) except FileExistsError: pass - os.environ["PATH"] = f'{self._mock_git_dir}:{os.environ["PATH"]}' + os.environ["PATH"] = ( + f'{self._mock_git_dir}{os.pathsep}{os.environ["PATH"]}' + ) + # Write the script to the directory wrapper_descriptor = os.open( os.path.join(self._mock_git_dir, "git"), flags=(os.O_WRONLY | os.O_CREAT | os.O_EXCL), @@ -353,11 +356,17 @@ def __enter__(self): ) with open(wrapper_descriptor, "w") as f: f.write(wrapper_script) + # On Windows, use a .bat file to make executable without ".exe" suffix + if on_windows(): + with open(os.path.join(self._mock_git_dir, "git.bat"), "w") as f: + f.write(f"python {os.path.join(self._mock_git_dir, 'git')}") def __exit__(self, type, value, traceback): # Restore PATH os.environ["PATH"] = os.environ["PATH"].replace( - f'{self._mock_git_dir}:', '', 1 + f'{self._mock_git_dir}{os.pathsep}', '', 1 ) # Delete the wrapper script os.remove(os.path.join(self._mock_git_dir, "git")) + if on_windows(): + os.remove(os.path.join(self._mock_git_dir, "git.bat")) diff --git a/testsuite/tests/publish/private-indexes/test.py b/testsuite/tests/publish/private-indexes/test.py index d3eacb0f1..adab48671 100644 --- a/testsuite/tests/publish/private-indexes/test.py +++ b/testsuite/tests/publish/private-indexes/test.py @@ -93,7 +93,7 @@ def test( ], input=num_confirms * ["y"], complain_on_error=expect_success, - timeout=3, + timeout=10, ) # Check output matches