summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2019-01-11 13:54:43 -0500
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2019-01-16 18:35:21 -0500
commitbbde1c2139618858706f6d9606786943ac8c9a62 (patch)
tree4068b2603047ea3bbee37c4237621aec9bf1c8ee
parent8d676a84f7410ba337be3e3cd8d24d7255cefee7 (diff)
downloadbuildstream-bbde1c2139618858706f6d9606786943ac8c9a62.tar.gz
tests: Migrate dependency order/iteration testing to the format tests
Created new `tests/format/iteration.py` which tests the order in which elements are iterated over in various scopes in a loaded data model.
-rw-r--r--tests/format/dependencies.py125
-rw-r--r--tests/format/dependencies1/elements/alldep.bst (renamed from tests/format/dependencies/elements/alldep.bst)0
-rw-r--r--tests/format/dependencies1/elements/builddep-list.bst (renamed from tests/format/dependencies/elements/builddep-list.bst)0
-rw-r--r--tests/format/dependencies1/elements/builddep.bst (renamed from tests/format/dependencies/elements/builddep.bst)0
-rw-r--r--tests/format/dependencies1/elements/circular-firstdep.bst (renamed from tests/format/dependencies/elements/circular-firstdep.bst)0
-rw-r--r--tests/format/dependencies1/elements/circular-seconddep.bst (renamed from tests/format/dependencies/elements/circular-seconddep.bst)0
-rw-r--r--tests/format/dependencies1/elements/circulartarget.bst (renamed from tests/format/dependencies/elements/circulartarget.bst)0
-rw-r--r--tests/format/dependencies1/elements/firstdep.bst (renamed from tests/format/dependencies/elements/firstdep.bst)0
-rw-r--r--tests/format/dependencies1/elements/invaliddep.bst (renamed from tests/format/dependencies/elements/invaliddep.bst)0
-rw-r--r--tests/format/dependencies1/elements/invaliddeptype.bst (renamed from tests/format/dependencies/elements/invaliddeptype.bst)0
-rw-r--r--tests/format/dependencies1/elements/list-combine.bst (renamed from tests/format/dependencies/elements/list-combine.bst)0
-rw-r--r--tests/format/dependencies1/elements/list-overlap.bst (renamed from tests/format/dependencies/elements/list-overlap.bst)0
-rw-r--r--tests/format/dependencies1/elements/runtimedep-list.bst (renamed from tests/format/dependencies/elements/runtimedep-list.bst)0
-rw-r--r--tests/format/dependencies1/elements/runtimedep.bst (renamed from tests/format/dependencies/elements/runtimedep.bst)0
-rw-r--r--tests/format/dependencies1/elements/seconddep.bst (renamed from tests/format/dependencies/elements/seconddep.bst)0
-rw-r--r--tests/format/dependencies1/elements/shareddep.bst (renamed from tests/format/dependencies/elements/shareddep.bst)0
-rw-r--r--tests/format/dependencies1/elements/shareddeptarget.bst (renamed from tests/format/dependencies/elements/shareddeptarget.bst)0
-rw-r--r--tests/format/dependencies1/elements/target-depdict.bst (renamed from tests/format/dependencies/elements/target-depdict.bst)0
-rw-r--r--tests/format/dependencies1/elements/target.bst (renamed from tests/format/dependencies/elements/target.bst)0
-rw-r--r--tests/format/dependencies1/elements/thirddep.bst (renamed from tests/format/dependencies/elements/thirddep.bst)0
-rw-r--r--tests/format/dependencies1/project.conf (renamed from tests/format/dependencies/project.conf)0
-rw-r--r--tests/format/dependencies2/build-build.bst (renamed from tests/pipeline/load/iterate/build-build.bst)0
-rw-r--r--tests/format/dependencies2/build.bst (renamed from tests/pipeline/load/iterate/build.bst)0
-rw-r--r--tests/format/dependencies2/dep-one.bst (renamed from tests/pipeline/load/iterate/dep-one.bst)0
-rw-r--r--tests/format/dependencies2/dep-two.bst (renamed from tests/pipeline/load/iterate/dep-two.bst)0
-rw-r--r--tests/format/dependencies2/project.conf (renamed from tests/pipeline/load/iterate/project.conf)0
-rw-r--r--tests/format/dependencies2/run-build.bst (renamed from tests/pipeline/load/iterate/run-build.bst)0
-rw-r--r--tests/format/dependencies2/run.bst (renamed from tests/pipeline/load/iterate/run.bst)0
-rw-r--r--tests/format/dependencies2/target.bst (renamed from tests/pipeline/load/iterate/target.bst)0
-rw-r--r--tests/pipeline/load.py90
30 files changed, 108 insertions, 107 deletions
diff --git a/tests/format/dependencies.py b/tests/format/dependencies.py
index bcfa2929a..a6b417a66 100644
--- a/tests/format/dependencies.py
+++ b/tests/format/dependencies.py
@@ -4,15 +4,15 @@ import pytest
from buildstream._exceptions import ErrorDomain, LoadErrorReason
from tests.testutils import cli
-DATA_DIR = os.path.join(
- os.path.dirname(os.path.realpath(__file__)),
- 'dependencies',
-)
+DATA_DIR = os.path.dirname(os.path.realpath(__file__))
+#
+# Exercising some different ways of loading the dependencies
+#
@pytest.mark.datafiles(DATA_DIR)
def test_two_files(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
elements = cli.get_pipeline(project, ['target.bst'])
assert elements == ['firstdep.bst', 'target.bst']
@@ -20,7 +20,7 @@ def test_two_files(cli, datafiles):
@pytest.mark.datafiles(DATA_DIR)
def test_shared_dependency(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
elements = cli.get_pipeline(project, ['shareddeptarget.bst'])
assert elements == ['firstdep.bst', 'shareddep.bst', 'shareddeptarget.bst']
@@ -28,35 +28,35 @@ def test_shared_dependency(cli, datafiles):
@pytest.mark.datafiles(DATA_DIR)
def test_dependency_dict(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
elements = cli.get_pipeline(project, ['target-depdict.bst'])
assert elements == ['firstdep.bst', 'target-depdict.bst']
@pytest.mark.datafiles(DATA_DIR)
def test_invalid_dependency_declaration(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
result = cli.run(project=project, args=['show', 'invaliddep.bst'])
result.assert_main_error(ErrorDomain.LOAD, LoadErrorReason.INVALID_DATA)
@pytest.mark.datafiles(DATA_DIR)
def test_invalid_dependency_type(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
result = cli.run(project=project, args=['show', 'invaliddeptype.bst'])
result.assert_main_error(ErrorDomain.LOAD, LoadErrorReason.INVALID_DATA)
@pytest.mark.datafiles(DATA_DIR)
def test_circular_dependency(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
result = cli.run(project=project, args=['show', 'circulartarget.bst'])
result.assert_main_error(ErrorDomain.LOAD, LoadErrorReason.CIRCULAR_DEPENDENCY)
@pytest.mark.datafiles(DATA_DIR)
def test_build_dependency(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
elements = cli.get_pipeline(project, ['builddep.bst'], scope='run')
assert elements == ['builddep.bst']
@@ -67,7 +67,7 @@ def test_build_dependency(cli, datafiles):
@pytest.mark.datafiles(DATA_DIR)
def test_runtime_dependency(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
elements = cli.get_pipeline(project, ['runtimedep.bst'], scope='build')
# FIXME: The empty line should probably never happen here when there are no results.
@@ -78,7 +78,7 @@ def test_runtime_dependency(cli, datafiles):
@pytest.mark.datafiles(DATA_DIR)
def test_all_dependency(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
elements = cli.get_pipeline(project, ['alldep.bst'], scope='build')
assert elements == ['firstdep.bst']
@@ -89,7 +89,7 @@ def test_all_dependency(cli, datafiles):
@pytest.mark.datafiles(DATA_DIR)
def test_list_build_dependency(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
# Check that the pipeline includes the build dependency
deps = cli.get_pipeline(project, ['builddep-list.bst'], scope="build")
@@ -98,7 +98,7 @@ def test_list_build_dependency(cli, datafiles):
@pytest.mark.datafiles(DATA_DIR)
def test_list_runtime_dependency(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
# Check that the pipeline includes the runtime dependency
deps = cli.get_pipeline(project, ['runtimedep-list.bst'], scope="run")
@@ -107,7 +107,7 @@ def test_list_runtime_dependency(cli, datafiles):
@pytest.mark.datafiles(DATA_DIR)
def test_list_dependencies_combined(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
# Check that runtime deps get combined
rundeps = cli.get_pipeline(project, ['list-combine.bst'], scope="run")
@@ -124,10 +124,101 @@ def test_list_dependencies_combined(cli, datafiles):
@pytest.mark.datafiles(DATA_DIR)
def test_list_overlap(cli, datafiles):
- project = str(datafiles)
+ project = os.path.join(str(datafiles), 'dependencies1')
# Check that dependencies get merged
rundeps = cli.get_pipeline(project, ['list-overlap.bst'], scope="run")
assert "firstdep.bst" in rundeps
builddeps = cli.get_pipeline(project, ['list-overlap.bst'], scope="build")
assert "firstdep.bst" in builddeps
+
+
+#
+# Testing the order of elements reported when iterating through
+# Element.dependencies() with various scopes.
+#
+@pytest.mark.datafiles(DATA_DIR)
+def test_scope_all(cli, datafiles):
+ project = os.path.join(str(datafiles), 'dependencies2')
+ elements = ['target.bst']
+
+ element_list = cli.get_pipeline(project, elements, scope='all')
+
+ assert(len(element_list) == 7)
+
+ assert(element_list[0] == "build-build.bst")
+ assert(element_list[1] == "run-build.bst")
+ assert(element_list[2] == "build.bst")
+ assert(element_list[3] == "dep-one.bst")
+ assert(element_list[4] == "run.bst")
+ assert(element_list[5] == "dep-two.bst")
+ assert(element_list[6] == "target.bst")
+
+
+@pytest.mark.datafiles(DATA_DIR)
+def test_scope_run(cli, datafiles):
+ project = os.path.join(str(datafiles), 'dependencies2')
+ elements = ['target.bst']
+
+ element_list = cli.get_pipeline(project, elements, scope='run')
+
+ assert(len(element_list) == 4)
+
+ assert(element_list[0] == "dep-one.bst")
+ assert(element_list[1] == "run.bst")
+ assert(element_list[2] == "dep-two.bst")
+ assert(element_list[3] == "target.bst")
+
+
+@pytest.mark.datafiles(DATA_DIR)
+def test_scope_build(cli, datafiles):
+ project = os.path.join(str(datafiles), 'dependencies2')
+ elements = ['target.bst']
+
+ element_list = cli.get_pipeline(project, elements, scope='build')
+
+ assert(len(element_list) == 3)
+
+ assert(element_list[0] == "dep-one.bst")
+ assert(element_list[1] == "run.bst")
+ assert(element_list[2] == "dep-two.bst")
+
+
+@pytest.mark.datafiles(DATA_DIR)
+def test_scope_build_of_child(cli, datafiles):
+ project = os.path.join(str(datafiles), 'dependencies2')
+ elements = ['target.bst']
+
+ element_list = cli.get_pipeline(project, elements, scope='build')
+
+ # First pass, lets check dep-two
+ element = element_list[2]
+
+ # Pass two, let's look at these
+ element_list = cli.get_pipeline(project, [element], scope='build')
+
+ assert(len(element_list) == 2)
+
+ assert(element_list[0] == "run-build.bst")
+ assert(element_list[1] == "build.bst")
+
+
+@pytest.mark.datafiles(DATA_DIR)
+def test_no_recurse(cli, datafiles):
+ project = os.path.join(str(datafiles), 'dependencies2')
+ elements = ['target.bst']
+
+ # We abuse the 'plan' scope here to ensure that we call
+ # element.dependencies() with recurse=False - currently, no `bst
+ # show` option does this directly.
+ element_list = cli.get_pipeline(project, elements, scope='plan')
+
+ assert(len(element_list) == 7)
+
+ assert(element_list[0] == 'build-build.bst')
+ assert(element_list[1] in ['build.bst', 'run-build.bst'])
+ assert(element_list[2] in ['build.bst', 'run-build.bst'])
+ assert(element_list[3] in ['dep-one.bst', 'run.bst', 'dep-two.bst'])
+ assert(element_list[4] in ['dep-one.bst', 'run.bst', 'dep-two.bst'])
+ assert(element_list[5] in ['dep-one.bst', 'run.bst', 'dep-two.bst'])
+ assert(element_list[6] == 'target.bst')
diff --git a/tests/format/dependencies/elements/alldep.bst b/tests/format/dependencies1/elements/alldep.bst
index 7df79c92d..7df79c92d 100644
--- a/tests/format/dependencies/elements/alldep.bst
+++ b/tests/format/dependencies1/elements/alldep.bst
diff --git a/tests/format/dependencies/elements/builddep-list.bst b/tests/format/dependencies1/elements/builddep-list.bst
index a0cbcaf23..a0cbcaf23 100644
--- a/tests/format/dependencies/elements/builddep-list.bst
+++ b/tests/format/dependencies1/elements/builddep-list.bst
diff --git a/tests/format/dependencies/elements/builddep.bst b/tests/format/dependencies1/elements/builddep.bst
index ab8171e2c..ab8171e2c 100644
--- a/tests/format/dependencies/elements/builddep.bst
+++ b/tests/format/dependencies1/elements/builddep.bst
diff --git a/tests/format/dependencies/elements/circular-firstdep.bst b/tests/format/dependencies1/elements/circular-firstdep.bst
index 604212042..604212042 100644
--- a/tests/format/dependencies/elements/circular-firstdep.bst
+++ b/tests/format/dependencies1/elements/circular-firstdep.bst
diff --git a/tests/format/dependencies/elements/circular-seconddep.bst b/tests/format/dependencies1/elements/circular-seconddep.bst
index 1b944c912..1b944c912 100644
--- a/tests/format/dependencies/elements/circular-seconddep.bst
+++ b/tests/format/dependencies1/elements/circular-seconddep.bst
diff --git a/tests/format/dependencies/elements/circulartarget.bst b/tests/format/dependencies1/elements/circulartarget.bst
index eac50469c..eac50469c 100644
--- a/tests/format/dependencies/elements/circulartarget.bst
+++ b/tests/format/dependencies1/elements/circulartarget.bst
diff --git a/tests/format/dependencies/elements/firstdep.bst b/tests/format/dependencies1/elements/firstdep.bst
index 5c9c1c1e6..5c9c1c1e6 100644
--- a/tests/format/dependencies/elements/firstdep.bst
+++ b/tests/format/dependencies1/elements/firstdep.bst
diff --git a/tests/format/dependencies/elements/invaliddep.bst b/tests/format/dependencies1/elements/invaliddep.bst
index 65c43c60a..65c43c60a 100644
--- a/tests/format/dependencies/elements/invaliddep.bst
+++ b/tests/format/dependencies1/elements/invaliddep.bst
diff --git a/tests/format/dependencies/elements/invaliddeptype.bst b/tests/format/dependencies1/elements/invaliddeptype.bst
index 4f4dac973..4f4dac973 100644
--- a/tests/format/dependencies/elements/invaliddeptype.bst
+++ b/tests/format/dependencies1/elements/invaliddeptype.bst
diff --git a/tests/format/dependencies/elements/list-combine.bst b/tests/format/dependencies1/elements/list-combine.bst
index ed3452206..ed3452206 100644
--- a/tests/format/dependencies/elements/list-combine.bst
+++ b/tests/format/dependencies1/elements/list-combine.bst
diff --git a/tests/format/dependencies/elements/list-overlap.bst b/tests/format/dependencies1/elements/list-overlap.bst
index 0ee94f11c..0ee94f11c 100644
--- a/tests/format/dependencies/elements/list-overlap.bst
+++ b/tests/format/dependencies1/elements/list-overlap.bst
diff --git a/tests/format/dependencies/elements/runtimedep-list.bst b/tests/format/dependencies1/elements/runtimedep-list.bst
index 1207a492d..1207a492d 100644
--- a/tests/format/dependencies/elements/runtimedep-list.bst
+++ b/tests/format/dependencies1/elements/runtimedep-list.bst
diff --git a/tests/format/dependencies/elements/runtimedep.bst b/tests/format/dependencies1/elements/runtimedep.bst
index 6a5247117..6a5247117 100644
--- a/tests/format/dependencies/elements/runtimedep.bst
+++ b/tests/format/dependencies1/elements/runtimedep.bst
diff --git a/tests/format/dependencies/elements/seconddep.bst b/tests/format/dependencies1/elements/seconddep.bst
index 93ded4359..93ded4359 100644
--- a/tests/format/dependencies/elements/seconddep.bst
+++ b/tests/format/dependencies1/elements/seconddep.bst
diff --git a/tests/format/dependencies/elements/shareddep.bst b/tests/format/dependencies1/elements/shareddep.bst
index ac123e253..ac123e253 100644
--- a/tests/format/dependencies/elements/shareddep.bst
+++ b/tests/format/dependencies1/elements/shareddep.bst
diff --git a/tests/format/dependencies/elements/shareddeptarget.bst b/tests/format/dependencies1/elements/shareddeptarget.bst
index b6efb1306..b6efb1306 100644
--- a/tests/format/dependencies/elements/shareddeptarget.bst
+++ b/tests/format/dependencies1/elements/shareddeptarget.bst
diff --git a/tests/format/dependencies/elements/target-depdict.bst b/tests/format/dependencies1/elements/target-depdict.bst
index 6a150753c..6a150753c 100644
--- a/tests/format/dependencies/elements/target-depdict.bst
+++ b/tests/format/dependencies1/elements/target-depdict.bst
diff --git a/tests/format/dependencies/elements/target.bst b/tests/format/dependencies1/elements/target.bst
index b856b0f93..b856b0f93 100644
--- a/tests/format/dependencies/elements/target.bst
+++ b/tests/format/dependencies1/elements/target.bst
diff --git a/tests/format/dependencies/elements/thirddep.bst b/tests/format/dependencies1/elements/thirddep.bst
index 39b58e57a..39b58e57a 100644
--- a/tests/format/dependencies/elements/thirddep.bst
+++ b/tests/format/dependencies1/elements/thirddep.bst
diff --git a/tests/format/dependencies/project.conf b/tests/format/dependencies1/project.conf
index fcd60b6df..fcd60b6df 100644
--- a/tests/format/dependencies/project.conf
+++ b/tests/format/dependencies1/project.conf
diff --git a/tests/pipeline/load/iterate/build-build.bst b/tests/format/dependencies2/build-build.bst
index cd1f73968..cd1f73968 100644
--- a/tests/pipeline/load/iterate/build-build.bst
+++ b/tests/format/dependencies2/build-build.bst
diff --git a/tests/pipeline/load/iterate/build.bst b/tests/format/dependencies2/build.bst
index 9f3ad36eb..9f3ad36eb 100644
--- a/tests/pipeline/load/iterate/build.bst
+++ b/tests/format/dependencies2/build.bst
diff --git a/tests/pipeline/load/iterate/dep-one.bst b/tests/format/dependencies2/dep-one.bst
index a4cb637ec..a4cb637ec 100644
--- a/tests/pipeline/load/iterate/dep-one.bst
+++ b/tests/format/dependencies2/dep-one.bst
diff --git a/tests/pipeline/load/iterate/dep-two.bst b/tests/format/dependencies2/dep-two.bst
index 19ab1b325..19ab1b325 100644
--- a/tests/pipeline/load/iterate/dep-two.bst
+++ b/tests/format/dependencies2/dep-two.bst
diff --git a/tests/pipeline/load/iterate/project.conf b/tests/format/dependencies2/project.conf
index 2027cc27a..2027cc27a 100644
--- a/tests/pipeline/load/iterate/project.conf
+++ b/tests/format/dependencies2/project.conf
diff --git a/tests/pipeline/load/iterate/run-build.bst b/tests/format/dependencies2/run-build.bst
index cd1f73968..cd1f73968 100644
--- a/tests/pipeline/load/iterate/run-build.bst
+++ b/tests/format/dependencies2/run-build.bst
diff --git a/tests/pipeline/load/iterate/run.bst b/tests/format/dependencies2/run.bst
index cd1f73968..cd1f73968 100644
--- a/tests/pipeline/load/iterate/run.bst
+++ b/tests/format/dependencies2/run.bst
diff --git a/tests/pipeline/load/iterate/target.bst b/tests/format/dependencies2/target.bst
index 8a63c5fea..8a63c5fea 100644
--- a/tests/pipeline/load/iterate/target.bst
+++ b/tests/format/dependencies2/target.bst
diff --git a/tests/pipeline/load.py b/tests/pipeline/load.py
index 6a5dff7e4..50fa184b6 100644
--- a/tests/pipeline/load.py
+++ b/tests/pipeline/load.py
@@ -18,96 +18,6 @@ def test_load_simple(cli, datafiles):
assert(result['configure-commands'][0] == 'pony')
-###############################################################
-# Testing Element.dependencies() iteration #
-###############################################################
-@pytest.mark.datafiles(os.path.join(DATA_DIR, 'iterate'))
-def test_iterate_scope_all(cli, datafiles):
- basedir = os.path.join(datafiles.dirname, datafiles.basename)
- elements = ['target.bst']
-
- element_list = cli.get_pipeline(basedir, elements, scope='all')
-
- assert(len(element_list) == 7)
-
- assert(element_list[0] == "build-build.bst")
- assert(element_list[1] == "run-build.bst")
- assert(element_list[2] == "build.bst")
- assert(element_list[3] == "dep-one.bst")
- assert(element_list[4] == "run.bst")
- assert(element_list[5] == "dep-two.bst")
- assert(element_list[6] == "target.bst")
-
-
-@pytest.mark.datafiles(os.path.join(DATA_DIR, 'iterate'))
-def test_iterate_scope_run(cli, datafiles):
- basedir = os.path.join(datafiles.dirname, datafiles.basename)
- elements = ['target.bst']
-
- element_list = cli.get_pipeline(basedir, elements, scope='run')
-
- assert(len(element_list) == 4)
-
- assert(element_list[0] == "dep-one.bst")
- assert(element_list[1] == "run.bst")
- assert(element_list[2] == "dep-two.bst")
- assert(element_list[3] == "target.bst")
-
-
-@pytest.mark.datafiles(os.path.join(DATA_DIR, 'iterate'))
-def test_iterate_scope_build(cli, datafiles):
- basedir = os.path.join(datafiles.dirname, datafiles.basename)
- elements = ['target.bst']
-
- element_list = cli.get_pipeline(basedir, elements, scope='build')
-
- assert(len(element_list) == 3)
-
- assert(element_list[0] == "dep-one.bst")
- assert(element_list[1] == "run.bst")
- assert(element_list[2] == "dep-two.bst")
-
-
-@pytest.mark.datafiles(os.path.join(DATA_DIR, 'iterate'))
-def test_iterate_scope_build_of_child(cli, datafiles):
- basedir = os.path.join(datafiles.dirname, datafiles.basename)
- elements = ['target.bst']
-
- element_list = cli.get_pipeline(basedir, elements, scope='build')
-
- # First pass, lets check dep-two
- element = element_list[2]
-
- # Pass two, let's look at these
- element_list = cli.get_pipeline(basedir, [element], scope='build')
-
- assert(len(element_list) == 2)
-
- assert(element_list[0] == "run-build.bst")
- assert(element_list[1] == "build.bst")
-
-
-@pytest.mark.datafiles(os.path.join(DATA_DIR, 'iterate'))
-def test_iterate_no_recurse(cli, datafiles):
- basedir = os.path.join(datafiles.dirname, datafiles.basename)
- elements = ['target.bst']
-
- # We abuse the 'plan' scope here to ensure that we call
- # element.dependencies() with recurse=False - currently, no `bst
- # show` option does this directly.
- element_list = cli.get_pipeline(basedir, elements, scope='plan')
-
- assert(len(element_list) == 7)
-
- assert(element_list[0] == 'build-build.bst')
- assert(element_list[1] in ['build.bst', 'run-build.bst'])
- assert(element_list[2] in ['build.bst', 'run-build.bst'])
- assert(element_list[3] in ['dep-one.bst', 'run.bst', 'dep-two.bst'])
- assert(element_list[4] in ['dep-one.bst', 'run.bst', 'dep-two.bst'])
- assert(element_list[5] in ['dep-one.bst', 'run.bst', 'dep-two.bst'])
- assert(element_list[6] == 'target.bst')
-
-
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'noloadref'))
@pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
def test_unsupported_load_ref(cli, datafiles, ref_storage):