diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2019-05-09 06:31:37 +0000 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2019-05-09 06:31:37 +0000 |
commit | 9800accc7432c7ac3f375d7fa0c5f8ed28cd47ff (patch) | |
tree | 8020815ede967a23512e19baa3f5b09a5ea55498 | |
parent | 5dad01068d3c662c335065015c770f8afc8d282f (diff) | |
parent | 34c3034b959ff2b839f17a7cbf998f95aca5ff58 (diff) | |
download | buildstream-9800accc7432c7ac3f375d7fa0c5f8ed28cd47ff.tar.gz |
Merge branch 'tristan/fix-no-strict-junctions' into 'master'
Fix no strict junctions
Closes #1018
See merge request BuildStream/buildstream!1333
-rw-r--r-- | buildstream/_loader/loader.py | 2 | ||||
-rw-r--r-- | tests/frontend/fetch.py | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/buildstream/_loader/loader.py b/buildstream/_loader/loader.py index 31d721b07..261ec40e4 100644 --- a/buildstream/_loader/loader.py +++ b/buildstream/_loader/loader.py @@ -564,7 +564,7 @@ class Loader(): basedir = sources[0]._get_local_path() else: # Stage sources - element._update_state() + element._set_required() basedir = os.path.join(self.project.directory, ".bst", "staged-junctions", filename, element._get_cache_key()) if not os.path.exists(basedir): diff --git a/tests/frontend/fetch.py b/tests/frontend/fetch.py index e330cd407..9e7a55ad9 100644 --- a/tests/frontend/fetch.py +++ b/tests/frontend/fetch.py @@ -79,8 +79,9 @@ def test_fetch_consistency_bug(cli, datafiles): @pytest.mark.datafiles(DATA_DIR) +@pytest.mark.parametrize("strict", [True, False], ids=["strict", "no-strict"]) @pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')]) -def test_unfetched_junction(cli, tmpdir, datafiles, ref_storage): +def test_unfetched_junction(cli, tmpdir, datafiles, strict, ref_storage): project = str(datafiles) subproject_path = os.path.join(project, 'files', 'sub-project') junction_path = os.path.join(project, 'elements', 'junction.bst') @@ -89,6 +90,13 @@ def test_unfetched_junction(cli, tmpdir, datafiles, ref_storage): configure_project(project, { 'ref-storage': ref_storage }) + cli.configure({ + 'projects': { + 'test': { + 'strict': strict + } + } + }) # Create a repo to hold the subproject and generate a junction element for it ref = generate_junction(tmpdir, subproject_path, junction_path, store_ref=(ref_storage == 'inline')) |