mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
test: clean up test dirs (#1904)
* test: clean up test dirs Closes #1770. Partially does #1888. * dvc: close anything opened * test: finalize git repo explicitly to remove test dir later This was previously an issue on Windows.
This commit is contained in:
committed by
Ruslan Kuprieiev
parent
c0104e2e61
commit
7478e7d4b0
@@ -126,9 +126,8 @@ class CheckoutBase(TestDvc):
|
||||
self.dvc.scm.commit("adding " + fname)
|
||||
|
||||
def read_ignored(self):
|
||||
return list(
|
||||
map(lambda s: s.strip("\n"), open(self.GIT_IGNORE).readlines())
|
||||
)
|
||||
with open(self.GIT_IGNORE) as f:
|
||||
return [s.strip("\n") for s in f.readlines()]
|
||||
|
||||
def outs_info(self, stage):
|
||||
FileInfo = collections.namedtuple("FileInfo", "path inode")
|
||||
|
||||
@@ -41,7 +41,8 @@ class TestDefaultOutput(TestDvc):
|
||||
ret = main(["import", tmpfile])
|
||||
self.assertEqual(ret, 0)
|
||||
self.assertTrue(os.path.exists(filename))
|
||||
self.assertEqual(open(filename).read(), "content")
|
||||
with open(filename) as fd:
|
||||
self.assertEqual(fd.read(), "content")
|
||||
|
||||
|
||||
class TestFailedImportMessage(TestDvc):
|
||||
|
||||
+16
-8
@@ -381,7 +381,8 @@ class TestRunUnprotectOutsCopy(TestDvc):
|
||||
)
|
||||
self.assertEqual(ret, 0)
|
||||
self.assertFalse(os.access(self.FOO, os.W_OK))
|
||||
self.assertEqual(open(self.FOO, "r").read(), "foo")
|
||||
with open(self.FOO, "r") as fd:
|
||||
self.assertEqual(fd.read(), "foo")
|
||||
|
||||
ret = main(
|
||||
[
|
||||
@@ -399,7 +400,8 @@ class TestRunUnprotectOutsCopy(TestDvc):
|
||||
)
|
||||
self.assertEqual(ret, 0)
|
||||
self.assertFalse(os.access(self.FOO, os.W_OK))
|
||||
self.assertEqual(open(self.FOO, "r").read(), "foo")
|
||||
with open(self.FOO, "r") as fd:
|
||||
self.assertEqual(fd.read(), "foo")
|
||||
|
||||
|
||||
class TestRunUnprotectOutsSymlink(TestDvc):
|
||||
@@ -432,7 +434,8 @@ class TestRunUnprotectOutsSymlink(TestDvc):
|
||||
self.assertEqual(ret, 0)
|
||||
self.assertFalse(os.access(self.FOO, os.W_OK))
|
||||
self.assertTrue(System.is_symlink(self.FOO))
|
||||
self.assertEqual(open(self.FOO, "r").read(), "foo")
|
||||
with open(self.FOO, "r") as fd:
|
||||
self.assertEqual(fd.read(), "foo")
|
||||
|
||||
ret = main(
|
||||
[
|
||||
@@ -451,7 +454,8 @@ class TestRunUnprotectOutsSymlink(TestDvc):
|
||||
self.assertEqual(ret, 0)
|
||||
self.assertFalse(os.access(self.FOO, os.W_OK))
|
||||
self.assertTrue(System.is_symlink(self.FOO))
|
||||
self.assertEqual(open(self.FOO, "r").read(), "foo")
|
||||
with open(self.FOO, "r") as fd:
|
||||
self.assertEqual(fd.read(), "foo")
|
||||
|
||||
|
||||
class TestRunUnprotectOutsHardlink(TestDvc):
|
||||
@@ -484,7 +488,8 @@ class TestRunUnprotectOutsHardlink(TestDvc):
|
||||
self.assertEqual(ret, 0)
|
||||
self.assertFalse(os.access(self.FOO, os.W_OK))
|
||||
self.assertTrue(System.is_hardlink(self.FOO))
|
||||
self.assertEqual(open(self.FOO, "r").read(), "foo")
|
||||
with open(self.FOO, "r") as fd:
|
||||
self.assertEqual(fd.read(), "foo")
|
||||
|
||||
ret = main(
|
||||
[
|
||||
@@ -503,7 +508,8 @@ class TestRunUnprotectOutsHardlink(TestDvc):
|
||||
self.assertEqual(ret, 0)
|
||||
self.assertFalse(os.access(self.FOO, os.W_OK))
|
||||
self.assertTrue(System.is_hardlink(self.FOO))
|
||||
self.assertEqual(open(self.FOO, "r").read(), "foo")
|
||||
with open(self.FOO, "r") as fd:
|
||||
self.assertEqual(fd.read(), "foo")
|
||||
|
||||
|
||||
class TestCmdRunOverwrite(TestDvc):
|
||||
@@ -603,12 +609,14 @@ class TestCmdRunCliMetrics(TestDvc):
|
||||
def test_cached(self):
|
||||
ret = main(["run", "-m", "metrics.txt", "echo test > metrics.txt"])
|
||||
self.assertEqual(ret, 0)
|
||||
self.assertEqual(open("metrics.txt", "r").read().rstrip(), "test")
|
||||
with open("metrics.txt", "r") as fd:
|
||||
self.assertEqual(fd.read().rstrip(), "test")
|
||||
|
||||
def test_not_cached(self):
|
||||
ret = main(["run", "-M", "metrics.txt", "echo test > metrics.txt"])
|
||||
self.assertEqual(ret, 0)
|
||||
self.assertEqual(open("metrics.txt", "r").read().rstrip(), "test")
|
||||
with open("metrics.txt", "r") as fd:
|
||||
self.assertEqual(fd.read().rstrip(), "test")
|
||||
|
||||
|
||||
class TestCmdRunWorkingDirectory(TestDvc):
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
import os
|
||||
import pytest
|
||||
|
||||
from dvc.system import System
|
||||
from tests.basic_env import TestDir
|
||||
|
||||
|
||||
class TestSystem(TestDir):
|
||||
def test_getdirinfo(self):
|
||||
if os.name != "nt":
|
||||
return
|
||||
|
||||
# simulate someone holding an exclussive access
|
||||
locked = "locked"
|
||||
fd = os.open(locked, os.O_WRONLY | os.O_CREAT | os.O_EXCL)
|
||||
|
||||
@pytest.mark.skipif(os.name != "nt", reason="Windows specific")
|
||||
def test_getdirinfo(tmp_path):
|
||||
# simulate someone holding an exclussive access
|
||||
locked = str(tmp_path / "locked")
|
||||
fd = os.open(locked, os.O_WRONLY | os.O_CREAT | os.O_EXCL)
|
||||
try:
|
||||
# should not raise WinError
|
||||
System.getdirinfo(locked)
|
||||
|
||||
finally:
|
||||
os.close(fd)
|
||||
|
||||
@@ -17,10 +17,10 @@ class TestWorkingTree(TestDir):
|
||||
self.tree = WorkingTree()
|
||||
|
||||
def test_open(self):
|
||||
self.assertEqual(self.tree.open(self.FOO).read(), self.FOO_CONTENTS)
|
||||
self.assertEqual(
|
||||
self.tree.open(self.UNICODE).read(), self.UNICODE_CONTENTS
|
||||
)
|
||||
with self.tree.open(self.FOO) as fd:
|
||||
self.assertEqual(fd.read(), self.FOO_CONTENTS)
|
||||
with self.tree.open(self.UNICODE) as fd:
|
||||
self.assertEqual(fd.read(), self.UNICODE_CONTENTS)
|
||||
|
||||
def test_exists(self):
|
||||
self.assertTrue(self.tree.exists(self.FOO))
|
||||
@@ -47,10 +47,10 @@ class TestGitTree(TestGit):
|
||||
def test_open(self):
|
||||
self.scm.add([self.FOO, self.UNICODE, self.DATA_DIR])
|
||||
self.scm.commit("add")
|
||||
self.assertEqual(self.tree.open(self.FOO).read(), self.FOO_CONTENTS)
|
||||
self.assertEqual(
|
||||
self.tree.open(self.UNICODE).read(), self.UNICODE_CONTENTS
|
||||
)
|
||||
with self.tree.open(self.FOO) as fd:
|
||||
self.assertEqual(fd.read(), self.FOO_CONTENTS)
|
||||
with self.tree.open(self.UNICODE) as fd:
|
||||
self.assertEqual(fd.read(), self.UNICODE_CONTENTS)
|
||||
with self.assertRaises(IOError):
|
||||
self.tree.open("not-existing-file")
|
||||
with self.assertRaises(IOError):
|
||||
|
||||
Reference in New Issue
Block a user