Skip to content
Snippets Groups Projects
Commit bbde1c21 authored by Tristan Van Berkom's avatar Tristan Van Berkom
Browse files

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.
parent 8d676a84
Branches
Tags
Loading
......@@ -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):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment