1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
From f933694238f78fbef91367d5051d515e0f9d0635 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
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
|