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

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

Issue 243703008: Eliminate nondeterminism from analysis server unit tests. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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
« no previous file with comments | « no previous file | pkg/analysis_server/test/mocks.dart » ('j') | pkg/analysis_server/test/mocks.dart » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/domain_server.dart'; 10 import 'package:analysis_server/src/domain_server.dart';
11 import 'package:analysis_server/src/protocol.dart'; 11 import 'package:analysis_server/src/protocol.dart';
12 import 'package:unittest/unittest.dart'; 12 import 'package:unittest/unittest.dart';
13 13
14 import 'mocks.dart'; 14 import 'mocks.dart';
15 15
16 main() { 16 main() {
17 group('AnalysisServer', () { 17 group('AnalysisServer', () {
18 setUp(AnalysisServerTest.setUp); 18 setUp(AnalysisServerTest.setUp);
19 // test('createContext', AnalysisServerTest.createContext); 19 test('createContext', AnalysisServerTest.createContext);
20 test('echo', AnalysisServerTest.echo); 20 test('echo', AnalysisServerTest.echo);
21 test('shutdown', AnalysisServerTest.shutdown); 21 test('shutdown', AnalysisServerTest.shutdown);
22 test('unknownRequest', AnalysisServerTest.unknownRequest); 22 test('unknownRequest', AnalysisServerTest.unknownRequest);
23 }); 23 });
24 } 24 }
25 25
26 class AnalysisServerTest { 26 class AnalysisServerTest {
27 static MockServerChannel channel; 27 static MockServerChannel channel;
28 static AnalysisServer server; 28 static AnalysisServer server;
29 29
30 static void setUp() { 30 static void setUp() {
31 channel = new MockServerChannel(); 31 channel = new MockServerChannel();
32 server = new AnalysisServer(channel); 32 server = new AnalysisServer(channel);
33 } 33 }
34 34
35 static Future createContext() { 35 static Future createContext() {
36 server.handlers = [new ServerDomainHandler(server)]; 36 server.handlers = [new ServerDomainHandler(server)];
37 var request = new Request('my27', ServerDomainHandler.CREATE_CONTEXT_METHOD) ; 37 var request = new Request('my27', ServerDomainHandler.CREATE_CONTEXT_METHOD) ;
38 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, sdkPath); 38 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, sdkPath);
39 request.setParameter(ServerDomainHandler.CONTEXT_ID_PARAM, 'ctx'); 39 request.setParameter(ServerDomainHandler.CONTEXT_ID_PARAM, 'ctx');
40 return channel.sendRequest(request) 40 return channel.sendRequest(request)
41 .timeout(new Duration(seconds: 1))
danrubel 2014/04/21 16:59:10 If for some reason, the server completes normally
42 .then((Response response) { 41 .then((Response response) {
43 expect(response.id, equals('my27')); 42 expect(response.id, equals('my27'));
44 expect(response.error, isNull); 43 expect(response.error, isNull);
45 }); 44 });
46 } 45 }
47 46
48 static Future echo() { 47 static Future echo() {
49 server.handlers = [new EchoHandler()]; 48 server.handlers = [new EchoHandler()];
50 var request = new Request('my22', 'echo'); 49 var request = new Request('my22', 'echo');
51 return channel.sendRequest(request) 50 return channel.sendRequest(request)
52 .timeout(new Duration(seconds: 1))
53 .then((Response response) { 51 .then((Response response) {
54 expect(response.id, equals('my22')); 52 expect(response.id, equals('my22'));
55 expect(response.error, isNull); 53 expect(response.error, isNull);
56 }); 54 });
57 } 55 }
58 56
59 static Future shutdown() { 57 static Future shutdown() {
60 server.handlers = [new ServerDomainHandler(server)]; 58 server.handlers = [new ServerDomainHandler(server)];
61 var request = new Request('my28', ServerDomainHandler.SHUTDOWN_METHOD); 59 var request = new Request('my28', ServerDomainHandler.SHUTDOWN_METHOD);
62 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, ''); 60 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, '');
63 return channel.sendRequest(request) 61 return channel.sendRequest(request)
64 .timeout(new Duration(seconds: 1))
65 .then((Response response) { 62 .then((Response response) {
66 expect(response.id, equals('my28')); 63 expect(response.id, equals('my28'));
67 expect(response.error, isNull); 64 expect(response.error, isNull);
68 }); 65 });
69 } 66 }
70 67
71 static Future unknownRequest() { 68 static Future unknownRequest() {
72 server.handlers = [new EchoHandler()]; 69 server.handlers = [new EchoHandler()];
73 var request = new Request('my22', 'randomRequest'); 70 var request = new Request('my22', 'randomRequest');
74 return channel.sendRequest(request) 71 return channel.sendRequest(request)
75 .timeout(new Duration(seconds: 1))
76 .then((Response response) { 72 .then((Response response) {
77 expect(response.id, equals('my22')); 73 expect(response.id, equals('my22'));
78 expect(response.error, isNotNull); 74 expect(response.error, isNotNull);
79 }); 75 });
80 } 76 }
81 } 77 }
82 78
83 79
84 class EchoHandler implements RequestHandler { 80 class EchoHandler implements RequestHandler {
85 @override 81 @override
86 Response handleRequest(Request request) { 82 Response handleRequest(Request request) {
87 if (request.method == 'echo') { 83 if (request.method == 'echo') {
88 var response = new Response(request.id); 84 var response = new Response(request.id);
89 response.setResult('echo', true); 85 response.setResult('echo', true);
90 return response; 86 return response;
91 } 87 }
92 return null; 88 return null;
93 } 89 }
94 } 90 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analysis_server/test/mocks.dart » ('j') | pkg/analysis_server/test/mocks.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698