| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2010 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 # Import before super_mox to keep valid references. | 8 # Import before super_mox to keep valid references. |
| 9 from os import rename | 9 from os import rename |
| 10 from shutil import rmtree | 10 from shutil import rmtree |
| (...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 623 file_list = [] | 623 file_list = [] |
| 624 scm.update(options, None, file_list) | 624 scm.update(options, None, file_list) |
| 625 gclient_scm.os.remove(file_path) | 625 gclient_scm.os.remove(file_path) |
| 626 file_list = [] | 626 file_list = [] |
| 627 scm.revert(options, self.args, file_list) | 627 scm.revert(options, self.args, file_list) |
| 628 self.assertEquals(file_list, [file_path]) | 628 self.assertEquals(file_list, [file_path]) |
| 629 file_list = [] | 629 file_list = [] |
| 630 scm.diff(options, self.args, file_list) | 630 scm.diff(options, self.args, file_list) |
| 631 self.assertEquals(file_list, []) | 631 self.assertEquals(file_list, []) |
| 632 self.checkstdout( | 632 self.checkstdout( |
| 633 ('\n_____ . at refs/heads/master\n\n\n' | 633 ('\n_____ . at refs/heads/master\nUpdating 069c602..a7142dc\n' |
| 634 'Fast-forward\n a | 1 +\n b | 1 +\n' |
| 635 ' 2 files changed, 2 insertions(+), 0 deletions(-)\n\n\n' |
| 634 '________ running \'git reset --hard origin/master\' in \'%s\'\n' | 636 '________ running \'git reset --hard origin/master\' in \'%s\'\n' |
| 635 'HEAD is now at a7142dc Personalized\n') % | 637 'HEAD is now at a7142dc Personalized\n') % |
| 636 gclient_scm.os.path.join(self.root_dir, '.')) | 638 gclient_scm.os.path.join(self.root_dir, '.')) |
| 637 | 639 |
| 638 def testRevertNone(self): | 640 def testRevertNone(self): |
| 639 if not self.enabled: | 641 if not self.enabled: |
| 640 return | 642 return |
| 641 options = self.Options() | 643 options = self.Options() |
| 642 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, | 644 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, |
| 643 relpath=self.relpath) | 645 relpath=self.relpath) |
| 644 file_list = [] | 646 file_list = [] |
| 645 scm.update(options, None, file_list) | 647 scm.update(options, None, file_list) |
| 646 file_list = [] | 648 file_list = [] |
| 647 scm.revert(options, self.args, file_list) | 649 scm.revert(options, self.args, file_list) |
| 648 self.assertEquals(file_list, []) | 650 self.assertEquals(file_list, []) |
| 649 self.assertEquals(scm.revinfo(options, self.args, None), | 651 self.assertEquals(scm.revinfo(options, self.args, None), |
| 650 'a7142dc9f0009350b96a11f372b6ea658592aa95') | 652 'a7142dc9f0009350b96a11f372b6ea658592aa95') |
| 651 self.checkstdout( | 653 self.checkstdout( |
| 652 ('\n_____ . at refs/heads/master\n\n\n' | 654 ('\n_____ . at refs/heads/master\nUpdating 069c602..a7142dc\n' |
| 655 'Fast-forward\n a | 1 +\n b | 1 +\n' |
| 656 ' 2 files changed, 2 insertions(+), 0 deletions(-)\n\n\n' |
| 653 '________ running \'git reset --hard origin/master\' in \'%s\'\n' | 657 '________ running \'git reset --hard origin/master\' in \'%s\'\n' |
| 654 'HEAD is now at a7142dc Personalized\n') % | 658 'HEAD is now at a7142dc Personalized\n') % |
| 655 gclient_scm.os.path.join(self.root_dir, '.')) | 659 gclient_scm.os.path.join(self.root_dir, '.')) |
| 656 | 660 |
| 657 def testRevertModified(self): | 661 def testRevertModified(self): |
| 658 if not self.enabled: | 662 if not self.enabled: |
| 659 return | 663 return |
| 660 options = self.Options() | 664 options = self.Options() |
| 661 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, | 665 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, |
| 662 relpath=self.relpath) | 666 relpath=self.relpath) |
| 663 file_list = [] | 667 file_list = [] |
| 664 scm.update(options, None, file_list) | 668 scm.update(options, None, file_list) |
| 665 file_path = gclient_scm.os.path.join(self.base_path, 'a') | 669 file_path = gclient_scm.os.path.join(self.base_path, 'a') |
| 666 open(file_path, 'a').writelines('touched\n') | 670 open(file_path, 'a').writelines('touched\n') |
| 667 file_list = [] | 671 file_list = [] |
| 668 scm.revert(options, self.args, file_list) | 672 scm.revert(options, self.args, file_list) |
| 669 self.assertEquals(file_list, [file_path]) | 673 self.assertEquals(file_list, [file_path]) |
| 670 file_list = [] | 674 file_list = [] |
| 671 scm.diff(options, self.args, file_list) | 675 scm.diff(options, self.args, file_list) |
| 672 self.assertEquals(file_list, []) | 676 self.assertEquals(file_list, []) |
| 673 self.assertEquals(scm.revinfo(options, self.args, None), | 677 self.assertEquals(scm.revinfo(options, self.args, None), |
| 674 'a7142dc9f0009350b96a11f372b6ea658592aa95') | 678 'a7142dc9f0009350b96a11f372b6ea658592aa95') |
| 675 self.checkstdout( | 679 self.checkstdout( |
| 676 ('\n_____ . at refs/heads/master\n\n\n' | 680 ('\n_____ . at refs/heads/master\nUpdating 069c602..a7142dc\n' |
| 681 'Fast-forward\n a | 1 +\n b | 1 +\n' |
| 682 ' 2 files changed, 2 insertions(+), 0 deletions(-)\n\n\n' |
| 677 '________ running \'git reset --hard origin/master\' in \'%s\'\n' | 683 '________ running \'git reset --hard origin/master\' in \'%s\'\n' |
| 678 'HEAD is now at a7142dc Personalized\n') % | 684 'HEAD is now at a7142dc Personalized\n') % |
| 679 gclient_scm.os.path.join(self.root_dir, '.')) | 685 gclient_scm.os.path.join(self.root_dir, '.')) |
| 680 | 686 |
| 681 def testRevertNew(self): | 687 def testRevertNew(self): |
| 682 if not self.enabled: | 688 if not self.enabled: |
| 683 return | 689 return |
| 684 options = self.Options() | 690 options = self.Options() |
| 685 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, | 691 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, |
| 686 relpath=self.relpath) | 692 relpath=self.relpath) |
| 687 file_list = [] | 693 file_list = [] |
| 688 scm.update(options, None, file_list) | 694 scm.update(options, None, file_list) |
| 689 file_path = gclient_scm.os.path.join(self.base_path, 'c') | 695 file_path = gclient_scm.os.path.join(self.base_path, 'c') |
| 690 f = open(file_path, 'w') | 696 f = open(file_path, 'w') |
| 691 f.writelines('new\n') | 697 f.writelines('new\n') |
| 692 f.close() | 698 f.close() |
| 693 Popen(['git', 'add', 'c'], stdout=PIPE, | 699 Popen(['git', 'add', 'c'], stdout=PIPE, |
| 694 stderr=STDOUT, cwd=self.base_path).communicate() | 700 stderr=STDOUT, cwd=self.base_path).communicate() |
| 695 file_list = [] | 701 file_list = [] |
| 696 scm.revert(options, self.args, file_list) | 702 scm.revert(options, self.args, file_list) |
| 697 self.assertEquals(file_list, [file_path]) | 703 self.assertEquals(file_list, [file_path]) |
| 698 file_list = [] | 704 file_list = [] |
| 699 scm.diff(options, self.args, file_list) | 705 scm.diff(options, self.args, file_list) |
| 700 self.assertEquals(file_list, []) | 706 self.assertEquals(file_list, []) |
| 701 self.assertEquals(scm.revinfo(options, self.args, None), | 707 self.assertEquals(scm.revinfo(options, self.args, None), |
| 702 'a7142dc9f0009350b96a11f372b6ea658592aa95') | 708 'a7142dc9f0009350b96a11f372b6ea658592aa95') |
| 703 self.checkstdout( | 709 self.checkstdout( |
| 704 ('\n_____ . at refs/heads/master\n\n\n' | 710 ('\n_____ . at refs/heads/master\nUpdating 069c602..a7142dc\n' |
| 711 'Fast-forward\n a | 1 +\n b | 1 +\n' |
| 712 ' 2 files changed, 2 insertions(+), 0 deletions(-)\n\n\n' |
| 705 '________ running \'git reset --hard origin/master\' in \'%s\'\n' | 713 '________ running \'git reset --hard origin/master\' in \'%s\'\n' |
| 706 'HEAD is now at a7142dc Personalized\n') % | 714 'HEAD is now at a7142dc Personalized\n') % |
| 707 gclient_scm.os.path.join(self.root_dir, '.')) | 715 gclient_scm.os.path.join(self.root_dir, '.')) |
| 708 | 716 |
| 709 def testStatusNew(self): | 717 def testStatusNew(self): |
| 710 if not self.enabled: | 718 if not self.enabled: |
| 711 return | 719 return |
| 712 options = self.Options() | 720 options = self.Options() |
| 713 file_path = gclient_scm.os.path.join(self.base_path, 'a') | 721 file_path = gclient_scm.os.path.join(self.base_path, 'a') |
| 714 open(file_path, 'a').writelines('touched\n') | 722 open(file_path, 'a').writelines('touched\n') |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 777 options = self.Options() | 785 options = self.Options() |
| 778 expected_file_list = [gclient_scm.os.path.join(self.base_path, x) | 786 expected_file_list = [gclient_scm.os.path.join(self.base_path, x) |
| 779 for x in ['a', 'b']] | 787 for x in ['a', 'b']] |
| 780 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, | 788 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, |
| 781 relpath=self.relpath) | 789 relpath=self.relpath) |
| 782 file_list = [] | 790 file_list = [] |
| 783 scm.update(options, (), file_list) | 791 scm.update(options, (), file_list) |
| 784 self.assertEquals(file_list, expected_file_list) | 792 self.assertEquals(file_list, expected_file_list) |
| 785 self.assertEquals(scm.revinfo(options, (), None), | 793 self.assertEquals(scm.revinfo(options, (), None), |
| 786 'a7142dc9f0009350b96a11f372b6ea658592aa95') | 794 'a7142dc9f0009350b96a11f372b6ea658592aa95') |
| 787 self.checkstdout('\n_____ . at refs/heads/master\n\n') | 795 self.checkstdout( |
| 796 '\n_____ . at refs/heads/master\n' |
| 797 'Updating 069c602..a7142dc\nFast-forward\n a | 1 +\n b | 1 +\n' |
| 798 ' 2 files changed, 2 insertions(+), 0 deletions(-)\n\n') |
| 788 | 799 |
| 789 def testUpdateUnstagedConflict(self): | 800 def testUpdateUnstagedConflict(self): |
| 790 if not self.enabled: | 801 if not self.enabled: |
| 791 return | 802 return |
| 792 options = self.Options() | 803 options = self.Options() |
| 793 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, | 804 scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir, |
| 794 relpath=self.relpath) | 805 relpath=self.relpath) |
| 795 file_path = gclient_scm.os.path.join(self.base_path, 'b') | 806 file_path = gclient_scm.os.path.join(self.base_path, 'b') |
| 796 f = open(file_path, 'w').writelines('conflict\n') | 807 f = open(file_path, 'w').writelines('conflict\n') |
| 797 exception = ( | 808 exception = ( |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 854 relpath=self.relpath) | 865 relpath=self.relpath) |
| 855 rev_info = scm.revinfo(options, (), None) | 866 rev_info = scm.revinfo(options, (), None) |
| 856 self.assertEquals(rev_info, '069c602044c5388d2d15c3f875b057c852003458') | 867 self.assertEquals(rev_info, '069c602044c5388d2d15c3f875b057c852003458') |
| 857 self.checkstdout('') | 868 self.checkstdout('') |
| 858 | 869 |
| 859 | 870 |
| 860 if __name__ == '__main__': | 871 if __name__ == '__main__': |
| 861 unittest.main() | 872 unittest.main() |
| 862 | 873 |
| 863 # vim: ts=2:sw=2:tw=80:et: | 874 # vim: ts=2:sw=2:tw=80:et: |
| OLD | NEW |