artifacts: Die gracefully if artifacts don't exist
TEST=./run_tests
BUG=chromium:949566
Change-Id: I79a3ddbf8bfa9a632c902437328c88390fc64a4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1559659
Tested-by: Evan Hernandez <evanhernandez@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
diff --git a/api/controller/artifacts_unittest.py b/api/controller/artifacts_unittest.py
index c2d20cd..57ad67a 100644
--- a/api/controller/artifacts_unittest.py
+++ b/api/controller/artifacts_unittest.py
@@ -93,6 +93,13 @@
mock.call('/cros', '/cros/chroot/build/target/build', '/tmp/artifacts')
])
+ def testBundleTastFilesNoLogs(self):
+ """BundleTasteFiles dies when no tast files found."""
+ self.PatchObject(commands, 'BuildTastBundleTarball',
+ return_value=None)
+ with self.assertRaises(cros_build_lib.DieSystemExit):
+ artifacts.BundleTastFiles(self.input_proto, self.output_proto)
+
class BundlePinnedGuestImagesTest(BundleTestCase):
"""Unittests for BundlePinnedGuestImages."""
@@ -110,6 +117,13 @@
self.assertEqual(build_pinned_guest_images_tarball.call_args_list,
[mock.call('/cros', 'target', '/tmp/artifacts')])
+ def testBundlePinnedGuestImagesNoLogs(self):
+ """BundlePinnedGuestImages dies when no pinned images found."""
+ self.PatchObject(commands, 'BuildPinnedGuestImagesTarball',
+ return_value=None)
+ with self.assertRaises(cros_build_lib.DieSystemExit):
+ artifacts.BundlePinnedGuestImages(self.input_proto, self.output_proto)
+
class BundleFirmwareTest(BundleTestCase):
"""Unittests for BundleFirmware."""
@@ -125,6 +139,12 @@
self.assertEqual(build_firmware_archive.call_args_list,
[mock.call('/cros', 'target', '/tmp/artifacts')])
+ def testBundleFirmwareNoLogs(self):
+ """BundleFirmware dies when no firmware found."""
+ self.PatchObject(commands, 'BuildFirmwareArchive', return_value=None)
+ with self.assertRaises(cros_build_lib.DieSystemExit):
+ artifacts.BundleFirmware(self.input_proto, self.output_proto)
+
class BundleEbuildLogsTest(BundleTestCase):
"""Unittests for BundleEbuildLogs."""
@@ -141,6 +161,12 @@
build_ebuild_logs_tarball.call_args_list,
[mock.call('/cros/chroot/build', 'target', '/tmp/artifacts')])
+ def testBundleEbuildLogsNoLogs(self):
+ """BundleEbuildLogs dies when no logs found."""
+ self.PatchObject(commands, 'BuildEbuildLogsTarball', return_value=None)
+ with self.assertRaises(cros_build_lib.DieSystemExit):
+ artifacts.BundleEbuildLogs(self.input_proto, self.output_proto)
+
class BundleTestUpdatePayloadsTest(cros_test_lib.MockTempDirTestCase):
"""Unittests for BundleTestUpdatePayloads."""