summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildstream/_cas/cascache.py6
-rw-r--r--tests/integration/pullbuildtrees.py6
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))