Merge "Don't always unpack image build results tuple, as it may be None"
This commit is contained in:
commit
3a6a748aba
@ -736,6 +736,11 @@ class KollaWorker(object):
|
||||
|
||||
|
||||
def run_build():
|
||||
"""Build container images.
|
||||
|
||||
:return: A 3-tuple containing bad, good, and unmatched container image
|
||||
status dicts, or None if no images were built.
|
||||
"""
|
||||
conf = cfg.ConfigOpts()
|
||||
common_config.parse(conf, sys.argv[1:], prog='kolla-build')
|
||||
|
||||
@ -790,10 +795,11 @@ def run_build():
|
||||
|
||||
|
||||
def main():
|
||||
bad_results, good_results, unmatched_results = run_build()
|
||||
if len(bad_results):
|
||||
statuses = run_build()
|
||||
if statuses:
|
||||
bad_results, good_results, unmatched_results = statuses
|
||||
if bad_results:
|
||||
return 1
|
||||
else:
|
||||
return 0
|
||||
|
||||
|
||||
|
@ -218,3 +218,30 @@ class KollaWorkerTest(base.TestCase):
|
||||
kolla.images = self.images
|
||||
self.assertRaises(ValueError,
|
||||
kolla.filter_images)
|
||||
|
||||
|
||||
@mock.patch.object(build, 'run_build')
|
||||
class MainTest(base.TestCase):
|
||||
|
||||
def test_images_built(self, mock_run_build):
|
||||
image_statuses = ({}, {'img': 'built'}, {})
|
||||
mock_run_build.return_value = image_statuses
|
||||
result = build.main()
|
||||
self.assertEqual(0, result)
|
||||
|
||||
def test_images_unmatched(self, mock_run_build):
|
||||
image_statuses = ({}, {}, {'img': 'unmatched'})
|
||||
mock_run_build.return_value = image_statuses
|
||||
result = build.main()
|
||||
self.assertEqual(0, result)
|
||||
|
||||
def test_no_images_built(self, mock_run_build):
|
||||
mock_run_build.return_value = None
|
||||
result = build.main()
|
||||
self.assertEqual(0, result)
|
||||
|
||||
def test_bad_images(self, mock_run_build):
|
||||
image_statuses = ({'img': 'error'}, {}, {})
|
||||
mock_run_build.return_value = image_statuses
|
||||
result = build.main()
|
||||
self.assertEqual(1, result)
|
||||
|
Loading…
Reference in New Issue
Block a user