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

Side by Side Diff: tests/gclient_test.py

Issue 385007: Run pychecker over most scripts in depot_tools. Catched a few bugs. (Closed)
Patch Set: . Created 11 years, 1 month 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
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # 2 #
3 # Copyright 2008-2009 Google Inc. All Rights Reserved. 3 # Copyright 2008-2009 Google Inc. All Rights Reserved.
4 # 4 #
5 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License. 6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at 7 # You may obtain a copy of the License at
8 # 8 #
9 # http://www.apache.org/licenses/LICENSE-2.0 9 # http://www.apache.org/licenses/LICENSE-2.0
10 # 10 #
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 44
45 class BaseTestCase(super_mox.SuperMoxTestBase): 45 class BaseTestCase(super_mox.SuperMoxTestBase):
46 def setUp(self): 46 def setUp(self):
47 super_mox.SuperMoxTestBase.setUp(self) 47 super_mox.SuperMoxTestBase.setUp(self)
48 48
49 # Like unittest's assertRaises, but checks for Gclient.Error. 49 # Like unittest's assertRaises, but checks for Gclient.Error.
50 def assertRaisesError(self, msg, fn, *args, **kwargs): 50 def assertRaisesError(self, msg, fn, *args, **kwargs):
51 try: 51 try:
52 fn(*args, **kwargs) 52 fn(*args, **kwargs)
53 except gclient.Error, e: 53 except gclient_utils.Error, e:
54 self.assertEquals(e.args[0], msg) 54 self.assertEquals(e.args[0], msg)
55 else: 55 else:
56 self.fail('%s not raised' % msg) 56 self.fail('%s not raised' % msg)
57 57
58 58
59 class GClientBaseTestCase(BaseTestCase): 59 class GClientBaseTestCase(BaseTestCase):
60 def Options(self, *args, **kwargs): 60 def Options(self, *args, **kwargs):
61 return self.OptionsObject(self, *args, **kwargs) 61 return self.OptionsObject(self, *args, **kwargs)
62 62
63 def setUp(self): 63 def setUp(self):
64 BaseTestCase.setUp(self) 64 BaseTestCase.setUp(self)
65 self.mox.StubOutWithMock(gclient.os.path, 'exists') 65 self.mox.StubOutWithMock(gclient.os.path, 'exists')
66 self.mox.StubOutWithMock(gclient.os.path, 'isfile') 66 self.mox.StubOutWithMock(gclient.os.path, 'isfile')
67 self.mox.StubOutWithMock(gclient.os.path, 'isdir') 67 self.mox.StubOutWithMock(gclient.os.path, 'isdir')
68 self.mox.StubOutWithMock(gclient.os, 'remove') 68 self.mox.StubOutWithMock(gclient.os, 'remove')
69 self.mox.StubOutWithMock(gclient.sys, 'stdout') 69 self.mox.StubOutWithMock(gclient.sys, 'stdout')
70 self.mox.StubOutWithMock(gclient_utils, 'subprocess') 70 self.mox.StubOutWithMock(gclient_utils, 'subprocess')
71 # These are not tested. 71 # These are not tested.
72 self.mox.StubOutWithMock(gclient, 'FileRead') 72 self.mox.StubOutWithMock(gclient_utils, 'FileRead')
73 self.mox.StubOutWithMock(gclient, 'FileWrite') 73 self.mox.StubOutWithMock(gclient_utils, 'FileWrite')
74 self.mox.StubOutWithMock(gclient_utils, 'SubprocessCall') 74 self.mox.StubOutWithMock(gclient_utils, 'SubprocessCall')
75 self.mox.StubOutWithMock(gclient_utils, 'RemoveDirectory') 75 self.mox.StubOutWithMock(gclient_utils, 'RemoveDirectory')
76 # Mock them to be sure nothing bad happens. 76 # Mock them to be sure nothing bad happens.
77 self.mox.StubOutWithMock(gclient_scm, 'CaptureSVN') 77 self.mox.StubOutWithMock(gclient_scm, 'CaptureSVN')
78 self._CaptureSVNInfo = gclient_scm.CaptureSVNInfo 78 self._CaptureSVNInfo = gclient_scm.CaptureSVNInfo
79 self.mox.StubOutWithMock(gclient_scm, 'CaptureSVNInfo') 79 self.mox.StubOutWithMock(gclient_scm, 'CaptureSVNInfo')
80 self.mox.StubOutWithMock(gclient_scm, 'CaptureSVNStatus') 80 self.mox.StubOutWithMock(gclient_scm, 'CaptureSVNStatus')
81 self.mox.StubOutWithMock(gclient_scm, 'RunSVN') 81 self.mox.StubOutWithMock(gclient_scm, 'RunSVN')
82 self.mox.StubOutWithMock(gclient_scm, 'RunSVNAndGetFileList') 82 self.mox.StubOutWithMock(gclient_scm, 'RunSVNAndGetFileList')
83 self._gclient_gclient = gclient.GClient 83 self._gclient_gclient = gclient.GClient
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 118
119 self.args = self.Args() 119 self.args = self.Args()
120 self.root_dir = self.Dir() 120 self.root_dir = self.Dir()
121 self.url = self.Url() 121 self.url = self.Url()
122 122
123 123
124 class GClientCommandsTestCase(GClientBaseTestCase): 124 class GClientCommandsTestCase(GClientBaseTestCase):
125 def testCommands(self): 125 def testCommands(self):
126 known_commands = [gclient.DoCleanup, gclient.DoConfig, gclient.DoDiff, 126 known_commands = [gclient.DoCleanup, gclient.DoConfig, gclient.DoDiff,
127 gclient.DoExport, gclient.DoHelp, gclient.DoStatus, 127 gclient.DoExport, gclient.DoHelp, gclient.DoStatus,
128 » » gclient.DoUpdate, gclient.DoRevert, gclient.DoRunHooks, 128 gclient.DoUpdate, gclient.DoRevert, gclient.DoRunHooks,
129 » » gclient.DoRevInfo, gclient.DoPack] 129 gclient.DoRevInfo, gclient.DoPack]
130 for (k,v) in gclient.gclient_command_map.iteritems(): 130 for (k,v) in gclient.gclient_command_map.iteritems():
131 # If it fails, you need to add a test case for the new command. 131 # If it fails, you need to add a test case for the new command.
132 self.assert_(v in known_commands) 132 self.assert_(v in known_commands)
133 self.mox.ReplayAll() 133 self.mox.ReplayAll()
134 134
135 class TestDoConfig(GclientTestCase): 135 class TestDoConfig(GclientTestCase):
136 def testMissingArgument(self): 136 def testMissingArgument(self):
137 exception_msg = "required argument missing; see 'gclient help config'" 137 exception_msg = "required argument missing; see 'gclient help config'"
138 138
139 self.mox.ReplayAll() 139 self.mox.ReplayAll()
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 'RunOnDeps', 'SaveConfig', 'SetConfig', 'SetDefaultConfig', 346 'RunOnDeps', 'SaveConfig', 'SetConfig', 'SetDefaultConfig',
347 'supported_commands', 'PrintRevInfo', 347 'supported_commands', 'PrintRevInfo',
348 ] 348 ]
349 349
350 # If you add a member, be sure to add the relevant test! 350 # If you add a member, be sure to add the relevant test!
351 self.compareMembers(self._gclient_gclient('root_dir', 'options'), members) 351 self.compareMembers(self._gclient_gclient('root_dir', 'options'), members)
352 352
353 def testSetConfig_ConfigContent_GetVar_SaveConfig_SetDefaultConfig(self): 353 def testSetConfig_ConfigContent_GetVar_SaveConfig_SetDefaultConfig(self):
354 options = self.Options() 354 options = self.Options()
355 text = "# Dummy content\nclient = 'my client'" 355 text = "# Dummy content\nclient = 'my client'"
356 gclient.FileWrite(os.path.join(self.root_dir, options.config_filename), 356 gclient_utils.FileWrite(
357 text) 357 os.path.join(self.root_dir, options.config_filename),
358 text)
358 359
359 self.mox.ReplayAll() 360 self.mox.ReplayAll()
360 client = self._gclient_gclient(self.root_dir, options) 361 client = self._gclient_gclient(self.root_dir, options)
361 client.SetConfig(text) 362 client.SetConfig(text)
362 self.assertEqual(client.ConfigContent(), text) 363 self.assertEqual(client.ConfigContent(), text)
363 self.assertEqual(client.GetVar('client'), 'my client') 364 self.assertEqual(client.GetVar('client'), 'my client')
364 self.assertEqual(client.GetVar('foo'), None) 365 self.assertEqual(client.GetVar('foo'), None)
365 client.SaveConfig() 366 client.SaveConfig()
366 367
367 solution_name = 'solution name' 368 solution_name = 'solution name'
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) 423 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename)
423 ).AndReturn(False) 424 ).AndReturn(False)
424 425
425 # An scm will be requested for the solution. 426 # An scm will be requested for the solution.
426 scm_wrapper_sol = self.mox.CreateMockAnything() 427 scm_wrapper_sol = self.mox.CreateMockAnything()
427 gclient_scm.CreateSCM(self.url, self.root_dir, solution_name 428 gclient_scm.CreateSCM(self.url, self.root_dir, solution_name
428 ).AndReturn(scm_wrapper_sol) 429 ).AndReturn(scm_wrapper_sol)
429 # Then an update will be performed. 430 # Then an update will be performed.
430 scm_wrapper_sol.RunCommand('update', options, self.args, []) 431 scm_wrapper_sol.RunCommand('update', options, self.args, [])
431 # Then an attempt will be made to read its DEPS file. 432 # Then an attempt will be made to read its DEPS file.
432 gclient.FileRead(os.path.join(self.root_dir, 433 gclient_utils.FileRead(os.path.join(self.root_dir,
433 solution_name, 434 solution_name,
434 options.deps_file)).AndRaise(IOError(2, 'No DEPS file')) 435 options.deps_file)
436 ).AndRaise(IOError(2, 'No DEPS file'))
435 437
436 # After everything is done, an attempt is made to write an entries 438 # After everything is done, an attempt is made to write an entries
437 # file. 439 # file.
438 gclient.FileWrite(os.path.join(self.root_dir, options.entries_filename), 440 gclient_utils.FileWrite(
441 os.path.join(self.root_dir, options.entries_filename),
439 IsOneOf((entries_content1, entries_content2))) 442 IsOneOf((entries_content1, entries_content2)))
440 443
441 self.mox.ReplayAll() 444 self.mox.ReplayAll()
442 client = self._gclient_gclient(self.root_dir, options) 445 client = self._gclient_gclient(self.root_dir, options)
443 client.SetConfig(gclient_config) 446 client.SetConfig(gclient_config)
444 client.RunOnDeps('update', self.args) 447 client.RunOnDeps('update', self.args)
445 448
446 def testRunOnDepsRelativePaths(self): 449 def testRunOnDepsRelativePaths(self):
447 solution_name = 'testRunOnDepsRelativePaths_solution_name' 450 solution_name = 'testRunOnDepsRelativePaths_solution_name'
448 gclient_config = ( 451 gclient_config = (
(...skipping 29 matching lines...) Expand all
478 # Expect a check for the entries file and we say there is not one. 481 # Expect a check for the entries file and we say there is not one.
479 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) 482 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename)
480 ).AndReturn(False) 483 ).AndReturn(False)
481 484
482 # An scm will be requested for the solution. 485 # An scm will be requested for the solution.
483 gclient_scm.CreateSCM(self.url, self.root_dir, solution_name 486 gclient_scm.CreateSCM(self.url, self.root_dir, solution_name
484 ).AndReturn(scm_wrapper_sol) 487 ).AndReturn(scm_wrapper_sol)
485 # Then an update will be performed. 488 # Then an update will be performed.
486 scm_wrapper_sol.RunCommand('update', options, self.args, []) 489 scm_wrapper_sol.RunCommand('update', options, self.args, [])
487 # Then an attempt will be made to read its DEPS file. 490 # Then an attempt will be made to read its DEPS file.
488 gclient.FileRead(os.path.join(self.root_dir, 491 gclient_utils.FileRead(os.path.join(self.root_dir,
489 solution_name, 492 solution_name,
490 options.deps_file)).AndReturn(deps) 493 options.deps_file)).AndReturn(deps)
491 494
492 # Next we expect an scm to be request for dep src/t but it should 495 # Next we expect an scm to be request for dep src/t but it should
493 # use the url specified in deps and the relative path should now 496 # use the url specified in deps and the relative path should now
494 # be relative to the DEPS file. 497 # be relative to the DEPS file.
495 gclient_scm.CreateSCM( 498 gclient_scm.CreateSCM(
496 'svn://scm.t/trunk', 499 'svn://scm.t/trunk',
497 self.root_dir, 500 self.root_dir,
498 os.path.join(solution_name, "src", "t")).AndReturn(scm_wrapper_t) 501 os.path.join(solution_name, "src", "t")).AndReturn(scm_wrapper_t)
499 scm_wrapper_t.RunCommand('update', options, self.args, []) 502 scm_wrapper_t.RunCommand('update', options, self.args, [])
500 503
501 # After everything is done, an attempt is made to write an entries 504 # After everything is done, an attempt is made to write an entries
502 # file. 505 # file.
503 gclient.FileWrite(os.path.join(self.root_dir, options.entries_filename), 506 gclient_utils.FileWrite(
507 os.path.join(self.root_dir, options.entries_filename),
504 entries_content) 508 entries_content)
505 509
506 self.mox.ReplayAll() 510 self.mox.ReplayAll()
507 client = self._gclient_gclient(self.root_dir, options) 511 client = self._gclient_gclient(self.root_dir, options)
508 client.SetConfig(gclient_config) 512 client.SetConfig(gclient_config)
509 client.RunOnDeps('update', self.args) 513 client.RunOnDeps('update', self.args)
510 514
511 def testRunOnDepsCustomDeps(self): 515 def testRunOnDepsCustomDeps(self):
512 solution_name = 'testRunOnDepsCustomDeps_solution_name' 516 solution_name = 'testRunOnDepsCustomDeps_solution_name'
513 gclient_config = ( 517 gclient_config = (
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 # Expect a check for the entries file and we say there is not one. 555 # Expect a check for the entries file and we say there is not one.
552 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) 556 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename)
553 ).AndReturn(False) 557 ).AndReturn(False)
554 558
555 # An scm will be requested for the solution. 559 # An scm will be requested for the solution.
556 gclient_scm.CreateSCM(self.url, self.root_dir, solution_name 560 gclient_scm.CreateSCM(self.url, self.root_dir, solution_name
557 ).AndReturn(scm_wrapper_sol) 561 ).AndReturn(scm_wrapper_sol)
558 # Then an update will be performed. 562 # Then an update will be performed.
559 scm_wrapper_sol.RunCommand('update', options, self.args, []) 563 scm_wrapper_sol.RunCommand('update', options, self.args, [])
560 # Then an attempt will be made to read its DEPS file. 564 # Then an attempt will be made to read its DEPS file.
561 gclient.FileRead(os.path.join(checkout_path, options.deps_file) 565 gclient_utils.FileRead(os.path.join(checkout_path, options.deps_file)
562 ).AndReturn(deps) 566 ).AndReturn(deps)
563 567
564 # Next we expect an scm to be request for dep src/n even though it does not 568 # Next we expect an scm to be request for dep src/n even though it does not
565 # exist in the DEPS file. 569 # exist in the DEPS file.
566 gclient_scm.CreateSCM('svn://custom.n/trunk', 570 gclient_scm.CreateSCM('svn://custom.n/trunk',
567 self.root_dir, 571 self.root_dir,
568 "src/n").AndReturn(scm_wrapper_n) 572 "src/n").AndReturn(scm_wrapper_n)
569 573
570 # Next we expect an scm to be request for dep src/t but it should 574 # Next we expect an scm to be request for dep src/t but it should
571 # use the url specified in custom_deps. 575 # use the url specified in custom_deps.
572 gclient_scm.CreateSCM('svn://custom.t/trunk', 576 gclient_scm.CreateSCM('svn://custom.t/trunk',
573 self.root_dir, 577 self.root_dir,
574 "src/t").AndReturn(scm_wrapper_t) 578 "src/t").AndReturn(scm_wrapper_t)
575 579
576 scm_wrapper_n.RunCommand('update', options, self.args, []) 580 scm_wrapper_n.RunCommand('update', options, self.args, [])
577 scm_wrapper_t.RunCommand('update', options, self.args, []) 581 scm_wrapper_t.RunCommand('update', options, self.args, [])
578 582
579 # NOTE: the dep src/b should not create an scm at all. 583 # NOTE: the dep src/b should not create an scm at all.
580 584
581 # After everything is done, an attempt is made to write an entries 585 # After everything is done, an attempt is made to write an entries
582 # file. 586 # file.
583 gclient.FileWrite(os.path.join(self.root_dir, options.entries_filename), 587 gclient_utils.FileWrite(
588 os.path.join(self.root_dir, options.entries_filename),
584 entries_content) 589 entries_content)
585 590
586 self.mox.ReplayAll() 591 self.mox.ReplayAll()
587 client = self._gclient_gclient(self.root_dir, options) 592 client = self._gclient_gclient(self.root_dir, options)
588 client.SetConfig(gclient_config) 593 client.SetConfig(gclient_config)
589 client.RunOnDeps('update', self.args) 594 client.RunOnDeps('update', self.args)
590 595
591 # Regression test for Issue #11. 596 # Regression test for Issue #11.
592 # http://code.google.com/p/gclient/issues/detail?id=11 597 # http://code.google.com/p/gclient/issues/detail?id=11
593 def testRunOnDepsSharedDependency(self): 598 def testRunOnDepsSharedDependency(self):
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 ).AndReturn(False) 641 ).AndReturn(False)
637 642
638 # Expect a check for the entries file and we say there is not one. 643 # Expect a check for the entries file and we say there is not one.
639 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) 644 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename)
640 ).AndReturn(False) 645 ).AndReturn(False)
641 646
642 # An scm will be requested for the first solution. 647 # An scm will be requested for the first solution.
643 gclient_scm.CreateSCM(url_a, self.root_dir, name_a).AndReturn( 648 gclient_scm.CreateSCM(url_a, self.root_dir, name_a).AndReturn(
644 scm_wrapper_a) 649 scm_wrapper_a)
645 # Then an attempt will be made to read it's DEPS file. 650 # Then an attempt will be made to read it's DEPS file.
646 gclient.FileRead(os.path.join(self.root_dir, name_a, options.deps_file) 651 gclient_utils.FileRead(
652 os.path.join(self.root_dir, name_a, options.deps_file)
647 ).AndReturn(deps_a) 653 ).AndReturn(deps_a)
648 # Then an update will be performed. 654 # Then an update will be performed.
649 scm_wrapper_a.RunCommand('update', options, self.args, []) 655 scm_wrapper_a.RunCommand('update', options, self.args, [])
650 656
651 # An scm will be requested for the second solution. 657 # An scm will be requested for the second solution.
652 gclient_scm.CreateSCM(url_b, self.root_dir, name_b).AndReturn( 658 gclient_scm.CreateSCM(url_b, self.root_dir, name_b).AndReturn(
653 scm_wrapper_b) 659 scm_wrapper_b)
654 # Then an attempt will be made to read its DEPS file. 660 # Then an attempt will be made to read its DEPS file.
655 gclient.FileRead(os.path.join(self.root_dir, name_b, options.deps_file) 661 gclient_utils.FileRead(
662 os.path.join(self.root_dir, name_b, options.deps_file)
656 ).AndReturn(deps_b) 663 ).AndReturn(deps_b)
657 # Then an update will be performed. 664 # Then an update will be performed.
658 scm_wrapper_b.RunCommand('update', options, self.args, []) 665 scm_wrapper_b.RunCommand('update', options, self.args, [])
659 666
660 # Finally, an scm is requested for the shared dep. 667 # Finally, an scm is requested for the shared dep.
661 gclient_scm.CreateSCM('http://svn.t/trunk', self.root_dir, 'src/t' 668 gclient_scm.CreateSCM('http://svn.t/trunk', self.root_dir, 'src/t'
662 ).AndReturn(scm_wrapper_dep) 669 ).AndReturn(scm_wrapper_dep)
663 # And an update is run on it. 670 # And an update is run on it.
664 scm_wrapper_dep.RunCommand('update', options, self.args, []) 671 scm_wrapper_dep.RunCommand('update', options, self.args, [])
665 672
666 # After everything is done, an attempt is made to write an entries file. 673 # After everything is done, an attempt is made to write an entries file.
667 gclient.FileWrite(os.path.join(self.root_dir, options.entries_filename), 674 gclient_utils.FileWrite(
675 os.path.join(self.root_dir, options.entries_filename),
668 entries_content) 676 entries_content)
669 677
670 self.mox.ReplayAll() 678 self.mox.ReplayAll()
671 client = self._gclient_gclient(self.root_dir, options) 679 client = self._gclient_gclient(self.root_dir, options)
672 client.SetConfig(gclient_config) 680 client.SetConfig(gclient_config)
673 client.RunOnDeps('update', self.args) 681 client.RunOnDeps('update', self.args)
674 682
675 def testRunOnDepsSuccess(self): 683 def testRunOnDepsSuccess(self):
676 # Fake .gclient file. 684 # Fake .gclient file.
677 name = 'testRunOnDepsSuccess_solution_name' 685 name = 'testRunOnDepsSuccess_solution_name'
678 gclient_config = """solutions = [ { 686 gclient_config = """solutions = [ {
679 'name': '%s', 687 'name': '%s',
680 'url': '%s', 688 'url': '%s',
681 'custom_deps': {}, 689 'custom_deps': {},
682 }, ]""" % (name, self.url) 690 }, ]""" % (name, self.url)
683 691
684 entries_content = ( 692 entries_content = (
685 "entries = \\\n" 693 "entries = \\\n"
686 "{ '%s': '%s'}\n" 694 "{ '%s': '%s'}\n"
687 ) % (name, self.url) 695 ) % (name, self.url)
688 696
689 options = self.Options() 697 options = self.Options()
690 gclient.os.path.exists(os.path.join(self.root_dir, name, '.git') 698 gclient.os.path.exists(os.path.join(self.root_dir, name, '.git')
691 ).AndReturn(False) 699 ).AndReturn(False)
692 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) 700 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename)
693 ).AndReturn(False) 701 ).AndReturn(False)
694 gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( 702 gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn(
695 gclient_scm.CreateSCM) 703 gclient_scm.CreateSCM)
696 gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) 704 gclient_scm.CreateSCM.RunCommand('update', options, self.args, [])
697 gclient.FileRead(os.path.join(self.root_dir, name, options.deps_file) 705 gclient_utils.FileRead(os.path.join(self.root_dir, name, options.deps_file)
698 ).AndReturn("Boo = 'a'") 706 ).AndReturn("Boo = 'a'")
699 gclient.FileWrite(os.path.join(self.root_dir, options.entries_filename), 707 gclient_utils.FileWrite(
700 entries_content) 708 os.path.join(self.root_dir, options.entries_filename),
709 entries_content)
701 710
702 self.mox.ReplayAll() 711 self.mox.ReplayAll()
703 client = self._gclient_gclient(self.root_dir, options) 712 client = self._gclient_gclient(self.root_dir, options)
704 client.SetConfig(gclient_config) 713 client.SetConfig(gclient_config)
705 client.RunOnDeps('update', self.args) 714 client.RunOnDeps('update', self.args)
706 715
707 def testRunOnDepsRevisions(self): 716 def testRunOnDepsRevisions(self):
708 def OptIsRev(options, rev): 717 def OptIsRev(options, rev):
709 if not options.revision == str(rev): 718 if not options.revision == str(rev):
710 print("options.revision = %s" % options.revision) 719 print("options.revision = %s" % options.revision)
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 scm_wrapper_webkit = self.mox.CreateMockAnything() 770 scm_wrapper_webkit = self.mox.CreateMockAnything()
762 scm_wrapper_breakpad = self.mox.CreateMockAnything() 771 scm_wrapper_breakpad = self.mox.CreateMockAnything()
763 scm_wrapper_cygwin = self.mox.CreateMockAnything() 772 scm_wrapper_cygwin = self.mox.CreateMockAnything()
764 scm_wrapper_python = self.mox.CreateMockAnything() 773 scm_wrapper_python = self.mox.CreateMockAnything()
765 options = self.Options() 774 options = self.Options()
766 options.revisions = [ 'src@123', 'foo/third_party/WebKit@42', 775 options.revisions = [ 'src@123', 'foo/third_party/WebKit@42',
767 'src/third_party/cygwin@333' ] 776 'src/third_party/cygwin@333' ]
768 777
769 # Also, pymox doesn't verify the order of function calling w.r.t. different 778 # Also, pymox doesn't verify the order of function calling w.r.t. different
770 # mock objects. Pretty lame. So reorder as we wish to make it clearer. 779 # mock objects. Pretty lame. So reorder as we wish to make it clearer.
771 gclient.FileRead(os.path.join(self.root_dir, 'src', options.deps_file) 780 gclient_utils.FileRead(
781 os.path.join(self.root_dir, 'src', options.deps_file)
772 ).AndReturn(deps_content) 782 ).AndReturn(deps_content)
773 gclient.FileWrite(os.path.join(self.root_dir, options.entries_filename), 783 gclient_utils.FileWrite(
774 entries_content) 784 os.path.join(self.root_dir, options.entries_filename),
785 entries_content)
775 786
776 gclient.os.path.exists(os.path.join(self.root_dir, 'src', '.git') 787 gclient.os.path.exists(os.path.join(self.root_dir, 'src', '.git')
777 ).AndReturn(False) 788 ).AndReturn(False)
778 gclient.os.path.exists(os.path.join(self.root_dir, 'foo/third_party/WebKit', 789 gclient.os.path.exists(os.path.join(self.root_dir, 'foo/third_party/WebKit',
779 '.git') 790 '.git')
780 ).AndReturn(False) 791 ).AndReturn(False)
781 gclient.os.path.exists(os.path.join(self.root_dir, 'src/third_party/cygwin', 792 gclient.os.path.exists(os.path.join(self.root_dir, 'src/third_party/cygwin',
782 '.git') 793 '.git')
783 ).AndReturn(False) 794 ).AndReturn(False)
784 gclient.os.path.exists(os.path.join(self.root_dir, 795 gclient.os.path.exists(os.path.join(self.root_dir,
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 }""" 857 }"""
847 858
848 options = self.Options() 859 options = self.Options()
849 options.revisions = [ 'foo/third_party/WebKit@42', 860 options.revisions = [ 'foo/third_party/WebKit@42',
850 'foo/third_party/WebKit@43' ] 861 'foo/third_party/WebKit@43' ]
851 client = self._gclient_gclient(self.root_dir, options) 862 client = self._gclient_gclient(self.root_dir, options)
852 client.SetConfig(gclient_config) 863 client.SetConfig(gclient_config)
853 exception = "Conflicting revision numbers specified." 864 exception = "Conflicting revision numbers specified."
854 try: 865 try:
855 client.RunOnDeps('update', self.args) 866 client.RunOnDeps('update', self.args)
856 except gclient.Error, e: 867 except gclient_utils.Error, e:
857 self.assertEquals(e.args[0], exception) 868 self.assertEquals(e.args[0], exception)
858 else: 869 else:
859 self.fail('%s not raised' % exception) 870 self.fail('%s not raised' % exception)
860 871
861 def testRunOnDepsSuccessVars(self): 872 def testRunOnDepsSuccessVars(self):
862 # Fake .gclient file. 873 # Fake .gclient file.
863 name = 'testRunOnDepsSuccessVars_solution_name' 874 name = 'testRunOnDepsSuccessVars_solution_name'
864 gclient_config = """solutions = [ { 875 gclient_config = """solutions = [ {
865 'name': '%s', 876 'name': '%s',
866 'url': '%s', 877 'url': '%s',
(...skipping 13 matching lines...) Expand all
880 entries_content = ( 891 entries_content = (
881 "entries = \\\n" 892 "entries = \\\n"
882 "{ 'foo/third_party/WebKit': '%s',\n" 893 "{ 'foo/third_party/WebKit': '%s',\n"
883 " '%s': '%s'}\n" 894 " '%s': '%s'}\n"
884 ) % (webkit_path, name, self.url) 895 ) % (webkit_path, name, self.url)
885 896
886 scm_wrapper_webkit = self.mox.CreateMockAnything() 897 scm_wrapper_webkit = self.mox.CreateMockAnything()
887 scm_wrapper_src = self.mox.CreateMockAnything() 898 scm_wrapper_src = self.mox.CreateMockAnything()
888 899
889 options = self.Options() 900 options = self.Options()
890 gclient.FileRead(os.path.join(self.root_dir, name, options.deps_file) 901 gclient_utils.FileRead(
902 os.path.join(self.root_dir, name, options.deps_file)
891 ).AndReturn(deps_content) 903 ).AndReturn(deps_content)
892 gclient.FileWrite(os.path.join(self.root_dir, options.entries_filename), 904 gclient_utils.FileWrite(
893 entries_content) 905 os.path.join(self.root_dir, options.entries_filename),
906 entries_content)
894 907
895 gclient.os.path.exists(os.path.join(self.root_dir, 'foo/third_party/WebKit', 908 gclient.os.path.exists(os.path.join(self.root_dir, 'foo/third_party/WebKit',
896 '.git')).AndReturn(False) 909 '.git')).AndReturn(False)
897 gclient.os.path.exists(os.path.join(self.root_dir, name, '.git') 910 gclient.os.path.exists(os.path.join(self.root_dir, name, '.git')
898 ).AndReturn(False) 911 ).AndReturn(False)
899 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) 912 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename)
900 ).AndReturn(False) 913 ).AndReturn(False)
901 gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( 914 gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn(
902 gclient_scm.CreateSCM) 915 gclient_scm.CreateSCM)
903 gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) 916 gclient_scm.CreateSCM.RunCommand('update', options, self.args, [])
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 entries_content = ( 951 entries_content = (
939 "entries = \\\n" 952 "entries = \\\n"
940 "{ 'foo/third_party/WebKit': '%s',\n" 953 "{ 'foo/third_party/WebKit': '%s',\n"
941 " '%s': '%s'}\n" 954 " '%s': '%s'}\n"
942 ) % (webkit_path, name, self.url) 955 ) % (webkit_path, name, self.url)
943 956
944 scm_wrapper_webkit = self.mox.CreateMockAnything() 957 scm_wrapper_webkit = self.mox.CreateMockAnything()
945 scm_wrapper_src = self.mox.CreateMockAnything() 958 scm_wrapper_src = self.mox.CreateMockAnything()
946 959
947 options = self.Options() 960 options = self.Options()
948 gclient.FileRead(os.path.join(self.root_dir, name, options.deps_file) 961 gclient_utils.FileRead(
962 os.path.join(self.root_dir, name, options.deps_file)
949 ).AndReturn(deps_content) 963 ).AndReturn(deps_content)
950 gclient.FileWrite(os.path.join(self.root_dir, options.entries_filename), 964 gclient_utils.FileWrite(
951 entries_content) 965 os.path.join(self.root_dir, options.entries_filename),
966 entries_content)
952 967
953 gclient.os.path.exists(os.path.join(self.root_dir, 'foo/third_party/WebKit', 968 gclient.os.path.exists(os.path.join(self.root_dir, 'foo/third_party/WebKit',
954 '.git') 969 '.git')
955 ).AndReturn(False) 970 ).AndReturn(False)
956 gclient.os.path.exists(os.path.join(self.root_dir, name, '.git') 971 gclient.os.path.exists(os.path.join(self.root_dir, name, '.git')
957 ).AndReturn(False) 972 ).AndReturn(False)
958 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename) 973 gclient.os.path.exists(os.path.join(self.root_dir, options.entries_filename)
959 ).AndReturn(False) 974 ).AndReturn(False)
960 gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( 975 gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn(
961 gclient_scm.CreateSCM) 976 gclient_scm.CreateSCM)
(...skipping 21 matching lines...) Expand all
983 'url': '%s', 998 'url': '%s',
984 'custom_deps': {}, 999 'custom_deps': {},
985 'custom_vars': {}, 1000 'custom_vars': {},
986 }, ]""" % (name, self.url) 1001 }, ]""" % (name, self.url)
987 # Fake DEPS file. 1002 # Fake DEPS file.
988 deps_content = """deps = { 1003 deps_content = """deps = {
989 'foo/third_party/WebKit': Var('webkit') + 'WebKit', 1004 'foo/third_party/WebKit': Var('webkit') + 'WebKit',
990 }""" 1005 }"""
991 1006
992 options = self.Options() 1007 options = self.Options()
993 gclient.FileRead(os.path.join(self.root_dir, name, options.deps_file) 1008 gclient_utils.FileRead(
1009 os.path.join(self.root_dir, name, options.deps_file)
994 ).AndReturn(deps_content) 1010 ).AndReturn(deps_content)
995 gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn( 1011 gclient_scm.CreateSCM(self.url, self.root_dir, name).AndReturn(
996 gclient_scm.CreateSCM) 1012 gclient_scm.CreateSCM)
997 gclient_scm.CreateSCM.RunCommand('update', options, self.args, []) 1013 gclient_scm.CreateSCM.RunCommand('update', options, self.args, [])
998 1014
999 self.mox.ReplayAll() 1015 self.mox.ReplayAll()
1000 client = self._gclient_gclient(self.root_dir, options) 1016 client = self._gclient_gclient(self.root_dir, options)
1001 client.SetConfig(gclient_config) 1017 client.SetConfig(gclient_config)
1002 exception = "Var is not defined: webkit" 1018 exception = "Var is not defined: webkit"
1003 try: 1019 try:
1004 client.RunOnDeps('update', self.args) 1020 client.RunOnDeps('update', self.args)
1005 except gclient.Error, e: 1021 except gclient_utils.Error, e:
1006 self.assertEquals(e.args[0], exception) 1022 self.assertEquals(e.args[0], exception)
1007 else: 1023 else:
1008 self.fail('%s not raised' % exception) 1024 self.fail('%s not raised' % exception)
1009 1025
1010 def testRunOnDepsFailureInvalidCommand(self): 1026 def testRunOnDepsFailureInvalidCommand(self):
1011 options = self.Options() 1027 options = self.Options()
1012 1028
1013 self.mox.ReplayAll() 1029 self.mox.ReplayAll()
1014 client = self._gclient_gclient(self.root_dir, options) 1030 client = self._gclient_gclient(self.root_dir, options)
1015 exception = "'foo' is an unsupported command" 1031 exception = "'foo' is an unsupported command"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
1156 """ 1172 """
1157 gclient_scm.CaptureSVN = CaptureSVNMock 1173 gclient_scm.CaptureSVN = CaptureSVNMock
1158 info = gclient_scm.CaptureSVNStatus(None) 1174 info = gclient_scm.CaptureSVNStatus(None)
1159 self.assertEquals(info, []) 1175 self.assertEquals(info, [])
1160 1176
1161 1177
1162 if __name__ == '__main__': 1178 if __name__ == '__main__':
1163 unittest.main() 1179 unittest.main()
1164 1180
1165 # vim: ts=2:sw=2:tw=80:et: 1181 # vim: ts=2:sw=2:tw=80:et:
OLDNEW
« gclient.py ('K') | « tests/gcl_unittest.py ('k') | tests/trychange_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698