OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 analyzer_cli.test.driver; | 5 library analyzer_cli.test.driver; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:io'; | 8 import 'dart:io'; |
9 | 9 |
10 import 'package:analyzer/error/error.dart'; | 10 import 'package:analyzer/error/error.dart'; |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 await drive('data/NO_DART_FILE_HERE.dart'); | 104 await drive('data/NO_DART_FILE_HERE.dart'); |
105 expect(exitCode, 3); | 105 expect(exitCode, 3); |
106 }); | 106 }); |
107 | 107 |
108 test('part file', () async { | 108 test('part file', () async { |
109 await drive('data/library_and_parts/part2.dart'); | 109 await drive('data/library_and_parts/part2.dart'); |
110 expect(exitCode, 3); | 110 expect(exitCode, 3); |
111 }); | 111 }); |
112 | 112 |
113 test('non-dangling part file', () async { | 113 test('non-dangling part file', () async { |
114 Driver driver = new Driver(); | 114 Driver driver = new Driver(isTesting: true); |
115 await driver.start([ | 115 await driver.start([ |
116 path.join(testDirectory, 'data/library_and_parts/lib.dart'), | 116 path.join(testDirectory, 'data/library_and_parts/lib.dart'), |
117 path.join(testDirectory, 'data/library_and_parts/part1.dart') | 117 path.join(testDirectory, 'data/library_and_parts/part1.dart') |
118 ]); | 118 ]); |
119 expect(exitCode, 0); | 119 expect(exitCode, 0); |
120 }); | 120 }); |
121 | 121 |
122 test('extra part file', () async { | 122 test('extra part file', () async { |
123 Driver driver = new Driver(); | 123 Driver driver = new Driver(isTesting: true); |
124 await driver.start([ | 124 await driver.start([ |
125 path.join(testDirectory, 'data/library_and_parts/lib.dart'), | 125 path.join(testDirectory, 'data/library_and_parts/lib.dart'), |
126 path.join(testDirectory, 'data/library_and_parts/part1.dart'), | 126 path.join(testDirectory, 'data/library_and_parts/part1.dart'), |
127 path.join(testDirectory, 'data/library_and_parts/part2.dart') | 127 path.join(testDirectory, 'data/library_and_parts/part2.dart') |
128 ]); | 128 ]); |
129 expect(exitCode, 3); | 129 expect(exitCode, 3); |
130 }); | 130 }); |
131 | 131 |
132 test('bazel workspace relative path', () async { | 132 test('bazel workspace relative path', () async { |
133 // Copy to temp dir so that existing analysis options | 133 // Copy to temp dir so that existing analysis options |
134 // in the test directory hierarchy do not interfere | 134 // in the test directory hierarchy do not interfere |
135 await withTempDirAsync((String tempDirPath) async { | 135 await withTempDirAsync((String tempDirPath) async { |
136 String dartSdkPath = path.absolute(getSdkPath()); | 136 String dartSdkPath = path.absolute(getSdkPath()); |
137 await recursiveCopy( | 137 await recursiveCopy( |
138 new Directory(path.join(testDirectory, 'data', 'bazel')), | 138 new Directory(path.join(testDirectory, 'data', 'bazel')), |
139 tempDirPath); | 139 tempDirPath); |
140 Directory origWorkingDir = Directory.current; | 140 Directory origWorkingDir = Directory.current; |
141 try { | 141 try { |
142 Directory.current = path.join(tempDirPath, 'proj'); | 142 Directory.current = path.join(tempDirPath, 'proj'); |
143 Driver driver = new Driver(); | 143 Driver driver = new Driver(isTesting: true); |
144 try { | 144 try { |
145 await driver.start([ | 145 await driver.start([ |
146 path.join('lib', 'file.dart'), | 146 path.join('lib', 'file.dart'), |
147 '--dart-sdk', | 147 '--dart-sdk', |
148 dartSdkPath, | 148 dartSdkPath, |
149 ]); | 149 ]); |
150 } catch (e) { | 150 } catch (e) { |
151 print('=== debug info ==='); | 151 print('=== debug info ==='); |
152 print('dartSdkPath: $dartSdkPath'); | 152 print('dartSdkPath: $dartSdkPath'); |
153 print('stderr:\n${errorSink.toString()}'); | 153 print('stderr:\n${errorSink.toString()}'); |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
544 return '$uriPrefix${path.join(testDirectory, relativePath)}'; | 544 return '$uriPrefix${path.join(testDirectory, relativePath)}'; |
545 } | 545 } |
546 | 546 |
547 /// Start a driver for the given [source], optionally providing additional | 547 /// Start a driver for the given [source], optionally providing additional |
548 /// [args] and an [options] file path. The value of [options] defaults to | 548 /// [args] and an [options] file path. The value of [options] defaults to |
549 /// an empty options file to avoid unwanted configuration from an otherwise | 549 /// an empty options file to avoid unwanted configuration from an otherwise |
550 /// discovered options file. | 550 /// discovered options file. |
551 Future<Null> drive(String source, | 551 Future<Null> drive(String source, |
552 {String options: emptyOptionsFile, | 552 {String options: emptyOptionsFile, |
553 List<String> args: const <String>[]}) async { | 553 List<String> args: const <String>[]}) async { |
554 driver = new Driver(); | 554 driver = new Driver(isTesting: true); |
555 var cmd = [ | 555 var cmd = [ |
556 '--options', | 556 '--options', |
557 path.join(testDirectory, options), | 557 path.join(testDirectory, options), |
558 adjustFileSpec(source) | 558 adjustFileSpec(source) |
559 ]..addAll(args); | 559 ]..addAll(args); |
560 await driver.start(cmd); | 560 await driver.start(cmd); |
561 } | 561 } |
562 | 562 |
563 /// Try to find a appropriate directory to pass to "--dart-sdk" that will | 563 /// Try to find a appropriate directory to pass to "--dart-sdk" that will |
564 /// allow summaries to be found. | 564 /// allow summaries to be found. |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
612 | 612 |
613 /// Normalize text with bullets. | 613 /// Normalize text with bullets. |
614 String _bulletToDash(item) => '$item'.replaceAll('•', '-'); | 614 String _bulletToDash(item) => '$item'.replaceAll('•', '-'); |
615 | 615 |
616 class TestSource implements Source { | 616 class TestSource implements Source { |
617 TestSource(); | 617 TestSource(); |
618 | 618 |
619 @override | 619 @override |
620 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 620 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
621 } | 621 } |
OLD | NEW |