| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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() |
| OLD | NEW |