Merge "Don't always unpack image build results tuple, as it may be None"

This commit is contained in:
Jenkins 2016-06-01 08:35:53 +00:00 committed by Gerrit Code Review
commit 3a6a748aba
2 changed files with 38 additions and 5 deletions

View File

@ -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

View File

@ -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)