From f933694238f78fbef91367d5051d515e0f9d0635 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 16 Dec 2020 11:32:04 +0100 Subject: [PATCH] clean up properly after test_git Restore original directory after test_git. Otherwise, next tests are run in non-existing directory and fail: [...] > cwd = os.getcwd() E FileNotFoundError: [Errno 2] No such file or directory /usr/lib/python3.9/site-packages/gunicorn/util.py:443: FileNotFoundError While at it, reflow the logic so that the temporary directory is always cleaned, even if the test fails in middle of setup. --- fsspec/implementations/tests/test_git.py | 42 +++++++++++++----------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/fsspec/implementations/tests/test_git.py b/fsspec/implementations/tests/test_git.py index 562b228..4cd4c3f 100644 --- a/fsspec/implementations/tests/test_git.py +++ b/fsspec/implementations/tests/test_git.py @@ -10,30 +10,32 @@ pygit2 = pytest.importorskip("pygit2") @pytest.fixture() def repo(): + orig_dir = os.getcwd() d = tempfile.mkdtemp() - os.chdir(d) - subprocess.call("git init", shell=True, cwd=d) - subprocess.call("git init", shell=True, cwd=d) - subprocess.call('git config user.email "you@example.com"', shell=True, cwd=d) - subprocess.call('git config user.name "Your Name"', shell=True, cwd=d) - open(os.path.join(d, "file1"), "wb").write(b"data0") - subprocess.call("git add file1", shell=True, cwd=d) - subprocess.call('git commit -m "init"', shell=True, cwd=d) - sha = open(os.path.join(d, ".git/refs/heads/master"), "r").read().strip() - open(os.path.join(d, "file1"), "wb").write(b"data00") - subprocess.check_output('git commit -a -m "tagger"', shell=True, cwd=d) - subprocess.call('git tag -a thetag -m "make tag"', shell=True, cwd=d) - open(os.path.join(d, "file2"), "wb").write(b"data000") - subprocess.call("git add file2", shell=True) - subprocess.call('git commit -m "master tip"', shell=True, cwd=d) - subprocess.call("git checkout -b abranch", shell=True, cwd=d) - os.mkdir("inner") - open(os.path.join(d, "inner", "file1"), "wb").write(b"data3") - subprocess.call("git add inner/file1", shell=True, cwd=d) - subprocess.call('git commit -m "branch tip"', shell=True, cwd=d) try: + os.chdir(d) + subprocess.call("git init", shell=True, cwd=d) + subprocess.call("git init", shell=True, cwd=d) + subprocess.call('git config user.email "you@example.com"', shell=True, cwd=d) + subprocess.call('git config user.name "Your Name"', shell=True, cwd=d) + open(os.path.join(d, "file1"), "wb").write(b"data0") + subprocess.call("git add file1", shell=True, cwd=d) + subprocess.call('git commit -m "init"', shell=True, cwd=d) + sha = open(os.path.join(d, ".git/refs/heads/master"), "r").read().strip() + open(os.path.join(d, "file1"), "wb").write(b"data00") + subprocess.check_output('git commit -a -m "tagger"', shell=True, cwd=d) + subprocess.call('git tag -a thetag -m "make tag"', shell=True, cwd=d) + open(os.path.join(d, "file2"), "wb").write(b"data000") + subprocess.call("git add file2", shell=True) + subprocess.call('git commit -m "master tip"', shell=True, cwd=d) + subprocess.call("git checkout -b abranch", shell=True, cwd=d) + os.mkdir("inner") + open(os.path.join(d, "inner", "file1"), "wb").write(b"data3") + subprocess.call("git add inner/file1", shell=True, cwd=d) + subprocess.call('git commit -m "branch tip"', shell=True, cwd=d) yield d, sha finally: + os.chdir(orig_dir) shutil.rmtree(d) -- 2.29.2