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

Side by Side Diff: utils/tests/pub/install/pub_install_test.dart

Issue 12782005: Revert "Use scheduled_test for Pub tests." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 9 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS d.file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE d.file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library pub_tests; 5 library pub_tests;
6 6
7 import 'dart:io'; 7 import 'dart:io';
8 8
9 import '../../../../pkg/scheduled_test/lib/scheduled_test.dart'; 9 import '../../../../pkg/unittest/lib/unittest.dart';
10
11 import '../descriptor.dart' as d;
12 import '../test_pub.dart'; 10 import '../test_pub.dart';
13 11
14 main() { 12 main() {
15 initConfig(); 13 initConfig();
16 14
17 group('requires', () { 15 group('requires', () {
18 integration('a pubspec', () { 16 integration('a pubspec', () {
19 d.dir(appPath, []).create(); 17 dir(appPath, []).scheduleCreate();
20 18
21 schedulePub(args: ['install'], 19 schedulePub(args: ['install'],
22 error: new RegExp(r'^Could not find a file named "pubspec\.yaml"'), 20 error: new RegExp(r'^Could not find a file named "pubspec\.yaml"'),
23 exitCode: 1); 21 exitCode: 1);
24 }); 22 });
25 23
26 integration('a pubspec with a "name" key', () { 24 integration('a pubspec with a "name" key', () {
27 d.dir(appPath, [ 25 dir(appPath, [
28 d.pubspec({"dependencies": {"foo": null}}) 26 pubspec({"dependencies": {"foo": null}})
29 ]).create(); 27 ]).scheduleCreate();
30 28
31 schedulePub(args: ['install'], 29 schedulePub(args: ['install'],
32 error: new RegExp(r'^pubspec.yaml is missing the required "name" ' 30 error: new RegExp(r'^pubspec.yaml is missing the required "name" '
33 r'field \(e\.g\. "name: myapp"\)\.'), 31 r'field \(e\.g\. "name: myapp"\)\.'),
34 exitCode: 1); 32 exitCode: 1);
35 }); 33 });
36 }); 34 });
37 35
38 integration('adds itself to the packages', () { 36 integration('adds itself to the packages', () {
39 // The symlink should use the name in the pubspec, not the name of the 37 // The symlink should use the name in the pubspec, not the name of the
40 // directory. 38 // directory.
41 d.dir(appPath, [ 39 dir(appPath, [
42 d.pubspec({"name": "myapp_name"}), 40 pubspec({"name": "myapp_name"}),
43 d.libDir('foo'), 41 libDir('foo'),
44 ]).create(); 42 ]).scheduleCreate();
45 43
46 schedulePub(args: ['install'], 44 schedulePub(args: ['install'],
47 output: new RegExp(r"Dependencies installed!$")); 45 output: new RegExp(r"Dependencies installed!$"));
48 46
49 d.dir(packagesPath, [ 47 dir(packagesPath, [
50 d.dir("myapp_name", [ 48 dir("myapp_name", [
51 d.file('foo.dart', 'main() => "foo";') 49 file('foo.dart', 'main() => "foo";')
52 ]) 50 ])
53 ]).validate(); 51 ]).scheduleValidate();
54 }); 52 });
55 53
56 integration('does not adds itself to the packages if it has no "lib" directory ', () { 54 integration('does not adds itself to the packages if it has no "lib" directory ', () {
57 // The symlink should use the name in the pubspec, not the name of the 55 // The symlink should use the name in the pubspec, not the name of the
58 // directory. 56 // directory.
59 d.dir(appPath, [ 57 dir(appPath, [
60 d.pubspec({"name": "myapp_name"}), 58 pubspec({"name": "myapp_name"}),
61 ]).create(); 59 ]).scheduleCreate();
62 60
63 schedulePub(args: ['install'], 61 schedulePub(args: ['install'],
64 output: new RegExp(r"Dependencies installed!$")); 62 output: new RegExp(r"Dependencies installed!$"));
65 63
66 d.dir(packagesPath, [ 64 dir(packagesPath, [
67 d.nothing("myapp_name") 65 nothing("myapp_name")
68 ]).validate(); 66 ]).scheduleValidate();
69 }); 67 });
70 68
71 integration('does not add a package if it does not have a "lib" directory', () { 69 integration('does not add a package if it does not have a "lib" directory', () {
72 // Using a path source, but this should be true of all sources. 70 // Using a path source, but this should be true of all sources.
73 d.dir('foo', [ 71 dir('foo', [
74 d.libPubspec('foo', '0.0.0-not.used') 72 libPubspec('foo', '0.0.0-not.used')
75 ]).create(); 73 ]).scheduleCreate();
76 74
77 d.dir(appPath, [ 75 dir(appPath, [
78 d.pubspec({"name": "myapp", "dependencies": {"foo": {"path": "../foo"}}}) 76 pubspec({"name": "myapp", "dependencies": {"foo": {"path": "../foo"}}})
79 ]).create(); 77 ]).scheduleCreate();
80 78
81 schedulePub(args: ['install'], 79 schedulePub(args: ['install'],
82 error: new RegExp(r'Warning: Package "foo" does not have a "lib" ' 80 error: new RegExp(r'Warning: Package "foo" does not have a "lib" '
83 'directory so you will not be able to import any libraries from ' 81 'directory so you will not be able to import any libraries from '
84 'it.'), 82 'it.'),
85 output: new RegExp(r"Dependencies installed!$")); 83 output: new RegExp(r"Dependencies installed!$"));
86 }); 84 });
87 85
88 integration('does not warn if the root package lacks a "lib" directory', () { 86 integration('does not warn if the root package lacks a "lib" directory', () {
89 d.dir(appPath, [ 87 dir(appPath, [
90 d.appPubspec([]) 88 appPubspec([])
91 ]).create(); 89 ]).scheduleCreate();
92 90
93 schedulePub(args: ['install'], 91 schedulePub(args: ['install'],
94 error: new RegExp(r'^\s*$'), 92 error: '',
95 output: new RegExp(r"Dependencies installed!$")); 93 output: new RegExp(r"Dependencies installed!$"));
96 }); 94 });
97 95
98 integration('overwrites the existing packages directory', () { 96 integration('overwrites the existing packages directory', () {
99 d.dir(appPath, [ 97 dir(appPath, [
100 d.appPubspec([]), 98 appPubspec([]),
101 d.dir('packages', [ 99 dir('packages', [
102 d.dir('foo'), 100 dir('foo'),
103 d.dir('myapp'), 101 dir('myapp'),
104 ]), 102 ]),
105 d.libDir('myapp') 103 libDir('myapp')
106 ]).create(); 104 ]).scheduleCreate();
107 105
108 schedulePub(args: ['install'], 106 schedulePub(args: ['install'],
109 output: new RegExp(r"Dependencies installed!$")); 107 output: new RegExp(r"Dependencies installed!$"));
110 108
111 d.dir(packagesPath, [ 109 dir(packagesPath, [
112 d.nothing('foo'), 110 nothing('foo'),
113 d.dir('myapp', [d.file('myapp.dart', 'main() => "myapp";')]) 111 dir('myapp', [file('myapp.dart', 'main() => "myapp";')])
114 ]).validate(); 112 ]).scheduleValidate();
115 }); 113 });
116 114
117 group('creates a packages directory in', () { 115 group('creates a packages directory in', () {
118 integration('"test/" and its subdirectories', () { 116 integration('"test/" and its subdirectories', () {
119 d.dir(appPath, [ 117 dir(appPath, [
120 d.appPubspec([]), 118 appPubspec([]),
121 d.libDir('foo'), 119 libDir('foo'),
122 d.dir("test", [d.dir("subtest")]) 120 dir("test", [dir("subtest")])
123 ]).create(); 121 ]).scheduleCreate();
124 122
125 schedulePub(args: ['install'], 123 schedulePub(args: ['install'],
126 output: new RegExp(r"Dependencies installed!$")); 124 output: new RegExp(r"Dependencies installed!$"));
127 125
128 d.dir(appPath, [ 126 dir(appPath, [
129 d.dir("test", [ 127 dir("test", [
130 d.dir("packages", [ 128 dir("packages", [
131 d.dir("myapp", [ 129 dir("myapp", [
132 d.file('foo.dart', 'main() => "foo";') 130 file('foo.dart', 'main() => "foo";')
133 ]) 131 ])
134 ]), 132 ]),
135 d.dir("subtest", [ 133 dir("subtest", [
136 d.dir("packages", [ 134 dir("packages", [
137 d.dir("myapp", [ 135 dir("myapp", [
138 d.file('foo.dart', 'main() => "foo";') 136 file('foo.dart', 'main() => "foo";')
139 ]) 137 ])
140 ]) 138 ])
141 ]) 139 ])
142 ]) 140 ])
143 ]).validate(); 141 ]).scheduleValidate();
144 }); 142 });
145 143
146 integration('"example/" and its subdirectories', () { 144 integration('"example/" and its subdirectories', () {
147 d.dir(appPath, [ 145 dir(appPath, [
148 d.appPubspec([]), 146 appPubspec([]),
149 d.libDir('foo'), 147 libDir('foo'),
150 d.dir("example", [d.dir("subexample")]) 148 dir("example", [dir("subexample")])
151 ]).create(); 149 ]).scheduleCreate();
152 150
153 schedulePub(args: ['install'], 151 schedulePub(args: ['install'],
154 output: new RegExp(r"Dependencies installed!$")); 152 output: new RegExp(r"Dependencies installed!$"));
155 153
156 d.dir(appPath, [ 154 dir(appPath, [
157 d.dir("example", [ 155 dir("example", [
158 d.dir("packages", [ 156 dir("packages", [
159 d.dir("myapp", [ 157 dir("myapp", [
160 d.file('foo.dart', 'main() => "foo";') 158 file('foo.dart', 'main() => "foo";')
161 ]) 159 ])
162 ]), 160 ]),
163 d.dir("subexample", [ 161 dir("subexample", [
164 d.dir("packages", [ 162 dir("packages", [
165 d.dir("myapp", [ 163 dir("myapp", [
166 d.file('foo.dart', 'main() => "foo";') 164 file('foo.dart', 'main() => "foo";')
167 ]) 165 ])
168 ]) 166 ])
169 ]) 167 ])
170 ]) 168 ])
171 ]).validate(); 169 ]).scheduleValidate();
172 }); 170 });
173 171
174 integration('"tool/" and its subdirectories', () { 172 integration('"tool/" and its subdirectories', () {
175 d.dir(appPath, [ 173 dir(appPath, [
176 d.appPubspec([]), 174 appPubspec([]),
177 d.libDir('foo'), 175 libDir('foo'),
178 d.dir("tool", [d.dir("subtool")]) 176 dir("tool", [dir("subtool")])
179 ]).create(); 177 ]).scheduleCreate();
180 178
181 schedulePub(args: ['install'], 179 schedulePub(args: ['install'],
182 output: new RegExp(r"Dependencies installed!$")); 180 output: new RegExp(r"Dependencies installed!$"));
183 181
184 d.dir(appPath, [ 182 dir(appPath, [
185 d.dir("tool", [ 183 dir("tool", [
186 d.dir("packages", [ 184 dir("packages", [
187 d.dir("myapp", [ 185 dir("myapp", [
188 d.file('foo.dart', 'main() => "foo";') 186 file('foo.dart', 'main() => "foo";')
189 ]) 187 ])
190 ]), 188 ]),
191 d.dir("subtool", [ 189 dir("subtool", [
192 d.dir("packages", [ 190 dir("packages", [
193 d.dir("myapp", [ 191 dir("myapp", [
194 d.file('foo.dart', 'main() => "foo";') 192 file('foo.dart', 'main() => "foo";')
195 ]) 193 ])
196 ]) 194 ])
197 ]) 195 ])
198 ]) 196 ])
199 ]).validate(); 197 ]).scheduleValidate();
200 }); 198 });
201 199
202 integration('"web/" and its subdirectories', () { 200 integration('"web/" and its subdirectories', () {
203 d.dir(appPath, [ 201 dir(appPath, [
204 d.appPubspec([]), 202 appPubspec([]),
205 d.libDir('foo'), 203 libDir('foo'),
206 d.dir("web", [d.dir("subweb")]) 204 dir("web", [dir("subweb")])
207 ]).create(); 205 ]).scheduleCreate();
208 206
209 schedulePub(args: ['install'], 207 schedulePub(args: ['install'],
210 output: new RegExp(r"Dependencies installed!$")); 208 output: new RegExp(r"Dependencies installed!$"));
211 209
212 d.dir(appPath, [ 210 dir(appPath, [
213 d.dir("web", [ 211 dir("web", [
214 d.dir("packages", [ 212 dir("packages", [
215 d.dir("myapp", [ 213 dir("myapp", [
216 d.file('foo.dart', 'main() => "foo";') 214 file('foo.dart', 'main() => "foo";')
217 ]) 215 ])
218 ]), 216 ]),
219 d.dir("subweb", [ 217 dir("subweb", [
220 d.dir("packages", [ 218 dir("packages", [
221 d.dir("myapp", [ 219 dir("myapp", [
222 d.file('foo.dart', 'main() => "foo";') 220 file('foo.dart', 'main() => "foo";')
223 ]) 221 ])
224 ]) 222 ])
225 ]) 223 ])
226 ]) 224 ])
227 ]).validate(); 225 ]).scheduleValidate();
228 }); 226 });
229 227
230 integration('"bin/"', () { 228 integration('"bin/"', () {
231 d.dir(appPath, [ 229 dir(appPath, [
232 d.appPubspec([]), 230 appPubspec([]),
233 d.libDir('foo'), 231 libDir('foo'),
234 d.dir("bin") 232 dir("bin")
235 ]).create(); 233 ]).scheduleCreate();
236 234
237 schedulePub(args: ['install'], 235 schedulePub(args: ['install'],
238 output: new RegExp(r"Dependencies installed!$")); 236 output: new RegExp(r"Dependencies installed!$"));
239 237
240 d.dir(appPath, [ 238 dir(appPath, [
241 d.dir("bin", [ 239 dir("bin", [
242 d.dir("packages", [ 240 dir("packages", [
243 d.dir("myapp", [ 241 dir("myapp", [
244 d.file('foo.dart', 'main() => "foo";') 242 file('foo.dart', 'main() => "foo";')
245 ]) 243 ])
246 ]) 244 ])
247 ]) 245 ])
248 ]).validate(); 246 ]).scheduleValidate();
249 }); 247 });
250 }); 248 });
251 } 249 }
OLDNEW
« no previous file with comments | « utils/tests/pub/install/path/shared_dependency_test.dart ('k') | utils/tests/pub/install/relative_symlink_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698