Skip to content

Commit 1f3caa3

Browse files
committed
Further clarify comment in test_hook_uses_shell_not_from_cwd
1 parent 3eb7c2a commit 1f3caa3

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

test/test_index.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -1032,16 +1032,16 @@ def test_hook_uses_shell_not_from_cwd(self, rw_dir, case):
10321032
maybe_chdir = cwd(rw_dir) if chdir_to_repo else contextlib.nullcontext()
10331033
repo = Repo.init(rw_dir)
10341034

1035-
# We need an impostor shell that works on Windows and that can be distinguished
1036-
# from the real bash.exe. But even if the real bash.exe is absent or unusable,
1037-
# we should verify that the impostor is not run. So the impostor needs a clear
1038-
# side effect (unlike in TestGit.test_it_executes_git_not_from_cwd). Popen on
1039-
# Windows uses CreateProcessW, which disregards PATHEXT; the impostor may need
1040-
# to be a binary executable to ensure the vulnerability is found if present. No
1041-
# compiler need exist, shipping a binary in the test suite may target the wrong
1042-
# architecture, and generating one in a bespoke way may cause virus scanners to
1043-
# give a false positive. So we use a Bash/Python polyglot for the hook and use
1044-
# the Python interpreter itself as the bash.exe impostor. But an interpreter
1035+
# We need an impostor shell that works on Windows and that the test can
1036+
# distinguish from the real bash.exe. But even if the real bash.exe is absent or
1037+
# unusable, we should verify the impostor is not run. So the impostor needs a
1038+
# clear side effect (unlike in TestGit.test_it_executes_git_not_from_cwd). Popen
1039+
# on Windows uses CreateProcessW, which disregards PATHEXT; the impostor may
1040+
# need to be a binary executable to ensure the vulnerability is found if
1041+
# present. No compiler need exist, shipping a binary in the test suite may
1042+
# target the wrong architecture, and generating one in a bespoke way may trigger
1043+
# false positive virus scans. So we use a Bash/Python polyglot for the hook and
1044+
# use the Python interpreter itself as the bash.exe impostor. But an interpreter
10451045
# from a venv may not run when copied outside of it, and a global interpreter
10461046
# won't run when copied to a different location if it was installed from the
10471047
# Microsoft Store. So we make a new venv in rw_dir and use its interpreter.

0 commit comments

Comments
 (0)