summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Gomes <tiago.gomes@codethink.co.uk>2018-07-31 12:44:31 +0100
committerTiago Gomes <tiago.avv@gmail.com>2018-08-02 11:24:43 +0000
commitc4c0bb1e04b2da032012b04c92b81d5080fdf7b4 (patch)
tree9bc0ee9352a8550004e5002b51c47c3bf1f3de85
parent4f0f4171a486da59219d84ac181ef44f3f6b3aa4 (diff)
downloadbuildstream-c4c0bb1e04b2da032012b04c92b81d5080fdf7b4.tar.gz
project: validate project paths (element-path)
-rw-r--r--buildstream/_project.py4
-rw-r--r--tests/artifactcache/expiry.py2
2 files changed, 4 insertions, 2 deletions
diff --git a/buildstream/_project.py b/buildstream/_project.py
index 1c30fb9bb..b761d650f 100644
--- a/buildstream/_project.py
+++ b/buildstream/_project.py
@@ -16,6 +16,7 @@
#
# Authors:
# Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
+# Tiago Gomes <tiago.gomes@codethink.co.uk>
import os
import multiprocessing # for cpu_count()
@@ -291,7 +292,8 @@ class Project():
self.element_path = os.path.join(
self.directory,
- _yaml.node_get(config, str, 'element-path')
+ _yaml.node_get_project_path(config, 'element-path', self.directory,
+ check_is_dir=True)
)
# Load project options
diff --git a/tests/artifactcache/expiry.py b/tests/artifactcache/expiry.py
index 62c066605..9c74eb1c4 100644
--- a/tests/artifactcache/expiry.py
+++ b/tests/artifactcache/expiry.py
@@ -234,7 +234,7 @@ def test_never_delete_dependencies(cli, datafiles, tmpdir):
@pytest.mark.datafiles(DATA_DIR)
def test_invalid_cache_quota(cli, datafiles, tmpdir, quota, success):
project = os.path.join(datafiles.dirname, datafiles.basename)
- element_path = os.path.join(project, 'elements')
+ os.makedirs(os.path.join(project, 'elements'))
cli.configure({
'cache': {