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