From 7299f85e98b558edac216af5cd8c1ca2762041bd Mon Sep 17 00:00:00 2001 From: Raoul Hidalgo Charman Date: Thu, 2 May 2019 16:01:13 +0100 Subject: source.py: ensure previous track refs are updated Updates the refs in the job process (but doesn't write), to ensure following sources can see consistency of previous sourcse has been updated. `_save_ref` is renamed `_set_ref` with writing to file now optional. This also changes the previous_source_access test to use a remote, so that it actually tests this cornercase. Fixes #1010 --- tests/sources/previous_source_access.py | 8 ++++++++ tests/sources/previous_source_access/elements/target.bst | 4 ++-- tests/sources/previous_source_access/project.conf | 3 +++ 3 files changed, 13 insertions(+), 2 deletions(-) (limited to 'tests/sources') diff --git a/tests/sources/previous_source_access.py b/tests/sources/previous_source_access.py index a0661ca98..800e0ced5 100644 --- a/tests/sources/previous_source_access.py +++ b/tests/sources/previous_source_access.py @@ -4,6 +4,7 @@ import os import pytest +from buildstream import _yaml from buildstream.testing import cli # pylint: disable=unused-import DATA_DIR = os.path.join( @@ -20,6 +21,13 @@ DATA_DIR = os.path.join( def test_custom_transform_source(cli, datafiles): project = str(datafiles) + # Set the project_dir alias in project.conf to the path to the tested project + project_config_path = os.path.join(project, "project.conf") + project_config = _yaml.load(project_config_path) + aliases = _yaml.node_get(project_config, dict, "aliases") + _yaml.node_set(aliases, "project_dir", "file://{}".format(project)) + _yaml.dump(project_config, project_config_path) + # Ensure we can track result = cli.run(project=project, args=[ 'source', 'track', 'target.bst' diff --git a/tests/sources/previous_source_access/elements/target.bst b/tests/sources/previous_source_access/elements/target.bst index c9d3b9bb6..fd54a28d0 100644 --- a/tests/sources/previous_source_access/elements/target.bst +++ b/tests/sources/previous_source_access/elements/target.bst @@ -1,6 +1,6 @@ kind: import sources: -- kind: local - path: files/file +- kind: remote + url: project_dir:/files/file - kind: foo_transform diff --git a/tests/sources/previous_source_access/project.conf b/tests/sources/previous_source_access/project.conf index 1749b3dba..5d50ec2c5 100644 --- a/tests/sources/previous_source_access/project.conf +++ b/tests/sources/previous_source_access/project.conf @@ -3,6 +3,9 @@ name: foo element-path: elements +aliases: + project_dir: file://{project_dir} + plugins: - origin: local path: plugins/sources -- cgit v1.2.1