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

Side by Side Diff: tests/gclient_scm_test.py

Issue 10805037: Fix the svn version check issue, append '--quiet' to get svn version string. (Closed) Base URL: https://git.chromium.org/chromium/tools/depot_tools.git@master
Patch Set: Created 8 years, 5 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 | « scm.py ('k') | no next file » | 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 """Unit tests for gclient_scm.py.""" 6 """Unit tests for gclient_scm.py."""
7 7
8 # pylint: disable=E1103 8 # pylint: disable=E1103
9 9
10 # Import before super_mox to keep valid references. 10 # Import before super_mox to keep valid references.
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 'update', options, self.args) 171 'update', options, self.args)
172 172
173 def testRunCommandUnknown(self): 173 def testRunCommandUnknown(self):
174 # TODO(maruel): if ever used. 174 # TODO(maruel): if ever used.
175 pass 175 pass
176 176
177 def testRevertMissing(self): 177 def testRevertMissing(self):
178 options = self.Options(verbose=True) 178 options = self.Options(verbose=True)
179 gclient_scm.os.path.isdir(self.base_path).AndReturn(False) 179 gclient_scm.os.path.isdir(self.base_path).AndReturn(False)
180 gclient_scm.os.path.exists(self.base_path).AndReturn(False) 180 gclient_scm.os.path.exists(self.base_path).AndReturn(False)
181 gclient_scm.scm.SVN.Capture(['--version'], None 181 gclient_scm.scm.SVN.Capture(['--version', '--quiet'], None
182 ).AndReturn('svn, version 1.5.1 (r32289)') 182 ).AndReturn('1.5.1')
183 # It'll to a checkout instead. 183 # It'll to a checkout instead.
184 gclient_scm.os.path.exists(join(self.base_path, '.git')).AndReturn(False) 184 gclient_scm.os.path.exists(join(self.base_path, '.git')).AndReturn(False)
185 gclient_scm.os.path.exists(join(self.base_path, '.hg')).AndReturn(False) 185 gclient_scm.os.path.exists(join(self.base_path, '.hg')).AndReturn(False)
186 # Checkout. 186 # Checkout.
187 gclient_scm.os.path.exists(self.base_path).AndReturn(False) 187 gclient_scm.os.path.exists(self.base_path).AndReturn(False)
188 parent = gclient_scm.os.path.dirname(self.base_path) 188 parent = gclient_scm.os.path.dirname(self.base_path)
189 gclient_scm.os.path.exists(parent).AndReturn(False) 189 gclient_scm.os.path.exists(parent).AndReturn(False)
190 gclient_scm.os.makedirs(parent) 190 gclient_scm.os.makedirs(parent)
191 gclient_scm.os.path.exists(parent).AndReturn(True) 191 gclient_scm.os.path.exists(parent).AndReturn(True)
192 files_list = self.mox.CreateMockAnything() 192 files_list = self.mox.CreateMockAnything()
(...skipping 19 matching lines...) Expand all
212 # Checkout. 212 # Checkout.
213 gclient_scm.os.path.exists(self.base_path).AndReturn(False) 213 gclient_scm.os.path.exists(self.base_path).AndReturn(False)
214 gclient_scm.os.path.exists(join(self.base_path, '.git')).AndReturn(False) 214 gclient_scm.os.path.exists(join(self.base_path, '.git')).AndReturn(False)
215 gclient_scm.os.path.exists(join(self.base_path, '.hg')).AndReturn(False) 215 gclient_scm.os.path.exists(join(self.base_path, '.hg')).AndReturn(False)
216 gclient_scm.os.path.exists(self.base_path).AndReturn(False) 216 gclient_scm.os.path.exists(self.base_path).AndReturn(False)
217 parent = gclient_scm.os.path.dirname(self.base_path) 217 parent = gclient_scm.os.path.dirname(self.base_path)
218 gclient_scm.os.path.exists(parent).AndReturn(False) 218 gclient_scm.os.path.exists(parent).AndReturn(False)
219 gclient_scm.os.makedirs(parent) 219 gclient_scm.os.makedirs(parent)
220 gclient_scm.os.path.exists(parent).AndReturn(True) 220 gclient_scm.os.path.exists(parent).AndReturn(True)
221 files_list = self.mox.CreateMockAnything() 221 files_list = self.mox.CreateMockAnything()
222 gclient_scm.scm.SVN.Capture(['--version'], None 222 gclient_scm.scm.SVN.Capture(['--version', '--quiet'], None
223 ).AndReturn('svn, version 1.6') 223 ).AndReturn('1.6')
224 gclient_scm.scm.SVN.RunAndGetFileList( 224 gclient_scm.scm.SVN.RunAndGetFileList(
225 options.verbose, 225 options.verbose,
226 ['checkout', self.url, self.base_path, '--force', '--ignore-externals'], 226 ['checkout', self.url, self.base_path, '--force', '--ignore-externals'],
227 cwd=self.root_dir, 227 cwd=self.root_dir,
228 file_list=files_list) 228 file_list=files_list)
229 229
230 self.mox.ReplayAll() 230 self.mox.ReplayAll()
231 scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir, 231 scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
232 relpath=self.relpath) 232 relpath=self.relpath)
233 scm.revert(options, self.args, files_list) 233 scm.revert(options, self.args, files_list)
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 file_info.revision = 42 337 file_info.revision = 42
338 gclient_scm.os.path.exists(join(self.base_path, '.git')).AndReturn(False) 338 gclient_scm.os.path.exists(join(self.base_path, '.git')).AndReturn(False)
339 gclient_scm.os.path.exists(join(self.base_path, '.hg')).AndReturn(False) 339 gclient_scm.os.path.exists(join(self.base_path, '.hg')).AndReturn(False)
340 # Checkout. 340 # Checkout.
341 gclient_scm.os.path.exists(self.base_path).AndReturn(False) 341 gclient_scm.os.path.exists(self.base_path).AndReturn(False)
342 parent = gclient_scm.os.path.dirname(self.base_path) 342 parent = gclient_scm.os.path.dirname(self.base_path)
343 gclient_scm.os.path.exists(parent).AndReturn(False) 343 gclient_scm.os.path.exists(parent).AndReturn(False)
344 gclient_scm.os.makedirs(parent) 344 gclient_scm.os.makedirs(parent)
345 gclient_scm.os.path.exists(parent).AndReturn(True) 345 gclient_scm.os.path.exists(parent).AndReturn(True)
346 files_list = self.mox.CreateMockAnything() 346 files_list = self.mox.CreateMockAnything()
347 gclient_scm.scm.SVN.Capture(['--version'], None 347 gclient_scm.scm.SVN.Capture(['--version', '--quiet'], None
348 ).AndReturn('svn, version 1.5.1 (r32289)') 348 ).AndReturn('1.5.1')
349 gclient_scm.scm.SVN.RunAndGetFileList( 349 gclient_scm.scm.SVN.RunAndGetFileList(
350 options.verbose, 350 options.verbose,
351 ['checkout', self.url, self.base_path, '--force', '--ignore-externals'], 351 ['checkout', self.url, self.base_path, '--force', '--ignore-externals'],
352 cwd=self.root_dir, 352 cwd=self.root_dir,
353 file_list=files_list) 353 file_list=files_list)
354 self.mox.ReplayAll() 354 self.mox.ReplayAll()
355 scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir, 355 scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
356 relpath=self.relpath) 356 relpath=self.relpath)
357 scm.update(options, (), files_list) 357 scm.update(options, (), files_list)
358 358
(...skipping 16 matching lines...) Expand all
375 gclient_scm.scm.SVN._CaptureInfo([], dotted_path).AndReturn(file_info) 375 gclient_scm.scm.SVN._CaptureInfo([], dotted_path).AndReturn(file_info)
376 376
377 # Verify no locked files. 377 # Verify no locked files.
378 gclient_scm.scm.SVN.CaptureStatus(None, dotted_path).AndReturn([]) 378 gclient_scm.scm.SVN.CaptureStatus(None, dotted_path).AndReturn([])
379 379
380 # Cheat a bit here. 380 # Cheat a bit here.
381 gclient_scm.scm.SVN._CaptureInfo([file_info['URL']], None 381 gclient_scm.scm.SVN._CaptureInfo([file_info['URL']], None
382 ).AndReturn(file_info) 382 ).AndReturn(file_info)
383 383
384 # _AddAdditionalUpdateFlags() 384 # _AddAdditionalUpdateFlags()
385 gclient_scm.scm.SVN.Capture(['--version'], None 385 gclient_scm.scm.SVN.Capture(['--version', '--quiet'], None
386 ).AndReturn('svn, version 1.5.1 (r32289)') 386 ).AndReturn('1.5.1')
387 387
388 additional_args = [] 388 additional_args = []
389 if options.manually_grab_svn_rev: 389 if options.manually_grab_svn_rev:
390 additional_args = ['--revision', str(file_info['Revision'])] 390 additional_args = ['--revision', str(file_info['Revision'])]
391 additional_args.extend(['--force', '--ignore-externals']) 391 additional_args.extend(['--force', '--ignore-externals'])
392 files_list = [] 392 files_list = []
393 gclient_scm.scm.SVN.RunAndGetFileList( 393 gclient_scm.scm.SVN.RunAndGetFileList(
394 options.verbose, 394 options.verbose,
395 ['update', self.base_path] + additional_args, 395 ['update', self.base_path] + additional_args,
396 cwd=self.root_dir, file_list=files_list) 396 cwd=self.root_dir, file_list=files_list)
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 476
477 def testUpdateSingleCheckout(self): 477 def testUpdateSingleCheckout(self):
478 options = self.Options(verbose=True) 478 options = self.Options(verbose=True)
479 file_info = { 479 file_info = {
480 'URL': self.url, 480 'URL': self.url,
481 'Revision': 42, 481 'Revision': 42,
482 } 482 }
483 483
484 # Checks to make sure that we support svn co --depth. 484 # Checks to make sure that we support svn co --depth.
485 gclient_scm.scm.SVN.current_version = None 485 gclient_scm.scm.SVN.current_version = None
486 gclient_scm.scm.SVN.Capture(['--version'], None 486 gclient_scm.scm.SVN.Capture(['--version', '--quiet'], None
487 ).AndReturn('svn, version 1.5.1 (r32289)') 487 ).AndReturn('1.5.1')
488 gclient_scm.os.path.exists(join(self.base_path, '.svn')).AndReturn(False) 488 gclient_scm.os.path.exists(join(self.base_path, '.svn')).AndReturn(False)
489 gclient_scm.os.path.exists(join(self.base_path, 'DEPS')).AndReturn(False) 489 gclient_scm.os.path.exists(join(self.base_path, 'DEPS')).AndReturn(False)
490 490
491 # Verify no locked files. 491 # Verify no locked files.
492 dotted_path = join(self.base_path, '.') 492 dotted_path = join(self.base_path, '.')
493 gclient_scm.scm.SVN.CaptureStatus(None, dotted_path).AndReturn([]) 493 gclient_scm.scm.SVN.CaptureStatus(None, dotted_path).AndReturn([])
494 494
495 # When checking out a single file, we issue an svn checkout and svn update. 495 # When checking out a single file, we issue an svn checkout and svn update.
496 files_list = self.mox.CreateMockAnything() 496 files_list = self.mox.CreateMockAnything()
497 gclient_scm.gclient_utils.CheckCallAndFilterAndHeader( 497 gclient_scm.gclient_utils.CheckCallAndFilterAndHeader(
(...skipping 18 matching lines...) Expand all
516 scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir, 516 scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
517 relpath=self.relpath) 517 relpath=self.relpath)
518 scm.updatesingle(options, ['DEPS'], files_list) 518 scm.updatesingle(options, ['DEPS'], files_list)
519 self.checkstdout('\n_____ %s at 42\n' % self.relpath) 519 self.checkstdout('\n_____ %s at 42\n' % self.relpath)
520 520
521 def testUpdateSingleCheckoutSVN14(self): 521 def testUpdateSingleCheckoutSVN14(self):
522 options = self.Options(verbose=True) 522 options = self.Options(verbose=True)
523 523
524 # Checks to make sure that we support svn co --depth. 524 # Checks to make sure that we support svn co --depth.
525 gclient_scm.scm.SVN.current_version = None 525 gclient_scm.scm.SVN.current_version = None
526 gclient_scm.scm.SVN.Capture(['--version'], None 526 gclient_scm.scm.SVN.Capture(['--version', '--quiet'], None
527 ).AndReturn('svn, version 1.4.4 (r25188)') 527 ).AndReturn('1.4.4')
528 gclient_scm.os.path.exists(self.base_path).AndReturn(True) 528 gclient_scm.os.path.exists(self.base_path).AndReturn(True)
529 529
530 # When checking out a single file with svn 1.4, we use svn export 530 # When checking out a single file with svn 1.4, we use svn export
531 files_list = self.mox.CreateMockAnything() 531 files_list = self.mox.CreateMockAnything()
532 gclient_scm.gclient_utils.CheckCallAndFilterAndHeader( 532 gclient_scm.gclient_utils.CheckCallAndFilterAndHeader(
533 ['svn', 'export', join(self.url, 'DEPS'), join(self.base_path, 'DEPS')], 533 ['svn', 'export', join(self.url, 'DEPS'), join(self.base_path, 'DEPS')],
534 always=True, cwd=self.root_dir) 534 always=True, cwd=self.root_dir)
535 535
536 self.mox.ReplayAll() 536 self.mox.ReplayAll()
537 scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir, 537 scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
538 relpath=self.relpath) 538 relpath=self.relpath)
539 scm.updatesingle(options, ['DEPS'], files_list) 539 scm.updatesingle(options, ['DEPS'], files_list)
540 540
541 def testUpdateSingleCheckoutSVNUpgrade(self): 541 def testUpdateSingleCheckoutSVNUpgrade(self):
542 options = self.Options(verbose=True) 542 options = self.Options(verbose=True)
543 file_info = { 543 file_info = {
544 'URL': self.url, 544 'URL': self.url,
545 'Revision': 42, 545 'Revision': 42,
546 } 546 }
547 547
548 # Checks to make sure that we support svn co --depth. 548 # Checks to make sure that we support svn co --depth.
549 gclient_scm.scm.SVN.current_version = None 549 gclient_scm.scm.SVN.current_version = None
550 gclient_scm.scm.SVN.Capture(['--version'], None 550 gclient_scm.scm.SVN.Capture(['--version', '--quiet'], None
551 ).AndReturn('svn, version 1.5.1 (r32289)') 551 ).AndReturn('1.5.1')
552 gclient_scm.os.path.exists(join(self.base_path, '.svn')).AndReturn(False) 552 gclient_scm.os.path.exists(join(self.base_path, '.svn')).AndReturn(False)
553 # If DEPS already exists, assume we're upgrading from svn1.4, so delete 553 # If DEPS already exists, assume we're upgrading from svn1.4, so delete
554 # the old DEPS file. 554 # the old DEPS file.
555 gclient_scm.os.path.exists(join(self.base_path, 'DEPS')).AndReturn(True) 555 gclient_scm.os.path.exists(join(self.base_path, 'DEPS')).AndReturn(True)
556 gclient_scm.os.remove(join(self.base_path, 'DEPS')) 556 gclient_scm.os.remove(join(self.base_path, 'DEPS'))
557 557
558 # Verify no locked files. 558 # Verify no locked files.
559 gclient_scm.scm.SVN.CaptureStatus( 559 gclient_scm.scm.SVN.CaptureStatus(
560 None, join(self.base_path, '.')).AndReturn([]) 560 None, join(self.base_path, '.')).AndReturn([])
561 561
(...skipping 26 matching lines...) Expand all
588 ('\n_____ %s at 42\n' % self.relpath)) 588 ('\n_____ %s at 42\n' % self.relpath))
589 589
590 def testUpdateSingleUpdate(self): 590 def testUpdateSingleUpdate(self):
591 options = self.Options(verbose=True) 591 options = self.Options(verbose=True)
592 file_info = { 592 file_info = {
593 'URL': self.url, 593 'URL': self.url,
594 'Revision': 42, 594 'Revision': 42,
595 } 595 }
596 # Checks to make sure that we support svn co --depth. 596 # Checks to make sure that we support svn co --depth.
597 gclient_scm.scm.SVN.current_version = None 597 gclient_scm.scm.SVN.current_version = None
598 gclient_scm.scm.SVN.Capture(['--version'], None 598 gclient_scm.scm.SVN.Capture(['--version', '--quiet'], None
599 ).AndReturn('svn, version 1.5.1 (r32289)') 599 ).AndReturn('1.5.1')
600 gclient_scm.os.path.exists(join(self.base_path, '.svn')).AndReturn(True) 600 gclient_scm.os.path.exists(join(self.base_path, '.svn')).AndReturn(True)
601 601
602 # Verify no locked files. 602 # Verify no locked files.
603 gclient_scm.scm.SVN.CaptureStatus(None, join(self.base_path, '.') 603 gclient_scm.scm.SVN.CaptureStatus(None, join(self.base_path, '.')
604 ).AndReturn([]) 604 ).AndReturn([])
605 605
606 # Now we fall back on scm.update(). 606 # Now we fall back on scm.update().
607 files_list = self.mox.CreateMockAnything() 607 files_list = self.mox.CreateMockAnything()
608 gclient_scm.os.path.exists(join(self.base_path, '.git')).AndReturn(False) 608 gclient_scm.os.path.exists(join(self.base_path, '.git')).AndReturn(False)
609 gclient_scm.os.path.exists(join(self.base_path, '.hg')).AndReturn(False) 609 gclient_scm.os.path.exists(join(self.base_path, '.hg')).AndReturn(False)
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 1175
1176 if __name__ == '__main__': 1176 if __name__ == '__main__':
1177 if '-v' in sys.argv: 1177 if '-v' in sys.argv:
1178 logging.basicConfig( 1178 logging.basicConfig(
1179 level=logging.DEBUG, 1179 level=logging.DEBUG,
1180 format='%(asctime).19s %(levelname)s %(filename)s:' 1180 format='%(asctime).19s %(levelname)s %(filename)s:'
1181 '%(lineno)s %(message)s') 1181 '%(lineno)s %(message)s')
1182 unittest.main() 1182 unittest.main()
1183 1183
1184 # vim: ts=2:sw=2:tw=80:et: 1184 # vim: ts=2:sw=2:tw=80:et:
OLDNEW
« no previous file with comments | « scm.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698