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

Side by Side Diff: tests/gclient_smoketest.py

Issue 19359002: Allow gclient clone in non-empty directories (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: fixed another round of nits Created 7 years, 5 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) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 821 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 def setUp(self): 832 def setUp(self):
833 super(GClientSmokeGIT, self).setUp() 833 super(GClientSmokeGIT, self).setUp()
834 self.enabled = self.FAKE_REPOS.set_up_git() 834 self.enabled = self.FAKE_REPOS.set_up_git()
835 835
836 def testSync(self): 836 def testSync(self):
837 if not self.enabled: 837 if not self.enabled:
838 return 838 return
839 # TODO(maruel): safesync. 839 # TODO(maruel): safesync.
840 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src']) 840 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src'])
841 # Test unversioned checkout. 841 # Test unversioned checkout.
842 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '1'], 842 self.parseGclient(
843 ['running', 'running', 'running', 'running', 'running']) 843 ['sync', '--deps', 'mac', '--jobs', '1'],
844 ['running', ('running', self.root_dir + '/src'),
845 'running', ('running', self.root_dir + '/src/repo2'),
846 'running', ('running', self.root_dir + '/src/repo2/repo_renamed'),
847 'running', 'running'])
844 # TODO(maruel): http://crosbug.com/3582 hooks run even if not matching, must 848 # TODO(maruel): http://crosbug.com/3582 hooks run even if not matching, must
845 # add sync parsing to get the list of updated files. 849 # add sync parsing to get the list of updated files.
846 tree = self.mangle_git_tree(('repo_1@2', 'src'), 850 tree = self.mangle_git_tree(('repo_1@2', 'src'),
847 ('repo_2@1', 'src/repo2'), 851 ('repo_2@1', 'src/repo2'),
848 ('repo_3@2', 'src/repo2/repo_renamed')) 852 ('repo_3@2', 'src/repo2/repo_renamed'))
849 tree['src/git_hooked1'] = 'git_hooked1' 853 tree['src/git_hooked1'] = 'git_hooked1'
850 tree['src/git_hooked2'] = 'git_hooked2' 854 tree['src/git_hooked2'] = 'git_hooked2'
851 self.assertTree(tree) 855 self.assertTree(tree)
852 856
853 # Manually remove git_hooked1 before synching to make sure it's not 857 # Manually remove git_hooked1 before synching to make sure it's not
854 # recreated. 858 # recreated.
855 os.remove(join(self.root_dir, 'src', 'git_hooked1')) 859 os.remove(join(self.root_dir, 'src', 'git_hooked1'))
856 860
857 # Test incremental versioned sync: sync backward. 861 # Test incremental versioned sync: sync backward.
858 diffdir = os.path.join(self.root_dir, 'src', 'repo2', 'repo_renamed') 862 diffdir = os.path.join(self.root_dir, 'src', 'repo2', 'repo_renamed')
859 self.parseGclient(['sync', '--jobs', '1', '--revision', 863 self.parseGclient(
860 'src@' + self.githash('repo_1', 1), 864 ['sync', '--jobs', '1', '--revision',
861 '--deps', 'mac', '--delete_unversioned_trees'], 865 'src@' + self.githash('repo_1', 1),
862 ['running', 'running', ('running', diffdir), 'deleting']) 866 '--deps', 'mac', '--delete_unversioned_trees'],
867 ['running', ('running', self.root_dir + '/src/repo2/repo3'),
868 'running', ('running', self.root_dir + '/src/repo4'),
869 ('running', diffdir), 'deleting'])
863 tree = self.mangle_git_tree(('repo_1@1', 'src'), 870 tree = self.mangle_git_tree(('repo_1@1', 'src'),
864 ('repo_2@2', 'src/repo2'), 871 ('repo_2@2', 'src/repo2'),
865 ('repo_3@1', 'src/repo2/repo3'), 872 ('repo_3@1', 'src/repo2/repo3'),
866 ('repo_4@2', 'src/repo4')) 873 ('repo_4@2', 'src/repo4'))
867 tree['src/git_hooked2'] = 'git_hooked2' 874 tree['src/git_hooked2'] = 'git_hooked2'
868 self.assertTree(tree) 875 self.assertTree(tree)
869 # Test incremental sync: delete-unversioned_trees isn't there. 876 # Test incremental sync: delete-unversioned_trees isn't there.
870 expect3 = ('running', os.path.join(self.root_dir, 'src', 'repo2', 'repo3')) 877 expect3 = ('running', os.path.join(self.root_dir, 'src', 'repo2', 'repo3'))
871 expect4 = ('running', os.path.join(self.root_dir, 'src', 'repo4')) 878 expect4 = ('running', os.path.join(self.root_dir, 'src', 'repo4'))
872 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '1'], 879 self.parseGclient(
873 ['running', 'running', 'running', expect3, expect4]) 880 ['sync', '--deps', 'mac', '--jobs', '1'],
881 ['running', ('running', self.root_dir + '/src/repo2/repo_renamed'),
882 'running', 'running', expect3, expect4])
874 tree = self.mangle_git_tree(('repo_1@2', 'src'), 883 tree = self.mangle_git_tree(('repo_1@2', 'src'),
875 ('repo_2@1', 'src/repo2'), 884 ('repo_2@1', 'src/repo2'),
876 ('repo_3@1', 'src/repo2/repo3'), 885 ('repo_3@1', 'src/repo2/repo3'),
877 ('repo_3@2', 'src/repo2/repo_renamed'), 886 ('repo_3@2', 'src/repo2/repo_renamed'),
878 ('repo_4@2', 'src/repo4')) 887 ('repo_4@2', 'src/repo4'))
879 tree['src/git_hooked1'] = 'git_hooked1' 888 tree['src/git_hooked1'] = 'git_hooked1'
880 tree['src/git_hooked2'] = 'git_hooked2' 889 tree['src/git_hooked2'] = 'git_hooked2'
881 self.assertTree(tree) 890 self.assertTree(tree)
882 891
883 def testSyncIgnoredSolutionName(self): 892 def testSyncIgnoredSolutionName(self):
884 """TODO(maruel): This will become an error soon.""" 893 """TODO(maruel): This will become an error soon."""
885 if not self.enabled: 894 if not self.enabled:
886 return 895 return
887 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src']) 896 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src'])
888 self.parseGclient( 897 self.parseGclient(
889 ['sync', '--deps', 'mac', '--jobs', '1', 898 ['sync', '--deps', 'mac', '--jobs', '1',
890 '--revision', 'invalid@' + self.githash('repo_1', 1)], 899 '--revision', 'invalid@' + self.githash('repo_1', 1)],
891 ['running', 'running', 'running', 'running', 'running'], 900 ['running', ('running', self.root_dir + '/src'),
901 'running', ('running', self.root_dir + '/src/repo2'),
902 'running', ('running', self.root_dir + '/src/repo2/repo_renamed'),
903 'running', 'running'],
892 'Please fix your script, having invalid --revision flags ' 904 'Please fix your script, having invalid --revision flags '
893 'will soon considered an error.\n') 905 'will soon considered an error.\n')
894 tree = self.mangle_git_tree(('repo_1@2', 'src'), 906 tree = self.mangle_git_tree(('repo_1@2', 'src'),
895 ('repo_2@1', 'src/repo2'), 907 ('repo_2@1', 'src/repo2'),
896 ('repo_3@2', 'src/repo2/repo_renamed')) 908 ('repo_3@2', 'src/repo2/repo_renamed'))
897 tree['src/git_hooked1'] = 'git_hooked1' 909 tree['src/git_hooked1'] = 'git_hooked1'
898 tree['src/git_hooked2'] = 'git_hooked2' 910 tree['src/git_hooked2'] = 'git_hooked2'
899 self.assertTree(tree) 911 self.assertTree(tree)
900 912
901 def testSyncNoSolutionName(self): 913 def testSyncNoSolutionName(self):
902 if not self.enabled: 914 if not self.enabled:
903 return 915 return
904 # When no solution name is provided, gclient uses the first solution listed. 916 # When no solution name is provided, gclient uses the first solution listed.
905 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src']) 917 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src'])
906 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '1', 918 self.parseGclient(
907 '--revision', self.githash('repo_1', 1)], 919 ['sync', '--deps', 'mac', '--jobs', '1',
908 ['running', 'running', 'running', 'running']) 920 '--revision', self.githash('repo_1', 1)],
921 ['running', ('running', self.root_dir + '/src'),
922 'running', ('running', self.root_dir + '/src/repo2'),
923 'running', ('running', self.root_dir + '/src/repo2/repo3'),
924 'running', ('running', self.root_dir + '/src/repo4')])
909 tree = self.mangle_git_tree(('repo_1@1', 'src'), 925 tree = self.mangle_git_tree(('repo_1@1', 'src'),
910 ('repo_2@2', 'src/repo2'), 926 ('repo_2@2', 'src/repo2'),
911 ('repo_3@1', 'src/repo2/repo3'), 927 ('repo_3@1', 'src/repo2/repo3'),
912 ('repo_4@2', 'src/repo4')) 928 ('repo_4@2', 'src/repo4'))
913 self.assertTree(tree) 929 self.assertTree(tree)
914 930
915 def testSyncJobs(self): 931 def testSyncJobs(self):
916 if not self.enabled: 932 if not self.enabled:
917 return 933 return
918 # TODO(maruel): safesync. 934 # TODO(maruel): safesync.
919 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src']) 935 self.gclient(['config', self.git_base + 'repo_1', '--name', 'src'])
920 # Test unversioned checkout. 936 # Test unversioned checkout.
921 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '8'], 937 self.parseGclient(
922 ['running', 'running', 'running', 'running', 'running'], 938 ['sync', '--deps', 'mac', '--jobs', '8'],
923 untangle=True) 939 ['running', ('running', self.root_dir + '/src'),
940 'running', ('running', self.root_dir + '/src/repo2'),
941 'running', ('running', self.root_dir + '/src/repo2/repo_renamed'),
942 'running', 'running'],
943 untangle=True)
924 # TODO(maruel): http://crosbug.com/3582 hooks run even if not matching, must 944 # TODO(maruel): http://crosbug.com/3582 hooks run even if not matching, must
925 # add sync parsing to get the list of updated files. 945 # add sync parsing to get the list of updated files.
926 tree = self.mangle_git_tree(('repo_1@2', 'src'), 946 tree = self.mangle_git_tree(('repo_1@2', 'src'),
927 ('repo_2@1', 'src/repo2'), 947 ('repo_2@1', 'src/repo2'),
928 ('repo_3@2', 'src/repo2/repo_renamed')) 948 ('repo_3@2', 'src/repo2/repo_renamed'))
929 tree['src/git_hooked1'] = 'git_hooked1' 949 tree['src/git_hooked1'] = 'git_hooked1'
930 tree['src/git_hooked2'] = 'git_hooked2' 950 tree['src/git_hooked2'] = 'git_hooked2'
931 self.assertTree(tree) 951 self.assertTree(tree)
932 952
933 # Manually remove git_hooked1 before synching to make sure it's not 953 # Manually remove git_hooked1 before synching to make sure it's not
934 # recreated. 954 # recreated.
935 os.remove(join(self.root_dir, 'src', 'git_hooked1')) 955 os.remove(join(self.root_dir, 'src', 'git_hooked1'))
936 956
937 # Test incremental versioned sync: sync backward. 957 # Test incremental versioned sync: sync backward.
938 expect3 = ('running', 958 expect3 = ('running',
939 os.path.join(self.root_dir, 'src', 'repo2', 'repo_renamed')) 959 os.path.join(self.root_dir, 'src', 'repo2', 'repo_renamed'))
940 self.parseGclient( 960 self.parseGclient(
941 ['sync', '--revision', 'src@' + self.githash('repo_1', 1), 961 ['sync', '--revision', 'src@' + self.githash('repo_1', 1),
942 '--deps', 'mac', '--delete_unversioned_trees', '--jobs', '8'], 962 '--deps', 'mac', '--delete_unversioned_trees', '--jobs', '8'],
943 ['running', 'running', expect3, 'deleting'], 963 ['running', ('running', self.root_dir + '/src/repo4'),
964 'running', ('running', self.root_dir + '/src/repo2/repo3'),
965 expect3, 'deleting'],
944 untangle=True) 966 untangle=True)
945 tree = self.mangle_git_tree(('repo_1@1', 'src'), 967 tree = self.mangle_git_tree(('repo_1@1', 'src'),
946 ('repo_2@2', 'src/repo2'), 968 ('repo_2@2', 'src/repo2'),
947 ('repo_3@1', 'src/repo2/repo3'), 969 ('repo_3@1', 'src/repo2/repo3'),
948 ('repo_4@2', 'src/repo4')) 970 ('repo_4@2', 'src/repo4'))
949 tree['src/git_hooked2'] = 'git_hooked2' 971 tree['src/git_hooked2'] = 'git_hooked2'
950 self.assertTree(tree) 972 self.assertTree(tree)
951 # Test incremental sync: delete-unversioned_trees isn't there. 973 # Test incremental sync: delete-unversioned_trees isn't there.
952 expect4 = os.path.join(self.root_dir, 'src', 'repo2', 'repo3') 974 expect4 = os.path.join(self.root_dir, 'src', 'repo2', 'repo3')
953 expect5 = os.path.join(self.root_dir, 'src', 'repo4') 975 expect5 = os.path.join(self.root_dir, 'src', 'repo4')
954 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '8'], 976 self.parseGclient(
955 ['running', 'running', 'running', 977 ['sync', '--deps', 'mac', '--jobs', '8'],
956 ('running', expect4), 978 ['running', ('running', self.root_dir + '/src/repo2/repo_renamed'),
957 ('running', expect5)], 979 'running', 'running', ('running', expect4), ('running', expect5)],
958 untangle=True) 980 untangle=True)
959 tree = self.mangle_git_tree(('repo_1@2', 'src'), 981 tree = self.mangle_git_tree(('repo_1@2', 'src'),
960 ('repo_2@1', 'src/repo2'), 982 ('repo_2@1', 'src/repo2'),
961 ('repo_3@1', 'src/repo2/repo3'), 983 ('repo_3@1', 'src/repo2/repo3'),
962 ('repo_3@2', 'src/repo2/repo_renamed'), 984 ('repo_3@2', 'src/repo2/repo_renamed'),
963 ('repo_4@2', 'src/repo4')) 985 ('repo_4@2', 'src/repo4'))
964 tree['src/git_hooked1'] = 'git_hooked1' 986 tree['src/git_hooked1'] = 'git_hooked1'
965 tree['src/git_hooked2'] = 'git_hooked2' 987 tree['src/git_hooked2'] = 'git_hooked2'
966 self.assertTree(tree) 988 self.assertTree(tree)
967 989
968 def testRevertAndStatus(self): 990 def testRevertAndStatus(self):
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1067 def testMultiSolutions(self): 1089 def testMultiSolutions(self):
1068 if not self.enabled: 1090 if not self.enabled:
1069 return 1091 return
1070 self.gclient(['config', '--spec', 1092 self.gclient(['config', '--spec',
1071 'solutions=[' 1093 'solutions=['
1072 '{"name": "src",' 1094 '{"name": "src",'
1073 ' "url": "' + self.svn_base + 'trunk/src/"},' 1095 ' "url": "' + self.svn_base + 'trunk/src/"},'
1074 '{"name": "src-git",' 1096 '{"name": "src-git",'
1075 '"url": "' + self.git_base + 'repo_1"}]']) 1097 '"url": "' + self.git_base + 'repo_1"}]'])
1076 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '1'], 1098 self.parseGclient(['sync', '--deps', 'mac', '--jobs', '1'],
1077 ['running', 'running', 'running', 1099 ['running',
1100 'running', ('running', self.root_dir + '/src-git'),
1101 'running',
1078 # This is due to the way svn update is called for a single 1102 # This is due to the way svn update is called for a single
1079 # file when File() is used in a DEPS file. 1103 # file when File() is used in a DEPS file.
1080 ('running', self.root_dir + '/src/file/other'), 1104 ('running', self.root_dir + '/src/file/other'),
1081 'running', 'running', 'running', 'running', 'running', 'running', 1105 'running', 'running', 'running',
1082 'running', 'running']) 1106 'running', ('running', self.root_dir + '/src/repo2'),
1107 'running', ('running', self.root_dir + '/src/repo2/repo_renamed'),
1108 'running', 'running', 'running'])
1083 tree = self.mangle_git_tree(('repo_1@2', 'src-git'), 1109 tree = self.mangle_git_tree(('repo_1@2', 'src-git'),
1084 ('repo_2@1', 'src/repo2'), 1110 ('repo_2@1', 'src/repo2'),
1085 ('repo_3@2', 'src/repo2/repo_renamed')) 1111 ('repo_3@2', 'src/repo2/repo_renamed'))
1086 tree.update(self.mangle_svn_tree( 1112 tree.update(self.mangle_svn_tree(
1087 ('trunk/src@2', 'src'), 1113 ('trunk/src@2', 'src'),
1088 ('trunk/third_party/foo@1', 'src/third_party/foo'), 1114 ('trunk/third_party/foo@1', 'src/third_party/foo'),
1089 ('trunk/other@2', 'src/other'))) 1115 ('trunk/other@2', 'src/other')))
1090 tree['src/file/other/DEPS'] = ( 1116 tree['src/file/other/DEPS'] = (
1091 self.FAKE_REPOS.svn_revs[2]['trunk/other/DEPS']) 1117 self.FAKE_REPOS.svn_revs[2]['trunk/other/DEPS'])
1092 tree['src/git_hooked1'] = 'git_hooked1' 1118 tree['src/git_hooked1'] = 'git_hooked1'
(...skipping 10 matching lines...) Expand all
1103 ' "url": "' + self.svn_base + 'trunk/src/"},' 1129 ' "url": "' + self.svn_base + 'trunk/src/"},'
1104 '{"name": "src-git",' 1130 '{"name": "src-git",'
1105 '"url": "' + self.git_base + 'repo_1"}]']) 1131 '"url": "' + self.git_base + 'repo_1"}]'])
1106 # There is no guarantee that the ordering will be consistent. 1132 # There is no guarantee that the ordering will be consistent.
1107 (stdout, stderr, returncode) = self.gclient( 1133 (stdout, stderr, returncode) = self.gclient(
1108 ['sync', '--deps', 'mac', '--jobs', '8']) 1134 ['sync', '--deps', 'mac', '--jobs', '8'])
1109 stdout = self.untangle(stdout) 1135 stdout = self.untangle(stdout)
1110 self.checkString('', stderr) 1136 self.checkString('', stderr)
1111 self.assertEquals(0, returncode) 1137 self.assertEquals(0, returncode)
1112 results = self.splitBlock(stdout) 1138 results = self.splitBlock(stdout)
1113 self.assertEquals(12, len(results)) 1139 self.assertEquals(15, len(results))
1114 tree = self.mangle_git_tree(('repo_1@2', 'src-git'), 1140 tree = self.mangle_git_tree(('repo_1@2', 'src-git'),
1115 ('repo_2@1', 'src/repo2'), 1141 ('repo_2@1', 'src/repo2'),
1116 ('repo_3@2', 'src/repo2/repo_renamed')) 1142 ('repo_3@2', 'src/repo2/repo_renamed'))
1117 tree.update(self.mangle_svn_tree( 1143 tree.update(self.mangle_svn_tree(
1118 ('trunk/src@2', 'src'), 1144 ('trunk/src@2', 'src'),
1119 ('trunk/third_party/foo@1', 'src/third_party/foo'), 1145 ('trunk/third_party/foo@1', 'src/third_party/foo'),
1120 ('trunk/other@2', 'src/other'))) 1146 ('trunk/other@2', 'src/other')))
1121 tree['src/file/other/DEPS'] = ( 1147 tree['src/file/other/DEPS'] = (
1122 self.FAKE_REPOS.svn_revs[2]['trunk/other/DEPS']) 1148 self.FAKE_REPOS.svn_revs[2]['trunk/other/DEPS'])
1123 tree['src/git_hooked1'] = 'git_hooked1' 1149 tree['src/git_hooked1'] = 'git_hooked1'
1124 tree['src/git_hooked2'] = 'git_hooked2' 1150 tree['src/git_hooked2'] = 'git_hooked2'
1125 tree['src/svn_hooked1'] = 'svn_hooked1' 1151 tree['src/svn_hooked1'] = 'svn_hooked1'
1126 self.assertTree(tree) 1152 self.assertTree(tree)
1127 1153
1128 def testMultiSolutionsMultiRev(self): 1154 def testMultiSolutionsMultiRev(self):
1129 if not self.enabled: 1155 if not self.enabled:
1130 return 1156 return
1131 self.gclient(['config', '--spec', 1157 self.gclient(['config', '--spec',
1132 'solutions=[' 1158 'solutions=['
1133 '{"name": "src",' 1159 '{"name": "src",'
1134 ' "url": "' + self.svn_base + 'trunk/src/"},' 1160 ' "url": "' + self.svn_base + 'trunk/src/"},'
1135 '{"name": "src-git",' 1161 '{"name": "src-git",'
1136 '"url": "' + self.git_base + 'repo_1"}]']) 1162 '"url": "' + self.git_base + 'repo_1"}]'])
1137 self.parseGclient( 1163 self.parseGclient(
1138 ['sync', '--deps', 'mac', '--jobs', '1', '--revision', '1', 1164 ['sync', '--deps', 'mac', '--jobs', '1', '--revision', '1',
1139 '-r', 'src-git@' + self.githash('repo_1', 1)], 1165 '-r', 'src-git@' + self.githash('repo_1', 1)],
1140 ['running', 'running', 'running', 'running', 1166 ['running',
1141 'running', 'running', 'running', 'running'], 1167 'running', ('running', self.root_dir + '/src-git'),
1168 'running', 'running', 'running',
1169 'running', ('running', self.root_dir + '/src/repo2'),
1170 'running', ('running', self.root_dir + '/src/repo2/repo3'),
1171 'running', ('running', self.root_dir + '/src/repo4')],
1142 expected_stderr= 1172 expected_stderr=
1143 'You must specify the full solution name like --revision src@1\n' 1173 'You must specify the full solution name like --revision src@1\n'
1144 'when you have multiple solutions setup in your .gclient file.\n' 1174 'when you have multiple solutions setup in your .gclient file.\n'
1145 'Other solutions present are: src-git.\n') 1175 'Other solutions present are: src-git.\n')
1146 tree = self.mangle_git_tree(('repo_1@1', 'src-git'), 1176 tree = self.mangle_git_tree(('repo_1@1', 'src-git'),
1147 ('repo_2@2', 'src/repo2'), 1177 ('repo_2@2', 'src/repo2'),
1148 ('repo_3@1', 'src/repo2/repo3'), 1178 ('repo_3@1', 'src/repo2/repo3'),
1149 ('repo_4@2', 'src/repo4')) 1179 ('repo_4@2', 'src/repo4'))
1150 tree.update(self.mangle_svn_tree( 1180 tree.update(self.mangle_svn_tree(
1151 ('trunk/src@1', 'src'), 1181 ('trunk/src@1', 'src'),
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
1325 1355
1326 if '-c' in sys.argv: 1356 if '-c' in sys.argv:
1327 COVERAGE = True 1357 COVERAGE = True
1328 sys.argv.remove('-c') 1358 sys.argv.remove('-c')
1329 if os.path.exists('.coverage'): 1359 if os.path.exists('.coverage'):
1330 os.remove('.coverage') 1360 os.remove('.coverage')
1331 os.environ['COVERAGE_FILE'] = os.path.join( 1361 os.environ['COVERAGE_FILE'] = os.path.join(
1332 os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 1362 os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
1333 '.coverage') 1363 '.coverage')
1334 unittest.main() 1364 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