Bug 1385381 - Only call @checking callback if no error occurred; r?chmanchester draft
authorGregory Szorc <gps@mozilla.com>
Fri, 28 Jul 2017 13:33:37 -0700
changeset 645086 233c4835a31732481b89b94f5e0a3f78bd128c2e
parent 645074 80ff3f300e05f38f96c385b03d1973a966a2bd35
child 645087 e8ec435aedf25fd2d323f0b2eaa3e0d370b7b59a
push id73660
push usergszorc@mozilla.com
push dateFri, 11 Aug 2017 21:42:38 +0000
reviewerschmanchester
bugs1385381
milestone57.0a1
Bug 1385381 - Only call @checking callback if no error occurred; r?chmanchester If an error was raised, there will be no return value. So it doesn't make sense to call the formatting callback for ``None``. If we did pass None, formatting callbacks would be more complex since they'd need to handle that case. MozReview-Commit-ID: GCppGDdbFiS
build/moz.configure/checks.configure
--- a/build/moz.configure/checks.configure
+++ b/build/moz.configure/checks.configure
@@ -48,17 +48,17 @@ def checking(what, callback=None):
         def wrapped(*args, **kwargs):
             log.info('checking %s... ', what)
             with log.queue_debug():
                 error, ret = None, None
                 try:
                     ret = func(*args, **kwargs)
                 except FatalCheckError as e:
                     error = e.message
-                display_ret = callback(ret) if callback else ret
+                display_ret = callback(ret) if callback and not error else ret
                 if display_ret is True:
                     log.info('yes')
                 elif display_ret is False or display_ret is None:
                     log.info('no')
                 else:
                     log.info(display_ret)
                 if error is not None:
                     die(error)