diff options
-rw-r--r-- | buildstream/_cas/cascache.py | 6 | ||||
-rw-r--r-- | tests/integration/pullbuildtrees.py | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/buildstream/_cas/cascache.py b/buildstream/_cas/cascache.py index 46bd7d945..63871ebe4 100644 --- a/buildstream/_cas/cascache.py +++ b/buildstream/_cas/cascache.py @@ -198,10 +198,8 @@ class CASCache(): stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) for dirnode in directory.directories: - # Don't try to checkout a dangling ref - if os.path.exists(self.objpath(dirnode.digest)): - fullpath = os.path.join(dest, dirnode.name) - self.checkout(fullpath, dirnode.digest, can_link=can_link) + fullpath = os.path.join(dest, dirnode.name) + self.checkout(fullpath, dirnode.digest, can_link=can_link) for symlinknode in directory.symlinks: # symlink diff --git a/tests/integration/pullbuildtrees.py b/tests/integration/pullbuildtrees.py index 4ed5cb86b..308905690 100644 --- a/tests/integration/pullbuildtrees.py +++ b/tests/integration/pullbuildtrees.py @@ -58,6 +58,8 @@ def test_pullbuildtrees(cli2, tmpdir, datafiles): cas = CASCache(str(tmpdir)) cas.checkout(extractdir, digest) yield os.path.join(extractdir, 'buildtree') + except FileNotFoundError: + yield None finally: utils._force_rmtree(extractdir) @@ -87,7 +89,7 @@ def test_pullbuildtrees(cli2, tmpdir, datafiles): assert element_name in result.get_pulled_elements() elementdigest = share1.has_artifact('test', element_name, cli2.get_element_key(project, element_name)) with cas_extract_buildtree(elementdigest) as buildtreedir: - assert not os.path.isdir(buildtreedir) + assert not buildtreedir result = cli2.run(project=project, args=['--pull-buildtrees', 'artifact', 'pull', element_name]) assert element_name in result.get_pulled_elements() with cas_extract_buildtree(elementdigest) as buildtreedir: @@ -150,7 +152,7 @@ def test_pullbuildtrees(cli2, tmpdir, datafiles): assert "Attempting to fetch missing artifact buildtrees" in result.stderr assert element_name not in result.get_pulled_elements() with cas_extract_buildtree(elementdigest) as buildtreedir: - assert not os.path.isdir(buildtreedir) + assert not buildtreedir assert element_name not in result.get_pushed_elements() assert not share3.has_artifact('test', element_name, cli2.get_element_key(project, element_name)) |