presubmit_support for Gerrit: don't ignore 404.
Before, presubmit_support would fail with not very useful stacktrace if
Gerrit returns 404, which is usually due to missing/invalid credentials.
This CL fixes that and improves the exception message, and also improves
logic in git_cl.
R=agable@chromium.org
BUG=
Change-Id: Iae8f0c24422c46af70929c7d5d71993164887511
Reviewed-on: https://chromium-review.googlesource.com/409650
Commit-Queue: Aaron Gable <agable@chromium.org>
Reviewed-by: Aaron Gable <agable@chromium.org>
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index 37c2fa1..d0f460d 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -1458,8 +1458,12 @@
'https://chromium-review.googlesource.com/#/c/123456/1'])
def test_gerrit_patch_not_exists(self):
+ def notExists(_issue, *_, **kwargs):
+ self.assertFalse(kwargs['ignore_404'])
+ raise git_cl.gerrit_util.GerritError(404, '')
+ self.mock(git_cl.gerrit_util, 'GetChangeDetail', notExists)
+
url = 'https://chromium-review.googlesource.com'
- self.mock(git_cl.gerrit_util, 'GetChangeDetail', lambda _, __, ___: None)
self.calls = [
((['git', 'symbolic-ref', 'HEAD'],), 'master'),
((['git', 'symbolic-ref', 'HEAD'],), 'master'),