Пример #1
0
 def test_create_new(self):
     with namedTemporaryDir() as tmpdir:
         target = os.path.join(tmpdir, "target")
         link = os.path.join(tmpdir, "link")
         fileUtils.atomic_symlink(target, link)
         self.assertEqual(os.readlink(link), target)
         self.assertFalse(os.path.exists(link + ".tmp"))
Пример #2
0
 def test_create_new(self):
     with namedTemporaryDir() as tmpdir:
         target = os.path.join(tmpdir, "target")
         link = os.path.join(tmpdir, "link")
         fileUtils.atomic_symlink(target, link)
         self.assertEqual(os.readlink(link), target)
         self.assertFalse(os.path.exists(link + ".tmp"))
Пример #3
0
def test_atomic_symlink_create_new():
    with namedTemporaryDir() as tmpdir:
        target = os.path.join(tmpdir, "target")
        link = os.path.join(tmpdir, "link")
        fileUtils.atomic_symlink(target, link)
        assert os.readlink(link) == target
        assert not os.path.exists(link + ".tmp")
Пример #4
0
def test_atomic_symlink_error_isdir():
    with namedTemporaryDir() as tmpdir:
        target = os.path.join(tmpdir, "target")
        link = os.path.join(tmpdir, "link")
        os.mkdir(link)
        with pytest.raises(OSError):
            fileUtils.atomic_symlink(target, link)
Пример #5
0
def test_atomic_symlink_error_isfile():
    with namedTemporaryDir() as tmpdir:
        target = os.path.join(tmpdir, "target")
        link = os.path.join(tmpdir, "link")
        with open(link, 'w') as f:
            f.write('data')
        with pytest.raises(OSError):
            fileUtils.atomic_symlink(target, link)
Пример #6
0
 def test_replace_stale_temporary_link(self):
     with namedTemporaryDir() as tmpdir:
         target = os.path.join(tmpdir, "target")
         link = os.path.join(tmpdir, "link")
         tmp_link = link + ".tmp"
         fileUtils.atomic_symlink("stale", tmp_link)
         fileUtils.atomic_symlink(target, link)
         self.assertEqual(os.readlink(link), target)
         self.assertFalse(os.path.exists(tmp_link))
Пример #7
0
 def test_replace_stale_temporary_link(self):
     with namedTemporaryDir() as tmpdir:
         target = os.path.join(tmpdir, "target")
         link = os.path.join(tmpdir, "link")
         tmp_link = link + ".tmp"
         fileUtils.atomic_symlink("stale", tmp_link)
         fileUtils.atomic_symlink(target, link)
         self.assertEqual(os.readlink(link), target)
         self.assertFalse(os.path.exists(tmp_link))
Пример #8
0
def test_atomic_symlink_replace_stale_temporary():
    with namedTemporaryDir() as tmpdir:
        target = os.path.join(tmpdir, "target")
        link = os.path.join(tmpdir, "link")
        tmp_link = link + ".tmp"
        fileUtils.atomic_symlink("stale", tmp_link)
        fileUtils.atomic_symlink(target, link)
        assert os.readlink(link) == target
        assert not os.path.exists(tmp_link)
Пример #9
0
 def test_keep_current(self):
     with namedTemporaryDir() as tmpdir:
         target = os.path.join(tmpdir, "target")
         link = os.path.join(tmpdir, "link")
         fileUtils.atomic_symlink(target, link)
         current = os.lstat(link)
         fileUtils.atomic_symlink(target, link)
         new = os.lstat(link)
         self.assertEqual(current, new)
         self.assertFalse(os.path.exists(link + ".tmp"))
Пример #10
0
 def test_keep_current(self):
     with namedTemporaryDir() as tmpdir:
         target = os.path.join(tmpdir, "target")
         link = os.path.join(tmpdir, "link")
         fileUtils.atomic_symlink(target, link)
         current = os.lstat(link)
         fileUtils.atomic_symlink(target, link)
         new = os.lstat(link)
         self.assertEqual(current, new)
         self.assertFalse(os.path.exists(link + ".tmp"))