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