Chromium Code Reviews| Index: tests/git_cl_test.py |
| diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py |
| index 987b478a0ec519d500a9c15397d76f57b4924b49..dc654f6e08a7ec520ccfb14b119107daf7f076fd 100755 |
| --- a/tests/git_cl_test.py |
| +++ b/tests/git_cl_test.py |
| @@ -1970,14 +1970,18 @@ class TestGitCl(TestCase): |
| self.calls = [(('write_json', 'output.json', expected_output), '')] |
| git_cl.write_try_results_json('output.json', self.BUILDBUCKET_BUILDS_MAP) |
| - def _setup_fetch_try_jobs_rietveld(self, *request_results): |
| + def _setup_fetch_try_jobs(self, most_recent_patchset=20001): |
| out = StringIO.StringIO() |
| self.mock(sys, 'stdout', out) |
| - self.mock(git_cl.Changelist, 'GetMostRecentPatchset', lambda *args: 20001) |
| + self.mock(git_cl.Changelist, 'GetMostRecentPatchset', |
| + lambda *args: most_recent_patchset) |
| self.mock(git_cl.auth, 'get_authenticator_for_host', lambda host, _cfg: |
| self._mocked_call(['get_authenticator_for_host', host])) |
| self.mock(git_cl, '_buildbucket_retry', lambda *_, **__: |
| self._mocked_call(['_buildbucket_retry'])) |
| + |
| + def _setup_fetch_try_jobs_rietveld(self, *request_results): |
| + self._setup_fetch_try_jobs(most_recent_patchset=20001) |
| self.calls += [ |
| ((['git', 'symbolic-ref', 'HEAD'],), 'feature'), |
| ((['git', 'config', 'branch.feature.rietveldissue'],), '1'), |
|
Sergiy Byelozyorov
2016/10/07 15:36:13
shouldn't
((['git', 'config', 'branch.feature.ge
tandrii(chromium)
2016/10/07 15:38:47
No, because it's expectation :)
Well, actually if
Sergiy Byelozyorov
2016/10/07 15:39:31
Acknowledged.
|
| @@ -1992,7 +1996,11 @@ class TestGitCl(TestCase): |
| def test_fetch_try_jobs_none_rietveld(self): |
| self._setup_fetch_try_jobs_rietveld({}) |
| + # Simulate that user isn't logged in. |
| + self.mock(AuthenticatorMock, 'has_cached_credentials', lambda _: False) |
| self.assertEqual(0, git_cl.main(['try-results'])) |
| + self.assertRegexpMatches(sys.stdout.getvalue(), |
| + 'Warning: Some results might be missing') |
|
Sergiy Byelozyorov
2016/10/07 15:36:13
why was this logic changed? didn't it work from be
tandrii(chromium)
2016/10/07 15:38:47
I changed the test to have better coverage. Actual
Sergiy Byelozyorov
2016/10/07 15:39:31
Acknowledged.
|
| self.assertRegexpMatches(sys.stdout.getvalue(), 'No try jobs') |
| def test_fetch_try_jobs_some_rietveld(self): |
| @@ -2000,7 +2008,44 @@ class TestGitCl(TestCase): |
| 'builds': self.BUILDBUCKET_BUILDS_MAP.values(), |
| }) |
| self.assertEqual(0, git_cl.main(['try-results'])) |
| - self.assertRegexpMatches(sys.stdout.getvalue(), 'Failures:') |
| + self.assertRegexpMatches(sys.stdout.getvalue(), '^Failures:') |
| + self.assertRegexpMatches(sys.stdout.getvalue(), 'Started:') |
| + self.assertRegexpMatches(sys.stdout.getvalue(), '2 try jobs') |
| + |
| + def _setup_fetch_try_jobs_gerrit(self, *request_results): |
| + self._setup_fetch_try_jobs(most_recent_patchset=13) |
| + self.calls += [ |
| + ((['git', 'symbolic-ref', 'HEAD'],), 'feature'), |
| + ((['git', 'config', 'branch.feature.rietveldissue'],), CERR1), |
| + ((['git', 'config', 'branch.feature.gerritissue'],), '1'), |
| + # Simulate that Gerrit has more patchsets than local. |
| + ((['git', 'config', 'branch.feature.gerritpatchset'],), '12'), |
| + ((['git', 'config', 'branch.feature.gerritserver'],), |
| + 'https://x-review.googlesource.com'), |
| + ((['get_authenticator_for_host', 'x-review.googlesource.com'],), |
| + AuthenticatorMock()), |
| + ] + [((['_buildbucket_retry'],), r) for r in request_results] |
| + |
| + def test_fetch_try_jobs_none_gerrit(self): |
| + self._setup_fetch_try_jobs_gerrit({}) |
| + self.assertEqual(0, git_cl.main(['try-results'])) |
| + self.assertRegexpMatches( |
| + sys.stdout.getvalue(), |
| + r'Warning: Codereview server has newer patchsets \(13\)') |
| + self.assertRegexpMatches(sys.stdout.getvalue(), 'No try jobs') |
| + |
| + def test_fetch_try_jobs_some_gerrit(self): |
| + self._setup_fetch_try_jobs_gerrit({ |
| + 'builds': self.BUILDBUCKET_BUILDS_MAP.values(), |
| + }) |
| + # Explicit --patchset means actual local patchset doesn't matter. |
| + self.calls.remove( |
| + ((['git', 'config', 'branch.feature.gerritpatchset'],), '12')) |
| + self.assertEqual(0, git_cl.main(['try-results', '--patchset', '5'])) |
| + |
| + # ... and doesn't result in warning. |
| + self.assertNotRegexpMatches(sys.stdout.getvalue(), 'Warning') |
| + self.assertRegexpMatches(sys.stdout.getvalue(), '^Failures:') |
| self.assertRegexpMatches(sys.stdout.getvalue(), 'Started:') |
| self.assertRegexpMatches(sys.stdout.getvalue(), '2 try jobs') |