Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Seb-MCaw committed Aug 28, 2024
1 parent 28f27cb commit f98a0c4
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 11 deletions.
17 changes: 13 additions & 4 deletions testsuite/drivers/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ def __exit__(self, exc_type, exc_val, exc_tb):
for key in substitution_dict:
args = [arg.replace(key, substitution_dict[key]) for arg in args]
# Run git
p = subprocess.run(['{actual_git_path}'] + args, capture_output=True)
p = subprocess.run([r'{actual_git_path}'] + args, capture_output=True)
# Output substitutions
stdout, stderr = p.stdout.decode(), p.stderr.decode()
for key in substitution_dict:
Expand Down Expand Up @@ -340,24 +340,33 @@ 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),
mode=0o764,
)
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"))
3 changes: 0 additions & 3 deletions testsuite/tests/pin/branch-remote-protocols/test.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
driver: python-script
control:
- [SKIP, "skip_linux", "Test is Linux-only"]
indexes: {}
8 changes: 4 additions & 4 deletions testsuite/tests/publish/private-indexes/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
INDEX_PATH = os.path.join(os.getcwd(), "my_index", "index")


def run(*args):
subprocess.run(*args).check_returncode()
def run(*args, **kwargs):
subprocess.run(*args, **kwargs).check_returncode()

def test(
args,
Expand Down Expand Up @@ -83,7 +83,7 @@ def test(
local_path = os.path.abspath(os.path.join("..", "..", "local", "xxx"))
os.makedirs(local_path)
os.chdir(local_path)
run(["git", "clone", url, local_path])
run(f"git clone {url} {local_path}", shell=True)

# Run alr
p = run_alr_interactive(
Expand All @@ -93,7 +93,7 @@ def test(
],
input=num_confirms * ["y"],
complain_on_error=expect_success,
timeout=3,
timeout=10,
)

# Check output matches
Expand Down

0 comments on commit f98a0c4

Please sign in to comment.