summaryrefslogtreecommitdiff
path: root/tests/loader
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2017-07-15 19:22:36 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2017-07-17 22:54:58 +0900
commit0110c98ea36caba57e2bc8f9000aff2d67507083 (patch)
tree92cc7679a1dae66d0d6f367e4c80264cd663a269 /tests/loader
parentfb69e5546256a513fc903a393fe448d9f4f4383b (diff)
downloadbuildstream-0110c98ea36caba57e2bc8f9000aff2d67507083.tar.gz
variant tests: Added tests to ensure default variant is chosen
Both for when depending on a toplevel with variants, or when ambivalently depending on an element with variants.
Diffstat (limited to 'tests/loader')
-rw-r--r--tests/loader/variants.py28
-rw-r--r--tests/loader/variants/elements/depends-on-element-with-variants.bst4
2 files changed, 32 insertions, 0 deletions
diff --git a/tests/loader/variants.py b/tests/loader/variants.py
index e0afe1949..9a3b186d6 100644
--- a/tests/loader/variants.py
+++ b/tests/loader/variants.py
@@ -123,6 +123,34 @@ def test_variant_invalid_unused_dependency(datafiles):
##############################################################
+# Test Variant Default and Priority #
+##############################################################
+@pytest.mark.datafiles(DATA_DIR)
+def test_variant_default_target(datafiles):
+
+ # Assert that the default (first) variant is chosen for a toplevel target with variants.
+ basedir = os.path.join(datafiles.dirname, datafiles.basename)
+ loader = Loader(
+ basedir, 'elements/simple-variant-compositing.bst', None, None, None)
+
+ element = loader.load()
+ assert(element.variant == 'pink')
+
+
+@pytest.mark.datafiles(DATA_DIR)
+def test_variant_default_dependency(datafiles):
+
+ # Assert that the default (first) variant is chosen for a dependency of a toplevel
+ basedir = os.path.join(datafiles.dirname, datafiles.basename)
+ loader = Loader(
+ basedir, 'elements/depends-on-element-with-variants.bst', None, None, None)
+
+ element = loader.load()
+ dependency = element.dependencies[0]
+ assert(dependency.variant == 'pink')
+
+
+##############################################################
# Test Simple Variant Compositing #
##############################################################
@pytest.mark.datafiles(DATA_DIR)
diff --git a/tests/loader/variants/elements/depends-on-element-with-variants.bst b/tests/loader/variants/elements/depends-on-element-with-variants.bst
new file mode 100644
index 000000000..b58eb6903
--- /dev/null
+++ b/tests/loader/variants/elements/depends-on-element-with-variants.bst
@@ -0,0 +1,4 @@
+kind: pony
+description: An element which depends on an element with variants
+depends:
+- elements/simple-dependency-variants.bst