Skip to content

Commit

Permalink
Mark test_clone_command_injection xfail on Windows
Browse files Browse the repository at this point in the history
This other GitCommandError on Windows is not related to
IndexFile.from_tree whose 8 related failing tests were marked
xfail in the preceding commit.

In addition, test_clone_command_injection should not be confused
with test_clone_test_clone_from_command_injection, which passes on
all platforms.

The problem here appears to be that, on Windows, the path of the
directory GitPython is intended to clone to (when the possible
security vulnerability this test checks for is *absent*) is not
valid. So this is a test bug, and it *appears* that the code under
test does not have the vulnerability being checked for.

This doesn't appear to be reported as a bug, but some general
context about the current implementation of this test can be
examined in gitpython-developers#1531 where the last major change to it was done.

When the test is fixed, that will become more clear. At that time,
this commit can be reverted to remove the xfail mark.
  • Loading branch information
EliahKagan committed Nov 15, 2023
1 parent 6e477e3 commit d53a9db
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions test/test_repo.py
Original file line number Diff line number Diff line change
Expand Up @@ -1365,6 +1365,11 @@ def test_do_not_strip_newline_in_stdout(self, rw_dir):
r.git.commit(message="init")
self.assertEqual(r.git.show("HEAD:hello.txt", strip_newline_in_stdout=False), "hello\n")

@pytest.mark.xfail(
os.name == "nt",
reason=R"fatal: could not create leading directories of '--upload-pack=touch C:\Users\ek\AppData\Local\Temp\tmpnantqizc\pwn': Invalid argument", # noqa: E501
raises=GitCommandError,
)
@with_rw_repo("HEAD")
def test_clone_command_injection(self, rw_repo):
with tempfile.TemporaryDirectory() as tdir:
Expand Down

0 comments on commit d53a9db

Please sign in to comment.