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

Side by Side Diff: tests/gclient_smoketest.py

Issue 8161009: Restore 103787 (fix git progress message), and update test expectations. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools/
Patch Set: '' Created 9 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « tests/gclient_scm_test.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 """Smoke tests for gclient.py. 6 """Smoke tests for gclient.py.
7 7
8 Shell out 'gclient' and run basic conformance tests. 8 Shell out 'gclient' and run basic conformance tests.
9 9
10 This test assumes GClientSmokeBase.URL_BASE is valid. 10 This test assumes GClientSmokeBase.URL_BASE is valid.
(...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after
801 ('repo_3@2', 'src/repo2/repo_renamed')) 801 ('repo_3@2', 'src/repo2/repo_renamed'))
802 tree['src/git_hooked1'] = 'git_hooked1' 802 tree['src/git_hooked1'] = 'git_hooked1'
803 tree['src/git_hooked2'] = 'git_hooked2' 803 tree['src/git_hooked2'] = 'git_hooked2'
804 self.assertTree(tree) 804 self.assertTree(tree)
805 805
806 # Manually remove git_hooked1 before synching to make sure it's not 806 # Manually remove git_hooked1 before synching to make sure it's not
807 # recreated. 807 # recreated.
808 os.remove(join(self.root_dir, 'src', 'git_hooked1')) 808 os.remove(join(self.root_dir, 'src', 'git_hooked1'))
809 809
810 # Test incremental versioned sync: sync backward. 810 # Test incremental versioned sync: sync backward.
811 diffdir = os.path.join(self.root_dir, 'src', 'repo2', 'repo_renamed')
811 self.parseGclient(['sync', '--jobs', '1', '--revision', 812 self.parseGclient(['sync', '--jobs', '1', '--revision',
812 'src@' + self.githash('repo_1', 1), 813 'src@' + self.githash('repo_1', 1),
813 '--deps', 'mac', '--delete_unversioned_trees'], 814 '--deps', 'mac', '--delete_unversioned_trees'],
814 ['running', 'running', 'deleting']) 815 ['running', 'running', ('running', diffdir), 'deleting'])
815 tree = self.mangle_git_tree(('repo_1@1', 'src'), 816 tree = self.mangle_git_tree(('repo_1@1', 'src'),
816 ('repo_2@2', 'src/repo2'), 817 ('repo_2@2', 'src/repo2'),
817 ('repo_3@1', 'src/repo2/repo3'), 818 ('repo_3@1', 'src/repo2/repo3'),
818 ('repo_4@2', 'src/repo4')) 819 ('repo_4@2', 'src/repo4'))
819 tree['src/git_hooked2'] = 'git_hooked2' 820 tree['src/git_hooked2'] = 'git_hooked2'
820 self.assertTree(tree) 821 self.assertTree(tree)
821 # Test incremental sync: delete-unversioned_trees isn't there. 822 # Test incremental sync: delete-unversioned_trees isn't there.
823 expect3 = ('running', os.path.join(self.root_dir, 'src', 'repo2', 'repo3'))
824 expect4 = ('running', os.path.join(self.root_dir, 'src', 'repo4'))
822 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '1'], 825 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '1'],
823 ['running', 'running', 'running']) 826 ['running', 'running', 'running', expect3, expect4])
824 tree = self.mangle_git_tree(('repo_1@2', 'src'), 827 tree = self.mangle_git_tree(('repo_1@2', 'src'),
825 ('repo_2@1', 'src/repo2'), 828 ('repo_2@1', 'src/repo2'),
826 ('repo_3@1', 'src/repo2/repo3'), 829 ('repo_3@1', 'src/repo2/repo3'),
827 ('repo_3@2', 'src/repo2/repo_renamed'), 830 ('repo_3@2', 'src/repo2/repo_renamed'),
828 ('repo_4@2', 'src/repo4')) 831 ('repo_4@2', 'src/repo4'))
829 tree['src/git_hooked1'] = 'git_hooked1' 832 tree['src/git_hooked1'] = 'git_hooked1'
830 tree['src/git_hooked2'] = 'git_hooked2' 833 tree['src/git_hooked2'] = 'git_hooked2'
831 self.assertTree(tree) 834 self.assertTree(tree)
832 835
833 def testSyncIgnoredSolutionName(self): 836 def testSyncIgnoredSolutionName(self):
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 ('repo_3@2', 'src/repo2/repo_renamed')) 881 ('repo_3@2', 'src/repo2/repo_renamed'))
879 tree['src/git_hooked1'] = 'git_hooked1' 882 tree['src/git_hooked1'] = 'git_hooked1'
880 tree['src/git_hooked2'] = 'git_hooked2' 883 tree['src/git_hooked2'] = 'git_hooked2'
881 self.assertTree(tree) 884 self.assertTree(tree)
882 885
883 # Manually remove git_hooked1 before synching to make sure it's not 886 # Manually remove git_hooked1 before synching to make sure it's not
884 # recreated. 887 # recreated.
885 os.remove(join(self.root_dir, 'src', 'git_hooked1')) 888 os.remove(join(self.root_dir, 'src', 'git_hooked1'))
886 889
887 # Test incremental versioned sync: sync backward. 890 # Test incremental versioned sync: sync backward.
891 expect3 = ('running',
892 os.path.join(self.root_dir, 'src', 'repo2', 'repo_renamed'))
888 self.parseGclient( 893 self.parseGclient(
889 ['sync', '--revision', 'src@' + self.githash('repo_1', 1), 894 ['sync', '--revision', 'src@' + self.githash('repo_1', 1),
890 '--deps', 'mac', '--delete_unversioned_trees', '--jobs', '8'], 895 '--deps', 'mac', '--delete_unversioned_trees', '--jobs', '8'],
891 ['running', 'running', 'deleting'], 896 ['running', 'running', expect3, 'deleting'],
892 untangle=True) 897 untangle=True)
893 tree = self.mangle_git_tree(('repo_1@1', 'src'), 898 tree = self.mangle_git_tree(('repo_1@1', 'src'),
894 ('repo_2@2', 'src/repo2'), 899 ('repo_2@2', 'src/repo2'),
895 ('repo_3@1', 'src/repo2/repo3'), 900 ('repo_3@1', 'src/repo2/repo3'),
896 ('repo_4@2', 'src/repo4')) 901 ('repo_4@2', 'src/repo4'))
897 tree['src/git_hooked2'] = 'git_hooked2' 902 tree['src/git_hooked2'] = 'git_hooked2'
898 self.assertTree(tree) 903 self.assertTree(tree)
899 # Test incremental sync: delete-unversioned_trees isn't there. 904 # Test incremental sync: delete-unversioned_trees isn't there.
905 expect4 = os.path.join(self.root_dir, 'src', 'repo2', 'repo3')
906 expect5 = os.path.join(self.root_dir, 'src', 'repo4')
900 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '8'], 907 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '8'],
901 ['running', 'running', 'running'], untangle=True) 908 ['running', 'running', 'running',
909 ('running', expect4),
910 ('running', expect5)],
911 untangle=True)
902 tree = self.mangle_git_tree(('repo_1@2', 'src'), 912 tree = self.mangle_git_tree(('repo_1@2', 'src'),
903 ('repo_2@1', 'src/repo2'), 913 ('repo_2@1', 'src/repo2'),
904 ('repo_3@1', 'src/repo2/repo3'), 914 ('repo_3@1', 'src/repo2/repo3'),
905 ('repo_3@2', 'src/repo2/repo_renamed'), 915 ('repo_3@2', 'src/repo2/repo_renamed'),
906 ('repo_4@2', 'src/repo4')) 916 ('repo_4@2', 'src/repo4'))
907 tree['src/git_hooked1'] = 'git_hooked1' 917 tree['src/git_hooked1'] = 'git_hooked1'
908 tree['src/git_hooked2'] = 'git_hooked2' 918 tree['src/git_hooked2'] = 'git_hooked2'
909 self.assertTree(tree) 919 self.assertTree(tree)
910 920
911 def testRevertAndStatus(self): 921 def testRevertAndStatus(self):
912 """TODO(maruel): Remove this line once this test is fixed.""" 922 """TODO(maruel): Remove this line once this test is fixed."""
913 if not self.enabled: 923 if not self.enabled:
914 return 924 return
915 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src']) 925 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src'])
916 # Tested in testSync. 926 # Tested in testSync.
917 self.gclient(['sync', '--deps', 'mac']) 927 self.gclient(['sync', '--deps', 'mac'])
918 write(join(self.root_dir, 'src', 'repo2', 'hi'), 'Hey!') 928 write(join(self.root_dir, 'src', 'repo2', 'hi'), 'Hey!')
919 929
920 out = self.parseGclient(['status', '--deps', 'mac'], []) 930 expected1 = ('running', os.path.join(self.root_dir, 'src'))
931 expected2 = ('running', os.path.join(expected1[1], 'repo2'))
932 expected3 = ('running', os.path.join(expected2[1], 'repo_renamed'))
933 out = self.parseGclient(['status', '--deps', 'mac'],
934 [expected1, expected2, expected3])
921 # TODO(maruel): http://crosbug.com/3584 It should output the unversioned 935 # TODO(maruel): http://crosbug.com/3584 It should output the unversioned
922 # files. 936 # files.
923 self.assertEquals(0, len(out)) 937 self.assertEquals(3, len(out))
924 938
925 # Revert implies --force implies running hooks without looking at pattern 939 # Revert implies --force implies running hooks without looking at pattern
926 # matching. 940 # matching.
927 results = self.gclient(['revert', '--deps', 'mac']) 941 results = self.gclient(['revert', '--deps', 'mac'])
928 out = results[0].splitlines(False) 942 out = results[0].splitlines(False)
929 # TODO(maruel): http://crosbug.com/3583 It just runs the hooks right now. 943 # TODO(maruel): http://crosbug.com/3583 It just runs the hooks right now.
930 self.assertEquals(13, len(out)) 944 self.assertEquals(13, len(out))
931 self.checkString('', results[1]) 945 self.checkString('', results[1])
932 self.assertEquals(0, results[2]) 946 self.assertEquals(0, results[2])
933 tree = self.mangle_git_tree(('repo_1@2', 'src'), 947 tree = self.mangle_git_tree(('repo_1@2', 'src'),
934 ('repo_2@1', 'src/repo2'), 948 ('repo_2@1', 'src/repo2'),
935 ('repo_3@2', 'src/repo2/repo_renamed')) 949 ('repo_3@2', 'src/repo2/repo_renamed'))
936 # TODO(maruel): http://crosbug.com/3583 This file should have been removed. 950 # TODO(maruel): http://crosbug.com/3583 This file should have been removed.
937 tree[join('src', 'repo2', 'hi')] = 'Hey!' 951 tree[join('src', 'repo2', 'hi')] = 'Hey!'
938 tree['src/git_hooked1'] = 'git_hooked1' 952 tree['src/git_hooked1'] = 'git_hooked1'
939 tree['src/git_hooked2'] = 'git_hooked2' 953 tree['src/git_hooked2'] = 'git_hooked2'
940 self.assertTree(tree) 954 self.assertTree(tree)
941 955
942 results = self.gclient(['status', '--deps', 'mac']) 956 results = self.gclient(['status', '--deps', 'mac'])
943 out = results[0].splitlines(False) 957 out = results[0].splitlines(False)
944 # TODO(maruel): http://crosbug.com/3584 It should output the unversioned 958 # TODO(maruel): http://crosbug.com/3584 It should output the unversioned
945 # files. 959 # files.
946 self.assertEquals(0, len(out)) 960 self.assertEquals(6, len(out))
947 961
948 def testRunHooks(self): 962 def testRunHooks(self):
949 if not self.enabled: 963 if not self.enabled:
950 return 964 return
951 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src']) 965 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src'])
952 self.gclient(['sync', '--deps', 'mac']) 966 self.gclient(['sync', '--deps', 'mac'])
953 tree = self.mangle_git_tree(('repo_1@2', 'src'), 967 tree = self.mangle_git_tree(('repo_1@2', 'src'),
954 ('repo_2@1', 'src/repo2'), 968 ('repo_2@1', 'src/repo2'),
955 ('repo_3@2', 'src/repo2/repo_renamed')) 969 ('repo_3@2', 'src/repo2/repo_renamed'))
956 tree['src/git_hooked1'] = 'git_hooked1' 970 tree['src/git_hooked1'] = 'git_hooked1'
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 1279
1266 if '-c' in sys.argv: 1280 if '-c' in sys.argv:
1267 COVERAGE = True 1281 COVERAGE = True
1268 sys.argv.remove('-c') 1282 sys.argv.remove('-c')
1269 if os.path.exists('.coverage'): 1283 if os.path.exists('.coverage'):
1270 os.remove('.coverage') 1284 os.remove('.coverage')
1271 os.environ['COVERAGE_FILE'] = os.path.join( 1285 os.environ['COVERAGE_FILE'] = os.path.join(
1272 os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 1286 os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
1273 '.coverage') 1287 '.coverage')
1274 unittest.main() 1288 unittest.main()
OLDNEW
« no previous file with comments | « tests/gclient_scm_test.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698