Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: tests/project_test.py

Issue 23483019: Changes to support One-Click Revert in Commit Queue (Closed) Base URL: https://src.chromium.org/chrome/trunk/tools/commit-queue/
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/pending_manager_test.py ('k') | tests/try_server_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Integration tests for project.py.""" 6 """Integration tests for project.py."""
7 7
8 import logging 8 import logging
9 import os 9 import os
10 import random 10 import random
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 root_dir = os.path.join(os.getcwd(), 'root_dir') 118 root_dir = os.path.join(os.getcwd(), 'root_dir')
119 chromium_status_pwd = os.path.join(root_dir, '.chromium_status_pwd') 119 chromium_status_pwd = os.path.join(root_dir, '.chromium_status_pwd')
120 skia_status_pwd = os.path.join(root_dir, '.skia_status_pwd') 120 skia_status_pwd = os.path.join(root_dir, '.skia_status_pwd')
121 mapping = { 121 mapping = {
122 'blink': { 122 'blink': {
123 'lines': [ 123 'lines': [
124 chromium_status_pwd, 'chromium-status password', ['foo'], 124 chromium_status_pwd, 'chromium-status password', ['foo'],
125 ], 125 ],
126 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'], 126 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'],
127 'verifiers': ['try job rietveld', 'tree status'], 127 'verifiers': ['try job rietveld', 'tree status'],
128 'pre_patch_revert_verifiers': [],
129 'revert_verifiers': []
128 }, 130 },
129 'chromium': { 131 'chromium': {
130 'lines': [ 132 'lines': [
131 chromium_status_pwd, 'chromium-status password', ['foo'], 133 chromium_status_pwd, 'chromium-status password', ['foo'],
132 ], 134 ],
133 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'], 135 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'],
134 'verifiers': ['try job rietveld', 'tree status'], 136 'verifiers': ['try job rietveld', 'tree status'],
137 'pre_patch_revert_verifiers': [],
138 'revert_verifiers': []
135 }, 139 },
136 'chromium_deps': { 140 'chromium_deps': {
137 'lines': [ 141 'lines': [
138 chromium_status_pwd, 'chromium-status password', ['foo'], 142 chromium_status_pwd, 'chromium-status password', ['foo'],
139 ], 143 ],
140 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'], 144 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'],
141 'verifiers': ['presubmit'], 145 'verifiers': ['presubmit'],
146 'pre_patch_revert_verifiers': [],
147 'revert_verifiers': []
142 }, 148 },
143 'gyp': { 149 'gyp': {
144 'lines': [ 150 'lines': [
145 chromium_status_pwd, 'chromium-status password', ['foo'], 151 chromium_status_pwd, 'chromium-status password', ['foo'],
146 ], 152 ],
147 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'], 153 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'],
148 'verifiers': ['tree status'], 154 'verifiers': ['tree status'],
155 'pre_patch_revert_verifiers': [],
156 'revert_verifiers': []
149 }, 157 },
150 'nacl': { 158 'nacl': {
151 'lines': [ 159 'lines': [
152 chromium_status_pwd, 'chromium-status password', ['foo'], 160 chromium_status_pwd, 'chromium-status password', ['foo'],
153 ], 161 ],
154 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'], 162 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'],
155 'verifiers': ['presubmit', 'tree status'], 163 'verifiers': ['presubmit', 'tree status'],
164 'pre_patch_revert_verifiers': [],
165 'revert_verifiers': []
156 }, 166 },
157 'skia': { 167 'skia': {
158 'lines': [ 168 'lines': [
159 skia_status_pwd, 'skia-status password', ['foo'], 169 skia_status_pwd, 'skia-status password', ['foo'],
160 ], 170 ],
161 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'], 171 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'],
162 'verifiers': ['presubmit', 'tree status'], 172 'verifiers': ['presubmit', 'tree status'],
173 'pre_patch_revert_verifiers': ['project_bases', 'committer_revert'],
174 'revert_verifiers': []
163 }, 175 },
164 'tools': { 176 'tools': {
165 'lines': [ 177 'lines': [
166 chromium_status_pwd, 'chromium-status password', ['foo'], 178 chromium_status_pwd, 'chromium-status password', ['foo'],
167 ], 179 ],
168 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'], 180 'pre_patch_verifiers': ['project_bases', 'reviewer_lgtm'],
169 'verifiers': ['presubmit'], 181 'verifiers': ['presubmit'],
182 'pre_patch_revert_verifiers': [],
183 'revert_verifiers': []
170 }, 184 },
171 } 185 }
172 for project in sorted(projects.supported_projects()): 186 for project in sorted(projects.supported_projects()):
173 logging.debug(project) 187 logging.debug(project)
174 self.assertEqual([], self.read_lines) 188 self.assertEqual([], self.read_lines)
175 expected = mapping.pop(project) 189 expected = mapping.pop(project)
176 self.read_lines = [expected['lines']] 190 self.read_lines = [expected['lines']]
177 p = projects.load_project( 191 p = projects.load_project(
178 project, 'user', root_dir, self.context.rietveld, True) 192 project, 'user', root_dir, self.context.rietveld, True)
179 self.assertEqual( 193 self.assertEqual(
180 expected['pre_patch_verifiers'], 194 expected['pre_patch_verifiers'],
181 [x.name for x in p.pre_patch_verifiers], 195 [x.name for x in p.pre_patch_verifiers],
182 (expected['pre_patch_verifiers'], 196 (expected['pre_patch_verifiers'],
183 [x.name for x in p.pre_patch_verifiers], 197 [x.name for x in p.pre_patch_verifiers],
184 project)) 198 project))
185 self.assertEqual( 199 self.assertEqual(
186 expected['verifiers'], [x.name for x in p.verifiers], 200 expected['verifiers'], [x.name for x in p.verifiers],
187 (expected['verifiers'], 201 (expected['verifiers'],
188 [x.name for x in p.verifiers], 202 [x.name for x in p.verifiers],
189 project)) 203 project))
204 self.assertEqual(
205 expected['pre_patch_revert_verifiers'],
206 [x.name for x in p.pre_patch_revert_verifiers],
207 (expected['pre_patch_revert_verifiers'],
208 [x.name for x in p.pre_patch_revert_verifiers],
209 project))
210 self.assertEqual(
211 expected['revert_verifiers'], [x.name for x in p.revert_verifiers],
212 (expected['revert_verifiers'],
213 [x.name for x in p.revert_verifiers],
214 project))
190 if project == 'tools': 215 if project == 'tools':
191 # Add special checks for it. 216 # Add special checks for it.
192 project_bases_verifier = p.pre_patch_verifiers[0] 217 project_bases_verifier = p.pre_patch_verifiers[0]
193 branch = '\\@[a-zA-Z0-9\\-_\\.]+$' 218 branch = '\\@[a-zA-Z0-9\\-_\\.]+$'
194 self.assertEqual( 219 self.assertEqual(
195 [ 220 [
196 # svn 221 # svn
197 '^svn\\:\\/\\/svn\\.chromium\\.org\\/chrome/trunk/tools(|/.*)$', 222 '^svn\\:\\/\\/svn\\.chromium\\.org\\/chrome/trunk/tools(|/.*)$',
198 '^svn\\:\\/\\/chrome\\-svn\\/chrome/trunk/tools(|/.*)$', 223 '^svn\\:\\/\\/chrome\\-svn\\/chrome/trunk/tools(|/.*)$',
199 '^svn\\:\\/\\/chrome\\-svn\\.corp\\/chrome/trunk/tools(|/.*)$', 224 '^svn\\:\\/\\/chrome\\-svn\\.corp\\/chrome/trunk/tools(|/.*)$',
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 self.context.rietveld.check_calls([ 507 self.context.rietveld.check_calls([
483 _try_comment(pc), 508 _try_comment(pc),
484 "trigger_try_jobs(31337, 1, 'CQ', False, 'HEAD', " 509 "trigger_try_jobs(31337, 1, 'CQ', False, 'HEAD', "
485 "{u'chromium_presubmit': ['presubmit']})", 510 "{u'chromium_presubmit': ['presubmit']})",
486 'close_issue(31337)', 511 'close_issue(31337)',
487 "update_description(31337, u'foo\\nTBR=')", 512 "update_description(31337, u'foo\\nTBR=')",
488 "add_comment(31337, 'Change committed as 125')", 513 "add_comment(31337, 'Change committed as 125')",
489 ]) 514 ])
490 self.context.checkout.check_calls([ 515 self.context.checkout.check_calls([
491 'prepare(None)', 516 'prepare(None)',
492 'apply_patch(%r)' % self.context.rietveld.patchsets[0], 517 'apply_patch(%r, revert=False)' % self.context.rietveld.patchsets[0],
493 'prepare(None)', 518 'prepare(None)',
494 'apply_patch(%r)' % self.context.rietveld.patchsets[1], 519 'apply_patch(%r, revert=False)' % self.context.rietveld.patchsets[1],
495 "commit(u'foo\\nTBR=\\n\\nReview URL: http://nowhere/31337', " 520 "commit(u'foo\\nTBR=\\n\\nReview URL: http://nowhere/31337', "
496 "u'user@example.com')", 521 "u'user@example.com')",
497 ]) 522 ])
498 self.context.status.check_names(['initial', 'why not', 'why not', 523 self.context.status.check_names(['initial', 'why not', 'why not',
499 'why not', 'commit']) 524 'why not', 'commit'])
500 525
501 526
502 527
503 if __name__ == '__main__': 528 if __name__ == '__main__':
504 logging.basicConfig( 529 logging.basicConfig(
505 level=logging.DEBUG if '-v' in sys.argv else logging.WARNING, 530 level=logging.DEBUG if '-v' in sys.argv else logging.WARNING,
506 format='%(levelname)5s %(module)15s(%(lineno)3d): %(message)s') 531 format='%(levelname)5s %(module)15s(%(lineno)3d): %(message)s')
507 unittest.main() 532 unittest.main()
OLDNEW
« no previous file with comments | « tests/pending_manager_test.py ('k') | tests/try_server_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698