summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2019-01-22 11:22:40 -0500
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2019-01-24 00:01:55 -0500
commit6ecc2b0ab076fab452df4e0f0b8091c1fe89ef3a (patch)
tree77706671fb92f82af1e302ddd9d5e5507b069df8
parent68339b19f7ea630f003da5aa5fbb1b577a310092 (diff)
downloadbuildstream-6ecc2b0ab076fab452df4e0f0b8091c1fe89ef3a.tar.gz
tests/artifactcache/expiry.py: Refactored to use get_element_states()
-rw-r--r--tests/artifactcache/expiry.py53
1 files changed, 30 insertions, 23 deletions
diff --git a/tests/artifactcache/expiry.py b/tests/artifactcache/expiry.py
index 1292e50ea..2bdca0d12 100644
--- a/tests/artifactcache/expiry.py
+++ b/tests/artifactcache/expiry.py
@@ -66,8 +66,9 @@ def test_artifact_expires(cli, datafiles, tmpdir):
res.assert_success()
# Check that the correct element remains in the cache
- assert cli.get_element_state(project, 'target.bst') != 'cached'
- assert cli.get_element_state(project, 'target2.bst') == 'cached'
+ states = cli.get_element_states(project, ['target.bst', 'target2.bst'])
+ assert states['target.bst'] != 'cached'
+ assert states['target2.bst'] == 'cached'
# Ensure that we don't end up deleting the whole cache (or worse) if
@@ -144,9 +145,11 @@ def test_expiry_order(cli, datafiles, tmpdir):
# have been removed.
# Note that buildstream will reduce the cache to 50% of the
# original size - we therefore remove multiple elements.
-
- assert (tuple(cli.get_element_state(project, element) for element in
- ('unrelated.bst', 'target.bst', 'target2.bst', 'dep.bst', 'expire.bst')) ==
+ check_elements = [
+ 'unrelated.bst', 'target.bst', 'target2.bst', 'dep.bst', 'expire.bst'
+ ]
+ states = cli.get_element_states(project, check_elements)
+ assert (tuple(states[element] for element in check_elements) ==
('buildable', 'buildable', 'buildable', 'cached', 'cached', ))
@@ -176,8 +179,9 @@ def test_keep_dependencies(cli, datafiles, tmpdir):
res.assert_success()
# Check that the correct element remains in the cache
- assert cli.get_element_state(project, 'dependency.bst') == 'cached'
- assert cli.get_element_state(project, 'unrelated.bst') == 'cached'
+ states = cli.get_element_states(project, ['dependency.bst', 'unrelated.bst'])
+ assert states['dependency.bst'] == 'cached'
+ assert states['unrelated.bst'] == 'cached'
# We try to build an element which depends on the LRU artifact,
# and could therefore fail if we didn't make sure dependencies
@@ -192,9 +196,10 @@ def test_keep_dependencies(cli, datafiles, tmpdir):
res = cli.run(project=project, args=['build', 'target.bst'])
res.assert_success()
- assert cli.get_element_state(project, 'unrelated.bst') != 'cached'
- assert cli.get_element_state(project, 'dependency.bst') == 'cached'
- assert cli.get_element_state(project, 'target.bst') == 'cached'
+ states = cli.get_element_states(project, ['target.bst', 'unrelated.bst'])
+ assert states['target.bst'] == 'cached'
+ assert states['dependency.bst'] == 'cached'
+ assert states['unrelated.bst'] != 'cached'
# Assert that we never delete a dependency required for a build tree
@@ -239,11 +244,11 @@ def test_never_delete_required(cli, datafiles, tmpdir):
# life there may potentially be N-builders cached artifacts
# which exceed the quota
#
- assert cli.get_element_state(project, 'dep1.bst') == 'cached'
- assert cli.get_element_state(project, 'dep2.bst') == 'cached'
-
- assert cli.get_element_state(project, 'dep3.bst') != 'cached'
- assert cli.get_element_state(project, 'target.bst') != 'cached'
+ states = cli.get_element_states(project, ['target.bst'])
+ assert states['dep1.bst'] == 'cached'
+ assert states['dep2.bst'] == 'cached'
+ assert states['dep3.bst'] != 'cached'
+ assert states['target.bst'] != 'cached'
# Assert that we never delete a dependency required for a build tree,
@@ -275,10 +280,11 @@ def test_never_delete_required_track(cli, datafiles, tmpdir):
res.assert_success()
# They should all be cached
- assert cli.get_element_state(project, 'dep1.bst') == 'cached'
- assert cli.get_element_state(project, 'dep2.bst') == 'cached'
- assert cli.get_element_state(project, 'dep3.bst') == 'cached'
- assert cli.get_element_state(project, 'target.bst') == 'cached'
+ states = cli.get_element_states(project, ['target.bst'])
+ assert states['dep1.bst'] == 'cached'
+ assert states['dep2.bst'] == 'cached'
+ assert states['dep3.bst'] == 'cached'
+ assert states['target.bst'] == 'cached'
# Now increase the size of all the elements
#
@@ -296,10 +302,11 @@ def test_never_delete_required_track(cli, datafiles, tmpdir):
# Expect the same result that we did in test_never_delete_required()
#
- assert cli.get_element_state(project, 'dep1.bst') == 'cached'
- assert cli.get_element_state(project, 'dep2.bst') == 'cached'
- assert cli.get_element_state(project, 'dep3.bst') != 'cached'
- assert cli.get_element_state(project, 'target.bst') != 'cached'
+ states = cli.get_element_states(project, ['target.bst'])
+ assert states['dep1.bst'] == 'cached'
+ assert states['dep2.bst'] == 'cached'
+ assert states['dep3.bst'] != 'cached'
+ assert states['target.bst'] != 'cached'
# Ensure that only valid cache quotas make it through the loading