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

Side by Side Diff: pkg/analyzer/test/generated/bazel_test.dart

Issue 2401993002: Automatically detect 'blaze' or 'bazel' symlink prefix. (Closed)
Patch Set: Created 4 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
« no previous file with comments | « pkg/analyzer/lib/src/generated/bazel.dart ('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 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analyzer.test.generated.bazel_test; 5 library analyzer.test.generated.bazel_test;
6 6
7 import 'package:analyzer/file_system/memory_file_system.dart'; 7 import 'package:analyzer/file_system/memory_file_system.dart';
8 import 'package:analyzer/src/generated/bazel.dart'; 8 import 'package:analyzer/src/generated/bazel.dart';
9 import 'package:analyzer/src/generated/source.dart'; 9 import 'package:analyzer/src/generated/source.dart';
10 import 'package:test/test.dart'; 10 import 'package:test/test.dart';
11 import 'package:test_reflective_loader/test_reflective_loader.dart'; 11 import 'package:test_reflective_loader/test_reflective_loader.dart';
12 12
13 main() { 13 main() {
14 defineReflectiveSuite(() { 14 defineReflectiveSuite(() {
15 defineReflectiveTests(BazelFileUriResolverTest); 15 defineReflectiveTests(BazelFileUriResolverTest);
16 defineReflectiveTests(BazelPackageUriResolverTest); 16 defineReflectiveTests(BazelPackageUriResolverTest);
17 defineReflectiveTests(BazelWorkspaceTest); 17 defineReflectiveTests(BazelWorkspaceTest);
18 }); 18 });
19 } 19 }
20 20
21 @reflectiveTest 21 @reflectiveTest
22 class BazelFileUriResolverTest extends _BaseTest { 22 class BazelFileUriResolverTest extends _BaseTest {
23 BazelWorkspace workspace; 23 BazelWorkspace workspace;
24 BazelFileUriResolver resolver; 24 BazelFileUriResolver resolver;
25 25
26 void setUp() { 26 void setUp() {
27 provider.newFile(_p('/workspace/WORKSPACE'), ''); 27 provider.newFile(_p('/workspace/WORKSPACE'), '');
28 provider.newFolder(_p('/workspace/bazel-genfiles'));
28 workspace = BazelWorkspace.find(provider, _p('/workspace')); 29 workspace = BazelWorkspace.find(provider, _p('/workspace'));
29 resolver = new BazelFileUriResolver(workspace); 30 resolver = new BazelFileUriResolver(workspace);
30 provider.newFile(_p('/workspace/test.dart'), ''); 31 provider.newFile(_p('/workspace/test.dart'), '');
31 provider.newFile(_p('/workspace/bazel-bin/gen1.dart'), ''); 32 provider.newFile(_p('/workspace/bazel-bin/gen1.dart'), '');
32 provider.newFile(_p('/workspace/bazel-genfiles/gen2.dart'), ''); 33 provider.newFile(_p('/workspace/bazel-genfiles/gen2.dart'), '');
33 } 34 }
34 35
35 void test_resolveAbsolute_doesNotExist() { 36 void test_resolveAbsolute_doesNotExist() {
36 Source source = _resolvePath('/workspace/foo.dart'); 37 Source source = _resolvePath('/workspace/foo.dart');
37 expect(source, isNotNull); 38 expect(source, isNotNull);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 } 98 }
98 } 99 }
99 100
100 @reflectiveTest 101 @reflectiveTest
101 class BazelPackageUriResolverTest extends _BaseTest { 102 class BazelPackageUriResolverTest extends _BaseTest {
102 BazelWorkspace workspace; 103 BazelWorkspace workspace;
103 BazelPackageUriResolver resolver; 104 BazelPackageUriResolver resolver;
104 105
105 void setUp() { 106 void setUp() {
106 provider.newFile(_p('/workspace/WORKSPACE'), ''); 107 provider.newFile(_p('/workspace/WORKSPACE'), '');
108 provider.newFolder(_p('/workspace/bazel-genfiles'));
107 workspace = BazelWorkspace.find(provider, _p('/workspace')); 109 workspace = BazelWorkspace.find(provider, _p('/workspace'));
108 resolver = new BazelPackageUriResolver(workspace); 110 resolver = new BazelPackageUriResolver(workspace);
109 provider.newFile(_p('/workspace/my/foo/lib/foo1.dart'), ''); 111 provider.newFile(_p('/workspace/my/foo/lib/foo1.dart'), '');
110 provider.newFile(_p('/workspace/my/foo/lib/gen1.dart'), ''); 112 provider.newFile(_p('/workspace/my/foo/lib/gen1.dart'), '');
111 provider.newFile(_p('/workspace/my/foo/lib/gen2.dart'), ''); 113 provider.newFile(_p('/workspace/my/foo/lib/gen2.dart'), '');
112 provider.newFile(_p('/workspace/my/foo/lib/src/foo4.dart'), ''); 114 provider.newFile(_p('/workspace/my/foo/lib/src/foo4.dart'), '');
113 provider.newFile(_p('/workspace/third_party/dart/bar/lib/bar1.dart'), ''); 115 provider.newFile(_p('/workspace/third_party/dart/bar/lib/bar1.dart'), '');
114 provider.newFile( 116 provider.newFile(
115 _p('/workspace/third_party/dart/bar/lib/src/bar2.dart'), ''); 117 _p('/workspace/third_party/dart/bar/lib/src/bar2.dart'), '');
116 provider.newFile(_p('/workspace/bazel-bin/my/foo/lib/gen1.dart'), ''); 118 provider.newFile(_p('/workspace/bazel-bin/my/foo/lib/gen1.dart'), '');
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 Source source = resolver.resolveAbsolute(uri); 186 Source source = resolver.resolveAbsolute(uri);
185 expect(source, isNotNull); 187 expect(source, isNotNull);
186 expect(source.fullName, _p(posixPath)); 188 expect(source.fullName, _p(posixPath));
187 expect(source.uri, uri); 189 expect(source.uri, uri);
188 expect(source.exists(), exists); 190 expect(source.exists(), exists);
189 } 191 }
190 } 192 }
191 193
192 @reflectiveTest 194 @reflectiveTest
193 class BazelWorkspaceTest extends _BaseTest { 195 class BazelWorkspaceTest extends _BaseTest {
196 void test_factory_null_noWorkspaceMarkers_inRoot() {
197 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/'));
198 expect(workspace, isNull);
199 }
200
201 void test_factory_null_noWorkspaceMarkers_inRoot_withReadonly() {
202 BazelWorkspace workspace =
203 BazelWorkspace.find(provider, _p('/'), readonlySuffix: 'READONLY');
204 expect(workspace, isNull);
205 }
206
194 void test_find_fail_notAbsolute() { 207 void test_find_fail_notAbsolute() {
195 expect(() => BazelWorkspace.find(provider, _p('not_absolute')), 208 expect(() => BazelWorkspace.find(provider, _p('not_absolute')),
196 throwsArgumentError); 209 throwsArgumentError);
197 } 210 }
198 211
199 void test_find_hasReadonlyFolder() { 212 void test_find_hasReadonlyFolder() {
200 provider.newFolder(_p('/Users/user/test/READONLY/prime')); 213 provider.newFolder(_p('/Users/user/test/READONLY/prime'));
201 provider.newFolder(_p('/Users/user/test/prime')); 214 provider.newFolder(_p('/Users/user/test/prime'));
215 provider.newFolder(_p('/Users/user/test/prime/bazel-genfiles'));
202 BazelWorkspace workspace = BazelWorkspace.find( 216 BazelWorkspace workspace = BazelWorkspace.find(
203 provider, _p('/Users/user/test/prime/my/module'), 217 provider, _p('/Users/user/test/prime/my/module'),
204 readonlySuffix: 'prime'); 218 readonlySuffix: 'prime');
205 expect(workspace.root, _p('/Users/user/test/prime')); 219 expect(workspace.root, _p('/Users/user/test/prime'));
206 expect(workspace.readonly, _p('/Users/user/test/READONLY/prime')); 220 expect(workspace.readonly, _p('/Users/user/test/READONLY/prime'));
207 expect(workspace.bin, _p('/Users/user/test/prime/bazel-bin')); 221 expect(workspace.bin, _p('/Users/user/test/prime/bazel-bin'));
208 expect(workspace.genfiles, _p('/Users/user/test/prime/bazel-genfiles')); 222 expect(workspace.genfiles, _p('/Users/user/test/prime/bazel-genfiles'));
209 } 223 }
210 224
225 void test_find_hasReadonlyFolder_blaze() {
226 provider.newFolder(_p('/Users/user/test/READONLY/prime'));
227 provider.newFolder(_p('/Users/user/test/prime'));
228 provider.newFolder(_p('/Users/user/test/prime/blaze-genfiles'));
229 BazelWorkspace workspace = BazelWorkspace.find(
230 provider, _p('/Users/user/test/prime/my/module'),
231 readonlySuffix: 'prime');
232 expect(workspace.root, _p('/Users/user/test/prime'));
233 expect(workspace.readonly, _p('/Users/user/test/READONLY/prime'));
234 expect(workspace.bin, _p('/Users/user/test/prime/blaze-bin'));
235 expect(workspace.genfiles, _p('/Users/user/test/prime/blaze-genfiles'));
236 }
237
211 void test_find_hasWorkspaceFile() { 238 void test_find_hasWorkspaceFile() {
212 provider.newFile(_p('/workspace/WORKSPACE'), ''); 239 provider.newFile(_p('/workspace/WORKSPACE'), '');
240 provider.newFolder(_p('/workspace/bazel-genfiles'));
213 BazelWorkspace workspace = 241 BazelWorkspace workspace =
214 BazelWorkspace.find(provider, _p('/workspace/my/module')); 242 BazelWorkspace.find(provider, _p('/workspace/my/module'));
215 expect(workspace.root, _p('/workspace')); 243 expect(workspace.root, _p('/workspace'));
216 expect(workspace.readonly, isNull); 244 expect(workspace.readonly, isNull);
217 expect(workspace.bin, _p('/workspace/bazel-bin')); 245 expect(workspace.bin, _p('/workspace/bazel-bin'));
218 expect(workspace.genfiles, _p('/workspace/bazel-genfiles')); 246 expect(workspace.genfiles, _p('/workspace/bazel-genfiles'));
219 } 247 }
220 248
221 void test_find_hasWorkspaceFile_forModuleInWorkspace() { 249 void test_find_hasWorkspaceFile_forModuleInWorkspace() {
222 provider.newFile(_p('/workspace/WORKSPACE'), ''); 250 provider.newFile(_p('/workspace/WORKSPACE'), '');
251 provider.newFolder(_p('/workspace/bazel-genfiles'));
223 BazelWorkspace workspace = 252 BazelWorkspace workspace =
224 BazelWorkspace.find(provider, _p('/workspace/my/module')); 253 BazelWorkspace.find(provider, _p('/workspace/my/module'));
225 expect(workspace.root, _p('/workspace')); 254 expect(workspace.root, _p('/workspace'));
226 expect(workspace.readonly, isNull); 255 expect(workspace.readonly, isNull);
227 expect(workspace.bin, _p('/workspace/bazel-bin')); 256 expect(workspace.bin, _p('/workspace/bazel-bin'));
228 expect(workspace.genfiles, _p('/workspace/bazel-genfiles')); 257 expect(workspace.genfiles, _p('/workspace/bazel-genfiles'));
229 } 258 }
230 259
231 void test_find_hasWorkspaceFile_forWorkspace() { 260 void test_find_hasWorkspaceFile_forWorkspace() {
232 provider.newFile(_p('/workspace/WORKSPACE'), ''); 261 provider.newFile(_p('/workspace/WORKSPACE'), '');
233 provider.newFolder(_p('/workspace/bazel-bin')); 262 provider.newFolder(_p('/workspace/bazel-genfiles'));
234 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/workspace')); 263 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/workspace'));
235 expect(workspace.root, _p('/workspace')); 264 expect(workspace.root, _p('/workspace'));
236 expect(workspace.readonly, isNull); 265 expect(workspace.readonly, isNull);
237 expect(workspace.bin, _p('/workspace/bazel-bin')); 266 expect(workspace.bin, _p('/workspace/bazel-bin'));
238 expect(workspace.genfiles, _p('/workspace/bazel-genfiles')); 267 expect(workspace.genfiles, _p('/workspace/bazel-genfiles'));
239 } 268 }
240 269
270 void test_find_hasWorkspaceFile_forWorkspace_blaze() {
271 provider.newFile(_p('/workspace/WORKSPACE'), '');
272 provider.newFolder(_p('/workspace/blaze-genfiles'));
273 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/workspace'));
274 expect(workspace.root, _p('/workspace'));
275 expect(workspace.readonly, isNull);
276 expect(workspace.bin, _p('/workspace/blaze-bin'));
277 expect(workspace.genfiles, _p('/workspace/blaze-genfiles'));
278 }
279
241 void test_find_null_noWorkspaceMarkers() { 280 void test_find_null_noWorkspaceMarkers() {
242 BazelWorkspace workspace = 281 BazelWorkspace workspace =
243 BazelWorkspace.find(provider, _p('/workspace/my/module')); 282 BazelWorkspace.find(provider, _p('/workspace/my/module'));
244 expect(workspace, isNull); 283 expect(workspace, isNull);
245 } 284 }
246 285
247 void test_find_null_noWorkspaceMarkers_inRoot() { 286 void test_find_null_noWorkspaceMarkers_inRoot() {
248 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/')); 287 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/'));
249 expect(workspace, isNull); 288 expect(workspace, isNull);
250 } 289 }
251 290
252 void test_find_null_noWorkspaceMarkers_inRoot_withReadonly() { 291 void test_find_null_noWorkspaceMarkers_inRoot_withReadonly() {
253 BazelWorkspace workspace = 292 BazelWorkspace workspace =
254 BazelWorkspace.find(provider, _p('/'), readonlySuffix: 'READONLY'); 293 BazelWorkspace.find(provider, _p('/'), readonlySuffix: 'READONLY');
255 expect(workspace, isNull); 294 expect(workspace, isNull);
256 } 295 }
257 296
258 void test_find_symlinkPrefix() { 297 void test_find_null_symlinkPrefix() {
259 provider.newFile(_p('/workspace/WORKSPACE'), ''); 298 provider.newFile(_p('/workspace/WORKSPACE'), '');
260 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/workspace'), 299 BazelWorkspace workspace =
261 symlinkPrefix: 'foobar'); 300 BazelWorkspace.find(provider, _p('/workspace/my/module'));
262 expect(workspace.root, _p('/workspace')); 301 expect(workspace, isNull);
263 expect(workspace.readonly, isNull);
264 expect(workspace.bin, _p('/workspace/foobar-bin'));
265 expect(workspace.genfiles, _p('/workspace/foobar-genfiles'));
266 } 302 }
267 303
268 void test_findFile_hasReadonlyFolder() { 304 void test_findFile_hasReadonlyFolder() {
269 provider.newFolder(_p('/Users/user/test/READONLY/prime')); 305 provider.newFolder(_p('/Users/user/test/READONLY/prime'));
270 provider.newFolder(_p('/Users/user/test/prime')); 306 provider.newFolder(_p('/Users/user/test/prime'));
271 provider.newFile(_p('/Users/user/test/prime/my/module/test1.dart'), ''); 307 provider.newFile(_p('/Users/user/test/prime/my/module/test1.dart'), '');
272 provider.newFile(_p('/Users/user/test/prime/my/module/test2.dart'), ''); 308 provider.newFile(_p('/Users/user/test/prime/my/module/test2.dart'), '');
273 provider.newFile(_p('/Users/user/test/prime/my/module/test3.dart'), ''); 309 provider.newFile(_p('/Users/user/test/prime/my/module/test3.dart'), '');
274 provider.newFile( 310 provider.newFile(
275 _p('/Users/user/test/prime/bazel-bin/my/module/test2.dart'), ''); 311 _p('/Users/user/test/prime/bazel-bin/my/module/test2.dart'), '');
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 } 357 }
322 358
323 class _BaseTest { 359 class _BaseTest {
324 final MemoryResourceProvider provider = new MemoryResourceProvider(); 360 final MemoryResourceProvider provider = new MemoryResourceProvider();
325 361
326 /** 362 /**
327 * Return the [provider] specific path for the given Posix [path]. 363 * Return the [provider] specific path for the given Posix [path].
328 */ 364 */
329 String _p(String path) => provider.convertPath(path); 365 String _p(String path) => provider.convertPath(path);
330 } 366 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/bazel.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698