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

Side by Side Diff: pkg/analyzer_cli/test/embedder_test.dart

Issue 2658863002: Run analyzer_cli asynchronously. (Closed)
Patch Set: Created 3 years, 10 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_cli/test/driver_test.dart ('k') | pkg/analyzer_cli/test/package_prefix_test.dart » ('j') | 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 import 'dart:io'; 5 import 'dart:io';
6 6
7 import 'package:analyzer/src/dart/sdk/sdk.dart'; 7 import 'package:analyzer/src/dart/sdk/sdk.dart';
8 import 'package:analyzer/src/generated/sdk.dart'; 8 import 'package:analyzer/src/generated/sdk.dart';
9 import 'package:analyzer_cli/src/driver.dart' show Driver, errorSink, outSink; 9 import 'package:analyzer_cli/src/driver.dart' show Driver, errorSink, outSink;
10 import 'package:path/path.dart' as path; 10 import 'package:path/path.dart' as path;
11 import 'package:test/test.dart'; 11 import 'package:test/test.dart';
12 12
13 import 'utils.dart'; 13 import 'utils.dart';
14 14
15 main() { 15 main() {
16 group('_embedder.yaml', () { 16 group('_embedder.yaml', () {
17 StringSink savedOutSink, savedErrorSink; 17 StringSink savedOutSink, savedErrorSink;
18 int savedExitCode; 18 int savedExitCode;
19 19
20 setUp(() { 20 setUp(() {
21 savedOutSink = outSink; 21 savedOutSink = outSink;
22 savedErrorSink = errorSink; 22 savedErrorSink = errorSink;
23 savedExitCode = exitCode; 23 savedExitCode = exitCode;
24 outSink = new StringBuffer(); 24 outSink = new StringBuffer();
25 errorSink = new StringBuffer(); 25 errorSink = new StringBuffer();
26 }); 26 });
27
27 tearDown(() { 28 tearDown(() {
28 outSink = savedOutSink; 29 outSink = savedOutSink;
29 errorSink = savedErrorSink; 30 errorSink = savedErrorSink;
30 exitCode = savedExitCode; 31 exitCode = savedExitCode;
31 }); 32 });
32 33
33 test('resolution', wrap(() { 34 test('resolution', wrap(() async {
34 var testDir = path.join(testDirectory, 'data', 'embedder_client'); 35 var testDir = path.join(testDirectory, 'data', 'embedder_client');
35 new Driver().start([ 36 await new Driver().start([
36 '--packages', 37 '--packages',
37 path.join(testDir, '_packages'), 38 path.join(testDir, '_packages'),
38 path.join(testDir, 'embedder_yaml_user.dart') 39 path.join(testDir, 'embedder_yaml_user.dart')
39 ]); 40 ]);
40 41
41 expect(exitCode, 0); 42 expect(exitCode, 0);
42 expect(outSink.toString(), contains('No issues found')); 43 expect(outSink.toString(), contains('No issues found'));
43 })); 44 }));
44 45
45 test('sdk setup', wrap(() { 46 test('sdk setup', wrap(() async {
46 var testDir = path.join(testDirectory, 'data', 'embedder_client'); 47 var testDir = path.join(testDirectory, 'data', 'embedder_client');
47 Driver driver = new Driver(); 48 Driver driver = new Driver();
48 driver.start([ 49 await driver.start([
49 '--packages', 50 '--packages',
50 path.join(testDir, '_packages'), 51 path.join(testDir, '_packages'),
51 path.join(testDir, 'embedder_yaml_user.dart') 52 path.join(testDir, 'embedder_yaml_user.dart')
52 ]); 53 ]);
53 54
54 DartSdk sdk = driver.sdk; 55 DartSdk sdk = driver.sdk;
55 expect(sdk, new isInstanceOf<FolderBasedDartSdk>()); 56 expect(sdk, new isInstanceOf<FolderBasedDartSdk>());
56 expect((sdk as FolderBasedDartSdk).useSummary, isFalse); 57 expect((sdk as FolderBasedDartSdk).useSummary, isFalse);
57 })); 58 }));
58 }); 59 });
59 } 60 }
60 61
61 /// Wrap a function call to dump stdout and stderr in case of an exception. 62 /// Wrap a function call to dump stdout and stderr in case of an exception.
62 Function wrap(Function f) { 63 Function wrap(Function f) {
63 return () { 64 return () async {
64 try { 65 try {
65 f(); 66 await f();
66 } catch (e) { 67 } catch (e) {
67 if (outSink.toString().isNotEmpty) { 68 if (outSink.toString().isNotEmpty) {
68 print('stdout:'); 69 print('stdout:');
69 print(outSink); 70 print(outSink);
70 } 71 }
71 if (errorSink.toString().isNotEmpty) { 72 if (errorSink.toString().isNotEmpty) {
72 print('stderr:'); 73 print('stderr:');
73 print(errorSink); 74 print(errorSink);
74 } 75 }
75 throw e; 76 throw e;
76 } 77 }
77 }; 78 };
78 } 79 }
OLDNEW
« no previous file with comments | « pkg/analyzer_cli/test/driver_test.dart ('k') | pkg/analyzer_cli/test/package_prefix_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698