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

Side by Side Diff: pkg/analysis_server/test/analysis_server_test.dart

Issue 1266923004: More fixes for failures on the Windows bot (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 test.analysis_server; 5 library test.analysis_server;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/analysis_server.dart'; 9 import 'package:analysis_server/src/analysis_server.dart';
10 import 'package:analysis_server/src/constants.dart'; 10 import 'package:analysis_server/src/constants.dart';
11 import 'package:analysis_server/src/context_manager.dart'; 11 import 'package:analysis_server/src/context_manager.dart';
12 import 'package:analysis_server/src/domain_server.dart'; 12 import 'package:analysis_server/src/domain_server.dart';
13 import 'package:analysis_server/src/operation/operation.dart'; 13 import 'package:analysis_server/src/operation/operation.dart';
14 import 'package:analysis_server/src/plugin/server_plugin.dart'; 14 import 'package:analysis_server/src/plugin/server_plugin.dart';
15 import 'package:analysis_server/src/protocol.dart'; 15 import 'package:analysis_server/src/protocol.dart';
16 import 'package:analyzer/file_system/file_system.dart'; 16 import 'package:analyzer/file_system/file_system.dart';
17 import 'package:analyzer/file_system/memory_file_system.dart'; 17 import 'package:analyzer/file_system/memory_file_system.dart';
18 import 'package:analyzer/instrumentation/instrumentation.dart'; 18 import 'package:analyzer/instrumentation/instrumentation.dart';
19 import 'package:analyzer/source/package_map_resolver.dart'; 19 import 'package:analyzer/source/package_map_resolver.dart';
20 import 'package:analyzer/src/generated/engine.dart'; 20 import 'package:analyzer/src/generated/engine.dart';
21 import 'package:analyzer/src/generated/java_engine.dart'; 21 import 'package:analyzer/src/generated/java_engine.dart';
22 import 'package:analyzer/src/generated/source.dart'; 22 import 'package:analyzer/src/generated/source.dart';
23 import 'package:plugin/manager.dart'; 23 import 'package:plugin/manager.dart';
24 import 'package:test_reflective_loader/test_reflective_loader.dart'; 24 import 'package:test_reflective_loader/test_reflective_loader.dart';
25 import 'package:typed_mock/typed_mock.dart'; 25 import 'package:typed_mock/typed_mock.dart';
26 import 'package:unittest/unittest.dart'; 26 import 'package:unittest/unittest.dart';
27 27
28 import 'mock_sdk.dart'; 28 import 'mock_sdk.dart';
29 import 'mocks.dart'; 29 import 'mocks.dart';
30 import 'utils.dart';
30 31
31 main() { 32 main() {
32 groupSep = ' | '; 33 initializeTestEnvironment();
33 defineReflectiveTests(AnalysisServerTest); 34 defineReflectiveTests(AnalysisServerTest);
34 } 35 }
35 36
36 @reflectiveTest 37 @reflectiveTest
37 class AnalysisServerTest { 38 class AnalysisServerTest {
38 MockServerChannel channel; 39 MockServerChannel channel;
39 AnalysisServer server; 40 AnalysisServer server;
40 MemoryResourceProvider resourceProvider; 41 MemoryResourceProvider resourceProvider;
41 MockPackageMapProvider packageMapProvider; 42 MockPackageMapProvider packageMapProvider;
42 43
43 /** 44 /**
44 * Verify that getAnalysisContextForSource returns the correct contexts even 45 * Verify that getAnalysisContextForSource returns the correct contexts even
45 * for sources that are included by multiple contexts. 46 * for sources that are included by multiple contexts.
46 * 47 *
47 * See dartbug.com/21898 48 * See dartbug.com/21898
48 */ 49 */
49 Future fail_getAnalysisContextForSource_crossImports() { 50 Future fail_getAnalysisContextForSource_crossImports() {
50 // Subscribe to STATUS so we'll know when analysis is done. 51 // Subscribe to STATUS so we'll know when analysis is done.
51 server.serverServices = [ServerService.STATUS].toSet(); 52 server.serverServices = [ServerService.STATUS].toSet();
52 // Analyze project foo containing foo.dart and project bar containing 53 // Analyze project foo containing foo.dart and project bar containing
53 // bar.dart. 54 // bar.dart.
54 resourceProvider.newFolder('/foo'); 55 resourceProvider.newFolder('/foo');
55 resourceProvider.newFolder('/bar'); 56 resourceProvider.newFolder('/bar');
56 File foo = resourceProvider.newFile('/foo/foo.dart', ''' 57 File foo = resourceProvider.newFile(
58 '/foo/foo.dart',
59 '''
57 libary foo; 60 libary foo;
58 import "../bar/bar.dart"; 61 import "../bar/bar.dart";
59 '''); 62 ''');
60 Source fooSource = foo.createSource(); 63 Source fooSource = foo.createSource();
61 File bar = resourceProvider.newFile('/bar/bar.dart', ''' 64 File bar = resourceProvider.newFile(
65 '/bar/bar.dart',
66 '''
62 library bar; 67 library bar;
63 import "../foo/foo.dart"; 68 import "../foo/foo.dart";
64 '''); 69 ''');
65 Source barSource = bar.createSource(); 70 Source barSource = bar.createSource();
66 server.setAnalysisRoots('0', ['/foo', '/bar'], [], {}); 71 server.setAnalysisRoots('0', ['/foo', '/bar'], [], {});
67 return pumpEventQueue(40).then((_) { 72 return pumpEventQueue(40).then((_) {
68 expect(server.statusAnalyzing, isFalse); 73 expect(server.statusAnalyzing, isFalse);
69 // Make sure getAnalysisContext returns the proper context for each. 74 // Make sure getAnalysisContext returns the proper context for each.
70 AnalysisContext fooContext = 75 AnalysisContext fooContext =
71 server.getAnalysisContextForSource(fooSource); 76 server.getAnalysisContextForSource(fooSource);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 }); 119 });
115 } 120 }
116 121
117 void setUp() { 122 void setUp() {
118 channel = new MockServerChannel(); 123 channel = new MockServerChannel();
119 resourceProvider = new MemoryResourceProvider(); 124 resourceProvider = new MemoryResourceProvider();
120 packageMapProvider = new MockPackageMapProvider(); 125 packageMapProvider = new MockPackageMapProvider();
121 ExtensionManager manager = new ExtensionManager(); 126 ExtensionManager manager = new ExtensionManager();
122 ServerPlugin serverPlugin = new ServerPlugin(); 127 ServerPlugin serverPlugin = new ServerPlugin();
123 manager.processPlugins([serverPlugin]); 128 manager.processPlugins([serverPlugin]);
124 server = new AnalysisServer(channel, resourceProvider, packageMapProvider, 129 server = new AnalysisServer(
125 null, serverPlugin, new AnalysisServerOptions(), new MockSdk(), 130 channel,
126 InstrumentationService.NULL_SERVICE, rethrowExceptions: true); 131 resourceProvider,
132 packageMapProvider,
133 null,
134 serverPlugin,
135 new AnalysisServerOptions(),
136 new MockSdk(),
137 InstrumentationService.NULL_SERVICE,
138 rethrowExceptions: true);
127 } 139 }
128 140
129 Future test_contextDisposed() { 141 Future test_contextDisposed() {
130 resourceProvider.newFolder('/foo'); 142 resourceProvider.newFolder('/foo');
131 resourceProvider.newFile('/foo/bar.dart', 'library lib;'); 143 resourceProvider.newFile('/foo/bar.dart', 'library lib;');
132 server.setAnalysisRoots('0', ['/foo'], [], {}); 144 server.setAnalysisRoots('0', ['/foo'], [], {});
133 AnalysisContext context; 145 AnalysisContext context;
134 return pumpEventQueue().then((_) { 146 return pumpEventQueue().then((_) {
135 context = server.getAnalysisContext('/foo/bar.dart'); 147 context = server.getAnalysisContext('/foo/bar.dart');
136 server.setAnalysisRoots('1', [], [], {}); 148 server.setAnalysisRoots('1', [], [], {});
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 server.setPriorityFiles('17', []); 410 server.setPriorityFiles('17', []);
399 return pumpEventQueue(); 411 return pumpEventQueue();
400 }).then((_) { 412 }).then((_) {
401 expect(eventCount, 3); 413 expect(eventCount, 3);
402 expect(firstSource, isNull); 414 expect(firstSource, isNull);
403 }); 415 });
404 } 416 }
405 417
406 void test_rethrowExceptions() { 418 void test_rethrowExceptions() {
407 Exception exceptionToThrow = new Exception('test exception'); 419 Exception exceptionToThrow = new Exception('test exception');
408 MockServerOperation operation = new MockServerOperation( 420 MockServerOperation operation =
409 ServerOperationPriority.ANALYSIS, (_) { 421 new MockServerOperation(ServerOperationPriority.ANALYSIS, (_) {
410 throw exceptionToThrow; 422 throw exceptionToThrow;
411 }); 423 });
412 server.operationQueue.add(operation); 424 server.operationQueue.add(operation);
413 server.performOperationPending = true; 425 server.performOperationPending = true;
414 try { 426 try {
415 server.performOperation(); 427 server.performOperation();
416 fail('exception not rethrown'); 428 fail('exception not rethrown');
417 } on AnalysisException catch (exception) { 429 } on AnalysisException catch (exception) {
418 expect(exception.cause.exception, equals(exceptionToThrow)); 430 expect(exception.cause.exception, equals(exceptionToThrow));
419 } 431 }
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 _MockServerOperation(this.context); 514 _MockServerOperation(this.context);
503 515
504 @override 516 @override
505 ServerOperationPriority get priority => ServerOperationPriority.ANALYSIS; 517 ServerOperationPriority get priority => ServerOperationPriority.ANALYSIS;
506 518
507 @override 519 @override
508 void perform(AnalysisServer server) { 520 void perform(AnalysisServer server) {
509 isComplete = true; 521 isComplete = true;
510 } 522 }
511 } 523 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698