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

Side by Side Diff: test/worker/worker_test.dart

Issue 2244703003: fixes #610, incorrect help output (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: a few more refactors Created 4 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) 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 'dart:async'; 5 import 'dart:async';
6 import 'dart:convert'; 6 import 'dart:convert';
7 import 'dart:io'; 7 import 'dart:io';
8 8
9 import 'package:bazel_worker/bazel_worker.dart'; 9 import 'package:bazel_worker/bazel_worker.dart';
10 // TODO(jakemac): Remove once this is a part of the testing library. 10 // TODO(jakemac): Remove once this is a part of the testing library.
11 import 'package:bazel_worker/src/async_message_grouper.dart'; 11 import 'package:bazel_worker/src/async_message_grouper.dart';
12 import 'package:bazel_worker/testing.dart'; 12 import 'package:bazel_worker/testing.dart';
13 import 'package:test/test.dart'; 13 import 'package:test/test.dart';
14 14
15 main() { 15 main() {
16 group('Hello World', () { 16 group('Hello World', () {
17 final argsFile = new File('test/worker/hello_world.args').absolute; 17 final argsFile = new File('test/worker/hello_world.args').absolute;
18 final inputDartFile = new File('test/worker/hello_world.dart').absolute; 18 final inputDartFile = new File('test/worker/hello_world.dart').absolute;
19 final outputJsFile = new File('test/worker/hello_world.js').absolute; 19 final outputJsFile = new File('test/worker/hello_world.js').absolute;
20 final executableArgs = ['bin/dartdevc.dart', 'compile',]; 20 final executableArgs = ['bin/dartdevc.dart'];
21 final compilerArgs = [ 21 final compilerArgs = [
22 '--no-source-map', 22 '--no-source-map',
23 '--no-summarize', 23 '--no-summarize',
24 '-o', 24 '-o',
25 outputJsFile.path, 25 outputJsFile.path,
26 inputDartFile.path, 26 inputDartFile.path,
27 ]; 27 ];
28 28
29 setUp(() { 29 setUp(() {
30 inputDartFile.createSync(); 30 inputDartFile.createSync();
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 if (greetingDart.existsSync()) greetingDart.deleteSync(); 111 if (greetingDart.existsSync()) greetingDart.deleteSync();
112 if (helloDart.existsSync()) helloDart.deleteSync(); 112 if (helloDart.existsSync()) helloDart.deleteSync();
113 if (greetingJS.existsSync()) greetingJS.deleteSync(); 113 if (greetingJS.existsSync()) greetingJS.deleteSync();
114 if (greetingSummary.existsSync()) greetingSummary.deleteSync(); 114 if (greetingSummary.existsSync()) greetingSummary.deleteSync();
115 if (helloJS.existsSync()) helloJS.deleteSync(); 115 if (helloJS.existsSync()) helloJS.deleteSync();
116 }); 116 });
117 117
118 test('can compile in basic mode', () { 118 test('can compile in basic mode', () {
119 var result = Process.runSync('dart', [ 119 var result = Process.runSync('dart', [
120 'bin/dartdevc.dart', 120 'bin/dartdevc.dart',
121 'compile',
122 '--summary-extension=api.ds', 121 '--summary-extension=api.ds',
123 '--no-source-map', 122 '--no-source-map',
124 '-o', 123 '-o',
125 greetingJS.path, 124 greetingJS.path,
126 greetingDart.path, 125 greetingDart.path,
127 ]); 126 ]);
128 expect(result.exitCode, EXIT_CODE_OK); 127 expect(result.exitCode, EXIT_CODE_OK);
129 expect(result.stdout, isEmpty); 128 expect(result.stdout, isEmpty);
130 expect(result.stderr, isEmpty); 129 expect(result.stderr, isEmpty);
131 expect(greetingJS.existsSync(), isTrue); 130 expect(greetingJS.existsSync(), isTrue);
132 expect(greetingSummary.existsSync(), isTrue); 131 expect(greetingSummary.existsSync(), isTrue);
133 132
134 result = Process.runSync('dart', [ 133 result = Process.runSync('dart', [
135 'bin/dartdevc.dart', 134 'bin/dartdevc.dart',
136 'compile',
137 '--no-source-map', 135 '--no-source-map',
138 '--no-summarize', 136 '--no-summarize',
139 '--summary-extension=api.ds', 137 '--summary-extension=api.ds',
140 '-s', 138 '-s',
141 greetingSummary.path, 139 greetingSummary.path,
142 '-o', 140 '-o',
143 helloJS.path, 141 helloJS.path,
144 helloDart.path, 142 helloDart.path,
145 ]); 143 ]);
146 expect(result.exitCode, EXIT_CODE_OK); 144 expect(result.exitCode, EXIT_CODE_OK);
(...skipping 17 matching lines...) Expand all
164 expect(result.exitCode, 64); 162 expect(result.exitCode, 64);
165 expect( 163 expect(
166 result.stdout, contains('Please include the output file location.')); 164 result.stdout, contains('Please include the output file location.'));
167 expect(result.stdout, isNot(contains('#0'))); 165 expect(result.stdout, isNot(contains('#0')));
168 }); 166 });
169 167
170 test('compile errors', () { 168 test('compile errors', () {
171 badFileDart.writeAsStringSync('main() => "hello world"'); 169 badFileDart.writeAsStringSync('main() => "hello world"');
172 var result = Process.runSync('dart', [ 170 var result = Process.runSync('dart', [
173 'bin/dartdevc.dart', 171 'bin/dartdevc.dart',
174 'compile',
175 '--no-source-map', 172 '--no-source-map',
176 '-o', 173 '-o',
177 badFileJs.path, 174 badFileJs.path,
178 badFileDart.path, 175 badFileDart.path,
179 ]); 176 ]);
180 expect(result.exitCode, 1); 177 expect(result.exitCode, 1);
181 expect(result.stdout, contains("[error] Expected to find ';'")); 178 expect(result.stdout, contains("[error] Expected to find ';'"));
182 }); 179 });
183 }); 180 });
184 181
(...skipping 13 matching lines...) Expand all
198 195
199 tearDown(() { 196 tearDown(() {
200 if (partFile.existsSync()) partFile.deleteSync(); 197 if (partFile.existsSync()) partFile.deleteSync();
201 if (libraryFile.existsSync()) libraryFile.deleteSync(); 198 if (libraryFile.existsSync()) libraryFile.deleteSync();
202 if (outJS.existsSync()) outJS.deleteSync(); 199 if (outJS.existsSync()) outJS.deleteSync();
203 }); 200 });
204 201
205 test('works if part and library supplied', () { 202 test('works if part and library supplied', () {
206 var result = Process.runSync('dart', [ 203 var result = Process.runSync('dart', [
207 'bin/dartdevc.dart', 204 'bin/dartdevc.dart',
208 'compile',
209 '--no-summarize', 205 '--no-summarize',
210 '--no-source-map', 206 '--no-source-map',
211 '-o', 207 '-o',
212 outJS.path, 208 outJS.path,
213 partFile.path, 209 partFile.path,
214 libraryFile.path, 210 libraryFile.path,
215 ]); 211 ]);
216 expect(result.stdout, isEmpty); 212 expect(result.stdout, isEmpty);
217 expect(result.stderr, isEmpty); 213 expect(result.stderr, isEmpty);
218 expect(result.exitCode, 0); 214 expect(result.exitCode, 0);
219 expect(outJS.existsSync(), isTrue); 215 expect(outJS.existsSync(), isTrue);
220 }); 216 });
221 217
222 test('works if part is not supplied', () { 218 test('works if part is not supplied', () {
223 var result = Process.runSync('dart', [ 219 var result = Process.runSync('dart', [
224 'bin/dartdevc.dart', 220 'bin/dartdevc.dart',
225 'compile',
226 '--no-summarize', 221 '--no-summarize',
227 '--no-source-map', 222 '--no-source-map',
228 '-o', 223 '-o',
229 outJS.path, 224 outJS.path,
230 libraryFile.path, 225 libraryFile.path,
231 ]); 226 ]);
232 expect(result.stdout, isEmpty); 227 expect(result.stdout, isEmpty);
233 expect(result.stderr, isEmpty); 228 expect(result.stderr, isEmpty);
234 expect(result.exitCode, 0); 229 expect(result.exitCode, 0);
235 expect(outJS.existsSync(), isTrue); 230 expect(outJS.existsSync(), isTrue);
236 }); 231 });
237 232
238 test('part without library is silently ignored', () { 233 test('part without library is silently ignored', () {
239 var result = Process.runSync('dart', [ 234 var result = Process.runSync('dart', [
240 'bin/dartdevc.dart', 235 'bin/dartdevc.dart',
241 'compile',
242 '--no-summarize', 236 '--no-summarize',
243 '--no-source-map', 237 '--no-source-map',
244 '-o', 238 '-o',
245 outJS.path, 239 outJS.path,
246 partFile.path, 240 partFile.path,
247 ]); 241 ]);
248 expect(result.stdout, isEmpty); 242 expect(result.stdout, isEmpty);
249 expect(result.stderr, isEmpty); 243 expect(result.stderr, isEmpty);
250 expect(result.exitCode, 0); 244 expect(result.exitCode, 0);
251 expect(outJS.existsSync(), isTrue); 245 expect(outJS.existsSync(), isTrue);
252 }); 246 });
253 }); 247 });
254 } 248 }
255 249
256 Future<WorkResponse> _readResponse(MessageGrouper messageGrouper) async { 250 Future<WorkResponse> _readResponse(MessageGrouper messageGrouper) async {
257 var buffer = (await messageGrouper.next) as List<int>; 251 var buffer = (await messageGrouper.next) as List<int>;
258 try { 252 try {
259 return new WorkResponse.fromBuffer(buffer); 253 return new WorkResponse.fromBuffer(buffer);
260 } catch (_) { 254 } catch (_) {
261 var bufferAsString = 255 var bufferAsString =
262 buffer == null ? '' : 'String: ${UTF8.decode(buffer)}\n'; 256 buffer == null ? '' : 'String: ${UTF8.decode(buffer)}\n';
263 throw 'Failed to parse response:\nbytes: $buffer\n$bufferAsString'; 257 throw 'Failed to parse response:\nbytes: $buffer\n$bufferAsString';
264 } 258 }
265 } 259 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698