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

Side by Side Diff: pkg/analyzer/test/src/summary/bazel_summary_test.dart

Issue 2397933006: Get more tests passing on windows (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
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 import 'package:analyzer/dart/ast/ast.dart'; 5 import 'package:analyzer/dart/ast/ast.dart';
6 import 'package:analyzer/dart/ast/token.dart'; 6 import 'package:analyzer/dart/ast/token.dart';
7 import 'package:analyzer/dart/element/element.dart'; 7 import 'package:analyzer/dart/element/element.dart';
8 import 'package:analyzer/error/listener.dart'; 8 import 'package:analyzer/error/listener.dart';
9 import 'package:analyzer/file_system/file_system.dart'; 9 import 'package:analyzer/file_system/file_system.dart';
10 import 'package:analyzer/src/context/cache.dart'; 10 import 'package:analyzer/src/context/cache.dart';
(...skipping 15 matching lines...) Expand all
26 26
27 import '../context/abstract_context.dart'; 27 import '../context/abstract_context.dart';
28 28
29 main() { 29 main() {
30 defineReflectiveSuite(() { 30 defineReflectiveSuite(() {
31 defineReflectiveTests(BazelResultProviderTest); 31 defineReflectiveTests(BazelResultProviderTest);
32 defineReflectiveTests(SummaryProviderTest); 32 defineReflectiveTests(SummaryProviderTest);
33 }); 33 });
34 } 34 }
35 35
36 const OUT_ROOT = '$SRC_ROOT/bazel-bin';
37 const SRC_ROOT = '/company/src/user/project/root';
38
39 @reflectiveTest 36 @reflectiveTest
40 class BazelResultProviderTest extends _BaseTest { 37 class BazelResultProviderTest extends _BaseTest {
41 BazelResultProvider provider; 38 BazelResultProvider provider;
42 39
43 @override 40 @override
44 void setUp() { 41 void setUp() {
45 super.setUp(); 42 super.setUp();
46 provider = new BazelResultProvider(new SummaryProvider( 43 provider = new BazelResultProvider(new SummaryProvider(
47 resourceProvider, 44 resourceProvider,
48 '_.temp', 45 '_.temp',
49 _getOutputFolder, 46 _getOutputFolder,
50 resourceProvider.getFolder('/tmp/dart/bazel/linked'), 47 resourceProvider
48 .getFolder(resourceProvider.convertPath('/tmp/dart/bazel/linked')),
51 context)); 49 context));
52 } 50 }
53 51
54 test_failure_inconsistent_directDependency() { 52 test_failure_inconsistent_directDependency() {
55 _setComponentFile('aaa', 'a.dart', 'class A {}'); 53 _setComponentFile('aaa', 'a.dart', 'class A {}');
56 _setComponentFile( 54 _setComponentFile(
57 'bbb', 55 'bbb',
58 'b.dart', 56 'b.dart',
59 r''' 57 r'''
60 import 'package:components.aaa/a.dart'; 58 import 'package:components.aaa/a.dart';
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 context.declaredVariables.define('dart.library.html', 'true'); 444 context.declaredVariables.define('dart.library.html', 'true');
447 _createManager(allowLinking: true); 445 _createManager(allowLinking: true);
448 List<Package> packages = manager.getLinkedPackages(source); 446 List<Package> packages = manager.getLinkedPackages(source);
449 expect(packages, hasLength(1)); 447 expect(packages, hasLength(1));
450 _assertDependencyInUser(packages.single.linked, 'foo_html.dart'); 448 _assertDependencyInUser(packages.single.linked, 'foo_html.dart');
451 } 449 }
452 } 450 }
453 } 451 }
454 452
455 class _BaseTest extends AbstractContextTest { 453 class _BaseTest extends AbstractContextTest {
454 String sourceRoot;
455 String outRoot;
456
456 @override 457 @override
457 void setUp() { 458 void setUp() {
458 super.setUp(); 459 super.setUp();
459 // Include a 'package' URI resolver. 460 // Include a 'package' URI resolver.
461 sourceRoot = resourceProvider.convertPath('/company/src/user/project/root');
462 outRoot = resourceProvider.pathContext.join(sourceRoot, 'bazel-bin');
460 sourceFactory = new SourceFactory(<UriResolver>[ 463 sourceFactory = new SourceFactory(<UriResolver>[
461 sdkResolver, 464 sdkResolver,
462 resourceResolver, 465 resourceResolver,
463 new _TestPackageResolver(resourceProvider) 466 new _TestPackageResolver(resourceProvider, sourceRoot)
464 ], null, resourceProvider); 467 ], null, resourceProvider);
465 context.sourceFactory = sourceFactory; 468 context.sourceFactory = sourceFactory;
466 } 469 }
467 470
468 Folder _getOutputFolder(Uri absoluteUri) { 471 Folder _getOutputFolder(Uri absoluteUri) {
472 var pathContext = resourceProvider.pathContext;
469 if (absoluteUri.scheme == 'package') { 473 if (absoluteUri.scheme == 'package') {
470 List<String> segments = absoluteUri.pathSegments; 474 List<String> segments = absoluteUri.pathSegments;
471 if (segments.isNotEmpty) { 475 if (segments.isNotEmpty) {
472 String packageName = segments.first; 476 String packageName = segments.first;
473 String path = OUT_ROOT + '/' + packageName.replaceAll('.', '/'); 477 String path = pathContext.join(
478 outRoot, packageName.replaceAll('.', pathContext.separator));
474 return resourceProvider.getFolder(path); 479 return resourceProvider.getFolder(path);
475 } 480 }
476 } 481 }
477 return null; 482 return null;
478 } 483 }
479 484
480 Source _resolveUri(String uri) { 485 Source _resolveUri(String uri) {
481 return context.sourceFactory.resolveUri(null, uri); 486 return context.sourceFactory.resolveUri(null, uri);
482 } 487 }
483 488
484 File _setComponentFile(String componentName, String fileName, String code) { 489 File _setComponentFile(String componentName, String fileName, String code) {
485 String path = '$SRC_ROOT/components/$componentName/lib/$fileName'; 490 String path = resourceProvider.pathContext
491 .join(sourceRoot, 'components', componentName, 'lib', fileName);
486 return resourceProvider.newFile(path, code); 492 return resourceProvider.newFile(path, code);
487 } 493 }
488 494
489 void _writeUnlinkedBundle(String packageName) { 495 void _writeUnlinkedBundle(String packageName) {
490 String packagePath = packageName.replaceAll('.', '/'); 496 var pathContext = resourceProvider.pathContext;
497 String packagePath = packageName.replaceAll('.', pathContext.separator);
491 PackageBundleBuilder unlinkedBundle = _computeUnlinkedBundle( 498 PackageBundleBuilder unlinkedBundle = _computeUnlinkedBundle(
492 resourceProvider, 499 resourceProvider,
493 packageName, 500 packageName,
494 resourceProvider.getFolder(SRC_ROOT + '/' + packagePath + '/lib'), 501 resourceProvider
502 .getFolder(pathContext.join(sourceRoot, packagePath, 'lib')),
495 true); 503 true);
496 String shortName = packageName.substring(packageName.lastIndexOf('.') + 1); 504 String shortName = packageName.substring(packageName.lastIndexOf('.') + 1);
497 resourceProvider.newFileWithBytes( 505 resourceProvider.newFileWithBytes(
498 '$OUT_ROOT/$packagePath/$shortName.full.ds', unlinkedBundle.toBuffer()); 506 pathContext.join(outRoot, packagePath, shortName) + '.full.ds',
507 unlinkedBundle.toBuffer());
499 } 508 }
500 509
501 static PackageBundleBuilder _computeUnlinkedBundle(ResourceProvider provider, 510 static PackageBundleBuilder _computeUnlinkedBundle(ResourceProvider provider,
502 String packageName, Folder libFolder, bool strong) { 511 String packageName, Folder libFolder, bool strong) {
503 var pathContext = provider.pathContext; 512 var pathContext = provider.pathContext;
504 String libPath = libFolder.path + pathContext.separator; 513 String libPath = libFolder.path + pathContext.separator;
505 PackageBundleAssembler assembler = new PackageBundleAssembler(); 514 PackageBundleAssembler assembler = new PackageBundleAssembler();
506 515
507 /** 516 /**
508 * Return the `package` [Uri] for the given [path] in the `lib` folder 517 * Return the `package` [Uri] for the given [path] in the `lib` folder
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 Parser parser = new Parser(source, errorListener); 573 Parser parser = new Parser(source, errorListener);
565 parser.parseGenericMethodComments = strong; 574 parser.parseGenericMethodComments = strong;
566 CompilationUnit unit = parser.parseCompilationUnit(token); 575 CompilationUnit unit = parser.parseCompilationUnit(token);
567 unit.lineInfo = lineInfo; 576 unit.lineInfo = lineInfo;
568 return unit; 577 return unit;
569 } 578 }
570 } 579 }
571 580
572 class _TestPackageResolver implements UriResolver { 581 class _TestPackageResolver implements UriResolver {
573 final ResourceProvider resourceProvider; 582 final ResourceProvider resourceProvider;
583 final String sourceRoot;
574 584
575 _TestPackageResolver(this.resourceProvider); 585 _TestPackageResolver(this.resourceProvider, this.sourceRoot);
576 586
577 @override 587 @override
578 Source resolveAbsolute(Uri uri, [Uri actualUri]) { 588 Source resolveAbsolute(Uri uri, [Uri actualUri]) {
579 if (uri.scheme == 'package') { 589 if (uri.scheme == 'package') {
580 List<String> segments = uri.pathSegments; 590 List<String> segments = uri.pathSegments;
581 if (segments.isNotEmpty) { 591 if (segments.isNotEmpty) {
582 pathos.Context pathContext = resourceProvider.pathContext; 592 pathos.Context pathContext = resourceProvider.pathContext;
583 String packageName = segments.first; 593 String packageName = segments.first;
584 String folderPath = pathContext.join( 594 String folderPath = pathContext.join(
585 SRC_ROOT, packageName.replaceAll('.', pathContext.separator)); 595 sourceRoot, packageName.replaceAll('.', pathContext.separator));
586 String path = pathContext.join( 596 String path = pathContext.join(
587 folderPath, 'lib', pathContext.joinAll(segments.skip(1))); 597 folderPath, 'lib', pathContext.joinAll(segments.skip(1)));
588 return resourceProvider.getFile(path).createSource(uri); 598 return resourceProvider.getFile(path).createSource(uri);
589 } 599 }
590 } 600 }
591 return null; 601 return null;
592 } 602 }
593 603
594 @override 604 @override
595 Uri restoreAbsolute(Source source) { 605 Uri restoreAbsolute(Source source) {
596 throw new UnimplementedError(); 606 throw new UnimplementedError();
597 } 607 }
598 } 608 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/src/dart/sdk/sdk_test.dart ('k') | pkg/analyzer/test/src/summary/pub_summary_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698