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

Side by Side Diff: tests/gcl_unittest.py

Issue 8994004: Fix gcl path handling to be more consistent. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « gcl.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) 2011 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2011 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 gcl.py.""" 6 """Unit tests for gcl.py."""
7 7
8 # pylint: disable=E1103,E1101,E1120 8 # pylint: disable=E1103,E1101,E1120
9 9
10 import os 10 import os
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 change_info.description = 'deescription\n\nR=foo@bar.com', 302 change_info.description = 'deescription\n\nR=foo@bar.com',
303 change_info.files = [('A', 'aa'), ('M', 'bb')] 303 change_info.files = [('A', 'aa'), ('M', 'bb')]
304 change_info.patch = None 304 change_info.patch = None
305 change_info.rietveld = 'my_server' 305 change_info.rietveld = 'my_server'
306 files = [item[1] for item in change_info.files] 306 files = [item[1] for item in change_info.files]
307 output = presubmit_support.PresubmitOutput() 307 output = presubmit_support.PresubmitOutput()
308 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(output) 308 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(output)
309 #gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server') 309 #gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server')
310 gcl.os.getcwd().AndReturn('somewhere') 310 gcl.os.getcwd().AndReturn('somewhere')
311 change_info.GetFiles().AndReturn(change_info.files) 311 change_info.GetFiles().AndReturn(change_info.files)
312 change_info.GetLocalRoot().AndReturn('proout')
313 gcl.os.chdir('proout') 312 gcl.os.chdir('proout')
314 change_info.GetFileNames().AndReturn(files) 313 change_info.GetFileNames().AndReturn(files)
315 gcl.GenerateDiff(files) 314 gcl.GenerateDiff(files)
316 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', 315 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server',
317 '-r', 'georges@example.com', 316 '-r', 'georges@example.com',
318 '--message=\'\'', '--issue=1'], 317 '--message=\'\'', '--issue=1'],
319 change_info.patch).AndReturn(("1", 318 change_info.patch).AndReturn(("1",
320 "2")) 319 "2"))
320 change_info.GetLocalRoot().AndReturn('proout')
321 change_info.Save() 321 change_info.Save()
322 change_info.PrimeLint() 322 change_info.PrimeLint()
323 gcl.os.chdir('somewhere') 323 gcl.os.chdir('somewhere')
324 gcl.sys.stdout.write("*** Upload does not submit a try; use gcl try to" 324 gcl.sys.stdout.write("*** Upload does not submit a try; use gcl try to"
325 " submit a try. ***") 325 " submit a try. ***")
326 gcl.sys.stdout.write("\n") 326 gcl.sys.stdout.write("\n")
327 gcl.GetRepositoryRoot().AndReturn(self.fake_root_dir) 327 gcl.GetRepositoryRoot().AndReturn(self.fake_root_dir)
328 gcl.ChangeInfo.Load('naame', self.fake_root_dir, True, True 328 gcl.ChangeInfo.Load('naame', self.fake_root_dir, True, True
329 ).AndReturn(change_info) 329 ).AndReturn(change_info)
330 self.mox.ReplayAll() 330 self.mox.ReplayAll()
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 change_info.files = [('A', 'aa'), ('M', 'bb')] 443 change_info.files = [('A', 'aa'), ('M', 'bb')]
444 change_info.patch = None 444 change_info.patch = None
445 change_info.rietveld = 'my_server' 445 change_info.rietveld = 'my_server'
446 change_info.reviewers = ['georges@example.com'] 446 change_info.reviewers = ['georges@example.com']
447 files = [item[1] for item in change_info.files] 447 files = [item[1] for item in change_info.files]
448 output = presubmit_support.PresubmitOutput() 448 output = presubmit_support.PresubmitOutput()
449 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(output) 449 gcl.DoPresubmitChecks(change_info, False, True).AndReturn(output)
450 #gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server') 450 #gcl.GetCodeReviewSetting('CODE_REVIEW_SERVER').AndReturn('my_server')
451 gcl.os.getcwd().AndReturn('somewhere') 451 gcl.os.getcwd().AndReturn('somewhere')
452 change_info.GetFiles().AndReturn(change_info.files) 452 change_info.GetFiles().AndReturn(change_info.files)
453 change_info.GetFileNames().AndReturn(files)
453 change_info.GetLocalRoot().AndReturn('proout') 454 change_info.GetLocalRoot().AndReturn('proout')
454 gcl.os.chdir('proout') 455 gcl.os.chdir('proout')
455 change_info.GetFileNames().AndReturn(files)
456 gcl.GenerateDiff(files) 456 gcl.GenerateDiff(files)
457 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server', 457 gcl.upload.RealMain(['upload.py', '-y', '--server=my_server',
458 '--reviewers=georges@example.com', 458 '--reviewers=georges@example.com',
459 '--message=\'\'', '--issue=1'], 459 '--message=\'\'', '--issue=1'],
460 change_info.patch).AndReturn(("1", "2")) 460 change_info.patch).AndReturn(("1", "2"))
461 change_info.Save() 461 change_info.Save()
462 change_info.PrimeLint() 462 change_info.PrimeLint()
463 gcl.os.chdir('somewhere') 463 gcl.os.chdir('somewhere')
464 gcl.sys.stdout.write("*** Upload does not submit a try; use gcl try to" 464 gcl.sys.stdout.write("*** Upload does not submit a try; use gcl try to"
465 " submit a try. ***") 465 " submit a try. ***")
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 gcl.OptionallyDoPresubmitChecks(change_info, True, []).AndReturn(output) 522 gcl.OptionallyDoPresubmitChecks(change_info, True, []).AndReturn(output)
523 523
524 def mockCommit(self, change_info, commit_message, shell_output): 524 def mockCommit(self, change_info, commit_message, shell_output):
525 gcl.tempfile.mkstemp(text=True).AndReturn((42, 'commit')) 525 gcl.tempfile.mkstemp(text=True).AndReturn((42, 'commit'))
526 gcl.os.write(42, commit_message) 526 gcl.os.write(42, commit_message)
527 gcl.os.close(42) 527 gcl.os.close(42)
528 gcl.tempfile.mkstemp(text=True).AndReturn((43, 'files')) 528 gcl.tempfile.mkstemp(text=True).AndReturn((43, 'files'))
529 gcl.os.write(43, '\n'.join(change_info.GetFileNames())) 529 gcl.os.write(43, '\n'.join(change_info.GetFileNames()))
530 gcl.os.close(43) 530 gcl.os.close(43)
531 531
532 gcl.os.getcwd().AndReturn('prev')
533 gcl.os.chdir(change_info.GetLocalRoot())
534 gcl.RunShell(['svn', 'commit', '--file=commit', '--targets=files'], 532 gcl.RunShell(['svn', 'commit', '--file=commit', '--targets=files'],
535 True).AndReturn(shell_output) 533 True).AndReturn(shell_output)
536 if 'Committed' in shell_output: 534 if 'Committed' in shell_output:
537 self.mox.StubOutWithMock(gcl, 'GetCodeReviewSetting') 535 self.mox.StubOutWithMock(gcl, 'GetCodeReviewSetting')
538 gcl.GetCodeReviewSetting('VIEW_VC').AndReturn('http://view/') 536 gcl.GetCodeReviewSetting('VIEW_VC').AndReturn('http://view/')
539 537
540 gcl.os.remove('commit') 538 gcl.os.remove('commit')
541 gcl.os.remove('files') 539 gcl.os.remove('files')
542 gcl.os.chdir('prev')
543 540
544 def testPresubmitEmpty(self): 541 def testPresubmitEmpty(self):
545 self.mockLoad(files=[]) 542 self.mockLoad(files=[])
546 self.mox.ReplayAll() 543 self.mox.ReplayAll()
547 544
548 retval = gcl.CMDcommit(['naame']) 545 retval = gcl.CMDcommit(['naame'])
549 546
550 self.assertEquals(retval, 1) 547 self.assertEquals(retval, 1)
551 548
552 def testPresubmitFails(self): 549 def testPresubmitFails(self):
553 change_info = self.mockLoad() 550 change_info = self.mockLoad()
554 self.mockPresubmit(change_info, fail=True) 551 self.mockPresubmit(change_info, fail=True)
555 self.mox.ReplayAll() 552 self.mox.ReplayAll()
556 553
557 retval = gcl.CMDcommit(['naame']) 554 retval = gcl.CMDcommit(['naame'])
558 555
559 self.assertEquals(retval, 1) 556 self.assertEquals(retval, 1)
560 557
561 def testPresubmitSucceeds(self): 558 def testPresubmitSucceeds(self):
562 change_info = self.mockLoad() 559 change_info = self.mockLoad()
563 self.mockPresubmit(change_info, fail=False) 560 self.mockPresubmit(change_info, fail=False)
564 self.mockCommit(change_info, 'deescription\nReview URL: http://my_server/1', 561 self.mockCommit(change_info, 'deescription\nReview URL: http://my_server/1',
565 '') 562 '')
566
567 self.mox.ReplayAll() 563 self.mox.ReplayAll()
568 564
569 retval = gcl.CMDcommit(['naame']) 565 retval = gcl.CMDcommit(['naame'])
570 566
571 self.assertEquals(retval, 0) 567 self.assertEquals(retval, 0)
572 self.assertEquals(change_info.description, 'deescription') 568 self.assertEquals(change_info.description, 'deescription')
573 # pylint: disable=W0212 569 # pylint: disable=W0212
574 self.assertFalse(change_info._deleted) 570 self.assertFalse(change_info._deleted)
575 self.assertFalse(change_info._closed) 571 self.assertFalse(change_info._closed)
576 572
(...skipping 10 matching lines...) Expand all
587 self.assertEquals(change_info.description, 583 self.assertEquals(change_info.description,
588 'deescription\n\nCommitted: http://view/12345') 584 'deescription\n\nCommitted: http://view/12345')
589 # pylint: disable=W0212 585 # pylint: disable=W0212
590 self.assertTrue(change_info._deleted) 586 self.assertTrue(change_info._deleted)
591 self.assertTrue(change_info._closed) 587 self.assertTrue(change_info._closed)
592 588
593 589
594 if __name__ == '__main__': 590 if __name__ == '__main__':
595 import unittest 591 import unittest
596 unittest.main() 592 unittest.main()
OLDNEW
« no previous file with comments | « gcl.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698