summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Schubert <ben.c.schubert@gmail.com>2019-03-15 12:08:54 +0000
committerBenjamin Schubert <ben.c.schubert@gmail.com>2019-03-16 13:46:16 +0000
commitcc3e0c1ba4c97b62f407daf75b81012a6b341430 (patch)
tree306f52b0c0e29f609520e047a472b59209483a5f
parent05667cd8ec522da9b62ce37cc3e9ba66109ed520 (diff)
downloadbuildstream-bschubert/pipeline-next.tar.gz
tests:workspace: make deeper tests when trying to build allbschubert/pipeline-next
-rw-r--r--tests/frontend/workspace.py25
-rw-r--r--tests/frontend/workspaced-build-dep/elements/elem2.bst3
-rw-r--r--tests/frontend/workspaced-build-dep/elements/elem3.bst5
-rw-r--r--tests/frontend/workspaced-build-dep/elements/elem4.bst8
-rw-r--r--tests/frontend/workspaced-build-dep/elements/stack.bst3
-rw-r--r--tests/frontend/workspaced-build-dep/files/file40
-rw-r--r--tests/frontend/workspaced-runtime-dep/elements/elem2.bst5
-rw-r--r--tests/frontend/workspaced-runtime-dep/elements/elem3.bst5
-rw-r--r--tests/frontend/workspaced-runtime-dep/elements/elem4.bst8
-rw-r--r--tests/frontend/workspaced-runtime-dep/elements/stack.bst2
-rw-r--r--tests/frontend/workspaced-runtime-dep/files/file40
11 files changed, 48 insertions, 16 deletions
diff --git a/tests/frontend/workspace.py b/tests/frontend/workspace.py
index 662ef728d..516ef114a 100644
--- a/tests/frontend/workspace.py
+++ b/tests/frontend/workspace.py
@@ -1236,11 +1236,18 @@ TEST_DIR = os.path.join(
@pytest.mark.datafiles(TEST_DIR)
-@pytest.mark.parametrize("case", [("workspaced-build-dep"), ("workspaced-runtime-dep")])
+@pytest.mark.parametrize(
+ ["case", "non_workspaced_elements_state"],
+ [
+ ("workspaced-build-dep", ["waiting", "waiting", "waiting", "waiting"]),
+ ("workspaced-runtime-dep", ["buildable", "buildable", "waiting", "waiting"])
+ ],
+)
@pytest.mark.parametrize("strict", [("strict"), ("non-strict")])
-def test_build_all(cli, tmpdir, datafiles, case, strict):
+def test_build_all(cli, tmpdir, datafiles, case, strict, non_workspaced_elements_state):
project = os.path.join(str(datafiles), case)
workspace = os.path.join(str(tmpdir), 'workspace')
+ non_leaf_elements = ["elem2.bst", "elem3.bst", "stack.bst", "elem4.bst"]
# Configure strict mode
strict_mode = True
@@ -1258,9 +1265,19 @@ def test_build_all(cli, tmpdir, datafiles, case, strict):
result = cli.run(project=project, args=['workspace', 'open', '--directory', workspace, 'elem1.bst'])
result.assert_success()
+ # Ensure all elements are waiting build the first
+ assert cli.get_element_state(project, 'elem1.bst') == 'buildable'
+ assert [
+ cli.get_element_state(project, element)
+ for element in non_leaf_elements
+ ] == non_workspaced_elements_state
+
# Now build the target elem3.bst
- result = cli.run(project=project, args=['build', 'elem3.bst'])
+ result = cli.run(project=project, args=['build', 'elem4.bst'])
result.assert_success()
# Assert that the target is built
- assert cli.get_element_state(project, 'elem3.bst') == 'cached'
+ assert [
+ cli.get_element_state(project, element)
+ for element in ["elem1.bst", *non_leaf_elements]
+ ] == ["cached"] * (len(non_leaf_elements) + 1)
diff --git a/tests/frontend/workspaced-build-dep/elements/elem2.bst b/tests/frontend/workspaced-build-dep/elements/elem2.bst
index 1233c0885..78af3ba44 100644
--- a/tests/frontend/workspaced-build-dep/elements/elem2.bst
+++ b/tests/frontend/workspaced-build-dep/elements/elem2.bst
@@ -1,5 +1,8 @@
kind: import
+build-depends:
+- elem1.bst
+
sources:
- kind: local
path: files/file2
diff --git a/tests/frontend/workspaced-build-dep/elements/elem3.bst b/tests/frontend/workspaced-build-dep/elements/elem3.bst
index 4c9bf899c..6e1de0de4 100644
--- a/tests/frontend/workspaced-build-dep/elements/elem3.bst
+++ b/tests/frontend/workspaced-build-dep/elements/elem3.bst
@@ -1,8 +1,7 @@
kind: import
-depends:
-- filename: stack.bst
- type: build
+build-depends:
+- elem2.bst
sources:
- kind: local
diff --git a/tests/frontend/workspaced-build-dep/elements/elem4.bst b/tests/frontend/workspaced-build-dep/elements/elem4.bst
new file mode 100644
index 000000000..a04f509a6
--- /dev/null
+++ b/tests/frontend/workspaced-build-dep/elements/elem4.bst
@@ -0,0 +1,8 @@
+kind: import
+
+build-depends:
+- stack.bst
+
+sources:
+- kind: local
+ path: files/file4
diff --git a/tests/frontend/workspaced-build-dep/elements/stack.bst b/tests/frontend/workspaced-build-dep/elements/stack.bst
index 6ba3614be..b4c6002f0 100644
--- a/tests/frontend/workspaced-build-dep/elements/stack.bst
+++ b/tests/frontend/workspaced-build-dep/elements/stack.bst
@@ -1,5 +1,4 @@
kind: stack
depends:
-- elem1.bst
-- elem2.bst
+- elem3.bst
diff --git a/tests/frontend/workspaced-build-dep/files/file4 b/tests/frontend/workspaced-build-dep/files/file4
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/frontend/workspaced-build-dep/files/file4
diff --git a/tests/frontend/workspaced-runtime-dep/elements/elem2.bst b/tests/frontend/workspaced-runtime-dep/elements/elem2.bst
index 5fb90dfc0..a841b9fd0 100644
--- a/tests/frontend/workspaced-runtime-dep/elements/elem2.bst
+++ b/tests/frontend/workspaced-runtime-dep/elements/elem2.bst
@@ -1,8 +1,7 @@
kind: import
-depends:
-- filename: elem1.bst
- type: runtime
+runtime-depends:
+- elem1.bst
sources:
- kind: local
diff --git a/tests/frontend/workspaced-runtime-dep/elements/elem3.bst b/tests/frontend/workspaced-runtime-dep/elements/elem3.bst
index 4c9bf899c..d817f4bb0 100644
--- a/tests/frontend/workspaced-runtime-dep/elements/elem3.bst
+++ b/tests/frontend/workspaced-runtime-dep/elements/elem3.bst
@@ -1,8 +1,7 @@
kind: import
-depends:
-- filename: stack.bst
- type: build
+runtime-depends:
+- elem2.bst
sources:
- kind: local
diff --git a/tests/frontend/workspaced-runtime-dep/elements/elem4.bst b/tests/frontend/workspaced-runtime-dep/elements/elem4.bst
new file mode 100644
index 000000000..a04f509a6
--- /dev/null
+++ b/tests/frontend/workspaced-runtime-dep/elements/elem4.bst
@@ -0,0 +1,8 @@
+kind: import
+
+build-depends:
+- stack.bst
+
+sources:
+- kind: local
+ path: files/file4
diff --git a/tests/frontend/workspaced-runtime-dep/elements/stack.bst b/tests/frontend/workspaced-runtime-dep/elements/stack.bst
index 3e1ea7920..b4c6002f0 100644
--- a/tests/frontend/workspaced-runtime-dep/elements/stack.bst
+++ b/tests/frontend/workspaced-runtime-dep/elements/stack.bst
@@ -1,4 +1,4 @@
kind: stack
depends:
-- elem2.bst
+- elem3.bst
diff --git a/tests/frontend/workspaced-runtime-dep/files/file4 b/tests/frontend/workspaced-runtime-dep/files/file4
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/frontend/workspaced-runtime-dep/files/file4