summaryrefslogtreecommitdiff
path: root/contrib/cirrus/cirrus_yaml_test.py
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2020-06-25 17:38:33 -0400
committerChris Evich <cevich@redhat.com>2020-10-02 11:53:04 -0400
commit2c9084e2245834094e14e9105e64b6062d70a0f1 (patch)
treee2e5c0be702cdae5919489fd9a1ed1b6f87d135a /contrib/cirrus/cirrus_yaml_test.py
parentb58980a43ccfcef5134274c3963bf68cc51a4983 (diff)
downloadpodman-2c9084e2245834094e14e9105e64b6062d70a0f1.tar.gz
podman-2c9084e2245834094e14e9105e64b6062d70a0f1.tar.bz2
podman-2c9084e2245834094e14e9105e64b6062d70a0f1.zip
Cirrus: Implement podman automation 2.0
Reimplement CI-automation to remove accumulated technical-debt and optimize workflow. The task-dependency graph designed goal was to shorten it's depth and increase width (i.e. more parallelism). A reduction in redundant building (and 3rd party module download) was also realized by caching `$GOPATH` and `$GOCACHE` early on. This cache is then reused in favor of a fresh clone of the repository (when possible). Note: The system tests typically execute MUCH faster than the integration tests. However, contrary to a fail-fast/fail-early principal, they are executed last. This was implemented due to debug-ability related concerns/preferences of the primary (golang-centric) project developers. Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to 'contrib/cirrus/cirrus_yaml_test.py')
-rwxr-xr-xcontrib/cirrus/cirrus_yaml_test.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/contrib/cirrus/cirrus_yaml_test.py b/contrib/cirrus/cirrus_yaml_test.py
index c2ff8e69e..39de0c7b7 100755
--- a/contrib/cirrus/cirrus_yaml_test.py
+++ b/contrib/cirrus/cirrus_yaml_test.py
@@ -26,6 +26,7 @@ class TestCaseBase(unittest.TestCase):
class TestDependsOn(TestCaseBase):
ALL_TASK_NAMES = None
+ SUCCESS_DEPS_EXCLUDE = set(['success', 'release', 'release_test'])
def setUp(self):
super().setUp()
@@ -33,23 +34,29 @@ class TestDependsOn(TestCaseBase):
for key, _ in self.CIRRUS_YAML.items()
if key.endswith('_task')])
- def test_00_dicts(self):
+ def test_dicts(self):
"""Expected dictionaries are present and non-empty"""
self.assertIn('success_task', self.CIRRUS_YAML)
self.assertIn('success_task'.replace('_task', ''), self.ALL_TASK_NAMES)
self.assertIn('depends_on', self.CIRRUS_YAML['success_task'])
self.assertGreater(len(self.CIRRUS_YAML['success_task']['depends_on']), 0)
- def test_01_depends(self):
+ def test_task(self):
+ """There is no task named 'task'"""
+ self.assertNotIn('task', self.ALL_TASK_NAMES)
+
+ def test_depends(self):
"""Success task depends on all other tasks"""
success_deps = set(self.CIRRUS_YAML['success_task']['depends_on'])
- for task_name in self.ALL_TASK_NAMES - set(['success']):
+ for task_name in self.ALL_TASK_NAMES - self.SUCCESS_DEPS_EXCLUDE:
with self.subTest(task_name=task_name):
msg=('Please add "{0}" to the "depends_on" list in "success_task"'
"".format(task_name))
self.assertIn(task_name, success_deps, msg=msg)
-
+ def not_task(self):
+ """Ensure no task is named 'task'"""
+ self.assertNotIn('task', self.ALL_TASK_NAMES)
if __name__ == "__main__":
unittest.main()