OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2015 The LUCI Authors. All rights reserved. | 2 # Copyright 2015 The LUCI Authors. All rights reserved. |
3 # Use of this source code is governed under the Apache License, Version 2.0 | 3 # Use of this source code is governed under the Apache License, Version 2.0 |
4 # that can be found in the LICENSE file. | 4 # that can be found in the LICENSE file. |
5 | 5 |
6 import copy | 6 import copy |
7 import doctest | 7 import doctest |
8 import os | 8 import os |
9 import subprocess | 9 import subprocess |
10 import sys | 10 import sys |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 self.mock_subprocess_patcher.stop() | 45 self.mock_subprocess_patcher.stop() |
46 self.mock_os_patcher.stop() | 46 self.mock_os_patcher.stop() |
47 | 47 |
48 super(MockIOThings, self).tearDown() | 48 super(MockIOThings, self).tearDown() |
49 | 49 |
50 | 50 |
51 class TestGitRepoSpec(repo_test_util.RepoTest): | 51 class TestGitRepoSpec(repo_test_util.RepoTest): |
52 def test_commit_infos(self): | 52 def test_commit_infos(self): |
53 repos = self.repo_setup({'a': []}) | 53 repos = self.repo_setup({'a': []}) |
54 | 54 |
55 spec = package.GitRepoSpec( | 55 spec = self.get_git_repo_spec(repos['a']) |
56 'a', repos['a']['root'], 'master', repos['a']['revision'], '') | |
57 self.assertEqual( | 56 self.assertEqual( |
58 [], | 57 [], |
59 [ci.dump() for ci in spec.commit_infos(self._context, 'HEAD')]) | 58 [ci.dump() for ci in spec.commit_infos(self._context, 'HEAD')]) |
60 | 59 |
61 c1 = self.commit_in_repo( | 60 c1 = self.commit_in_repo( |
62 repos['a'], message='c1', author_email=TEST_AUTHOR) | 61 repos['a'], message='c1', author_email=TEST_AUTHOR) |
63 self.reset_repo(repos['a'], repos['a']['revision']) | 62 self.reset_repo(repos['a'], repos['a']['revision']) |
64 self.assertEqual([ | 63 self.assertEqual([ |
65 { | 64 { |
66 'repo_id': 'a', | 65 'repo_id': 'a', |
(...skipping 20 matching lines...) Expand all Loading... |
87 'revision': c2['revision'], | 86 'revision': c2['revision'], |
88 'message': 'c2', | 87 'message': 'c2', |
89 'author': TEST_AUTHOR | 88 'author': TEST_AUTHOR |
90 }, | 89 }, |
91 ], | 90 ], |
92 [ci.dump() for ci in spec.commit_infos(self._context, c2['revision'])]) | 91 [ci.dump() for ci in spec.commit_infos(self._context, c2['revision'])]) |
93 | 92 |
94 def test_raw_updates(self): | 93 def test_raw_updates(self): |
95 repos = self.repo_setup({'a': []}) | 94 repos = self.repo_setup({'a': []}) |
96 | 95 |
97 spec = package.GitRepoSpec( | 96 spec = self.get_git_repo_spec(repos['a']) |
98 'a', repos['a']['root'], 'master', repos['a']['revision'], '') | |
99 self.assertEqual([], spec.raw_updates(self._context, 'HEAD')) | 97 self.assertEqual([], spec.raw_updates(self._context, 'HEAD')) |
100 | 98 |
101 c1 = self.commit_in_repo(repos['a'], message='c1') | 99 c1 = self.commit_in_repo(repos['a'], message='c1') |
102 self.reset_repo(repos['a'], repos['a']['revision']) | 100 self.reset_repo(repos['a'], repos['a']['revision']) |
103 self.assertEqual([ | 101 self.assertEqual([ |
104 c1['revision']], | 102 c1['revision']], |
105 spec.raw_updates(self._context, c1['revision'])) | 103 spec.raw_updates(self._context, c1['revision'])) |
106 | 104 |
107 self.reset_repo(repos['a'], c1['revision']) | 105 self.reset_repo(repos['a'], c1['revision']) |
108 c2 = self.commit_in_repo(repos['a'], message='c2') | 106 c2 = self.commit_in_repo(repos['a'], message='c2') |
109 self.reset_repo(repos['a'], repos['a']['revision']) | 107 self.reset_repo(repos['a'], repos['a']['revision']) |
110 self.assertEqual([ | 108 self.assertEqual([ |
111 c1['revision'], c2['revision']], | 109 c1['revision'], c2['revision']], |
112 spec.raw_updates(self._context, c2['revision'])) | 110 spec.raw_updates(self._context, c2['revision'])) |
113 | 111 |
114 self.reset_repo(repos['a'], c2['revision']) | 112 self.reset_repo(repos['a'], c2['revision']) |
115 c3 = self.commit_in_repo(repos['a'], message='c3') | 113 c3 = self.commit_in_repo(repos['a'], message='c3') |
116 self.reset_repo(repos['a'], repos['a']['revision']) | 114 self.reset_repo(repos['a'], repos['a']['revision']) |
117 self.assertEqual([ | 115 self.assertEqual([ |
118 c1['revision'], c2['revision'], c3['revision']], | 116 c1['revision'], c2['revision'], c3['revision']], |
119 spec.raw_updates(self._context, c3['revision'])) | 117 spec.raw_updates(self._context, c3['revision'])) |
120 | 118 |
121 def test_get_more_recent_revision(self): | 119 def test_get_more_recent_revision(self): |
122 repos = self.repo_setup({'a': []}) | 120 repos = self.repo_setup({'a': []}) |
123 | 121 |
124 spec = package.GitRepoSpec( | 122 spec = self.get_git_repo_spec(repos['a']) |
125 'a', repos['a']['root'], 'master', repos['a']['revision'], '') | |
126 | 123 |
127 c1 = self.commit_in_repo(repos['a'], message='c1') | 124 c1 = self.commit_in_repo(repos['a'], message='c1') |
128 c2 = self.commit_in_repo(repos['a'], message='c2') | 125 c2 = self.commit_in_repo(repos['a'], message='c2') |
129 | 126 |
130 self.assertEqual( | 127 self.assertEqual( |
131 c2['revision'], | 128 c2['revision'], |
132 spec.get_more_recent_revision( | 129 spec.get_more_recent_revision( |
133 self._context, c1['revision'], c2['revision'])) | 130 self._context, c1['revision'], c2['revision'])) |
134 | 131 |
135 self.assertEqual( | 132 self.assertEqual( |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
480 self.assertFalse(checkout.called) | 477 self.assertFalse(checkout.called) |
481 | 478 |
482 | 479 |
483 def load_tests(_loader, tests, _ignore): | 480 def load_tests(_loader, tests, _ignore): |
484 tests.addTests(doctest.DocTestSuite(package)) | 481 tests.addTests(doctest.DocTestSuite(package)) |
485 return tests | 482 return tests |
486 | 483 |
487 | 484 |
488 if __name__ == '__main__': | 485 if __name__ == '__main__': |
489 result = unittest.main() | 486 result = unittest.main() |
OLD | NEW |