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

Unified Diff: pkg/analyzer_cli/test/driver_test.dart

Issue 1516353003: Make `analyzer_cli` tests bot-friendly (#25001). (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer_cli/test/all.dart ('k') | pkg/analyzer_cli/test/sdk_ext_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer_cli/test/driver_test.dart
diff --git a/pkg/analyzer_cli/test/driver_test.dart b/pkg/analyzer_cli/test/driver_test.dart
index e6bd81224131387dcb63218e4be07d50ee78cc5f..45d15291be472db0ddaa80edd2a63e1162ea45c6 100644
--- a/pkg/analyzer_cli/test/driver_test.dart
+++ b/pkg/analyzer_cli/test/driver_test.dart
@@ -21,37 +21,10 @@ import 'package:plugin/plugin.dart';
import 'package:unittest/unittest.dart';
import 'package:yaml/src/yaml_node.dart';
-// TODO(pq): fix tests to run safely on the bots
-// https://github.com/dart-lang/sdk/issues/25001
-main() {}
-const emptyOptionsFile = 'test/data/empty_options.yaml';
-
-/// Start a driver for the given [source], optionally providing additional
-/// [args] and an [options] file path. The value of [options] defaults to
-/// an empty options file to avoid unwanted configuration from an otherwise
-/// discovered options file.
-void drive(String source,
- {String options: emptyOptionsFile,
- List<String> args: const <String>[]}) =>
- new Driver().start(['--options', options, source]..addAll(args));
+import 'utils.dart';
-not_main() {
+main() {
group('Driver', () {
- StringSink savedOutSink, savedErrorSink;
- int savedExitCode;
- setUp(() {
- savedOutSink = outSink;
- savedErrorSink = errorSink;
- savedExitCode = exitCode;
- outSink = new StringBuffer();
- errorSink = new StringBuffer();
- });
- tearDown(() {
- outSink = savedOutSink;
- errorSink = savedErrorSink;
- exitCode = savedExitCode;
- });
-
group('options', () {
test('custom processor', () {
Driver driver = new Driver();
@@ -59,14 +32,15 @@ not_main() {
driver.userDefinedPlugins = [new TestPlugin(processor)];
driver.start([
'--options',
- 'test/data/test_options.yaml',
- 'test/data/test_file.dart'
+ path.join(testDirectory, 'data/test_options.yaml'),
+ path.join(testDirectory, 'data/test_file.dart')
]);
expect(processor.options['test_plugin'], isNotNull);
expect(processor.exception, isNull);
});
});
+ //TODO(pq): refactor to NOT set actual error codes to play nice with bots
group('exit codes', () {
StringSink savedOutSink, savedErrorSink;
int savedExitCode;
@@ -88,50 +62,50 @@ not_main() {
});
test('fatal hints', () {
- drive('test/data/file_with_hint.dart', args: ['--fatal-hints']);
+ drive('data/file_with_hint.dart', args: ['--fatal-hints']);
expect(exitCode, 3);
});
test('not fatal hints', () {
- drive('test/data/file_with_hint.dart');
+ drive('data/file_with_hint.dart');
expect(exitCode, 0);
});
test('fatal errors', () {
- drive('test/data/file_with_error.dart');
+ drive('data/file_with_error.dart');
expect(exitCode, 3);
});
test('not fatal warnings', () {
- drive('test/data/file_with_warning.dart');
+ drive('data/file_with_warning.dart');
expect(exitCode, 0);
});
test('fatal warnings', () {
- drive('test/data/file_with_warning.dart', args: ['--fatal-warnings']);
+ drive('data/file_with_warning.dart', args: ['--fatal-warnings']);
expect(exitCode, 3);
});
test('missing options file', () {
- drive('test/data/test_file.dart', options: 'test/data/NO_OPTIONS_HERE');
+ drive('data/test_file.dart', options: 'data/NO_OPTIONS_HERE');
expect(exitCode, 3);
});
test('missing dart file', () {
- drive('test/data/NO_DART_FILE_HERE.dart');
+ drive('data/NO_DART_FILE_HERE.dart');
expect(exitCode, 3);
});
test('part file', () {
- drive('test/data/library_and_parts/part2.dart');
+ drive('data/library_and_parts/part2.dart');
expect(exitCode, 3);
});
test('non-dangling part file', () {
Driver driver = new Driver();
driver.start([
- 'test/data/library_and_parts/lib.dart',
- 'test/data/library_and_parts/part1.dart',
+ path.join(testDirectory, 'data/library_and_parts/lib.dart'),
+ path.join(testDirectory, 'data/library_and_parts/part1.dart')
]);
expect(exitCode, 0);
});
@@ -139,9 +113,9 @@ not_main() {
test('extra part file', () {
Driver driver = new Driver();
driver.start([
- 'test/data/library_and_parts/lib.dart',
- 'test/data/library_and_parts/part1.dart',
- 'test/data/library_and_parts/part2.dart',
+ path.join(testDirectory, 'data/library_and_parts/lib.dart'),
+ path.join(testDirectory, 'data/library_and_parts/part1.dart'),
+ path.join(testDirectory, 'data/library_and_parts/part2.dart')
]);
expect(exitCode, 3);
});
@@ -150,20 +124,16 @@ not_main() {
group('linter', () {
group('lints in options', () {
StringSink savedOutSink;
- Driver driver;
setUp(() {
savedOutSink = outSink;
outSink = new StringBuffer();
- driver = new Driver();
- driver.start([
- '--options',
- 'test/data/linter_project/.analysis_options',
- '--lints',
- 'test/data/linter_project/test_file.dart'
- ]);
+ drive('data/linter_project/test_file.dart',
+ options: 'data/linter_project/.analysis_options',
+ args: ['--lints']);
});
+
tearDown(() {
outSink = savedOutSink;
});
@@ -185,19 +155,14 @@ not_main() {
group('default lints', () {
StringSink savedOutSink;
- Driver driver;
setUp(() {
savedOutSink = outSink;
outSink = new StringBuffer();
- driver = new Driver();
- driver.start([
- '--lints',
- 'test/data/linter_project/test_file.dart',
- '--options',
- 'test/data/linter_project/.analysis_options'
- ]);
+ drive('data/linter_project/test_file.dart',
+ options: 'data/linter_project/.analysis_options',
+ args: ['--lints']);
});
tearDown(() {
outSink = savedOutSink;
@@ -220,18 +185,13 @@ not_main() {
group('no `--lints` flag (none in options)', () {
StringSink savedOutSink;
- Driver driver;
setUp(() {
savedOutSink = outSink;
outSink = new StringBuffer();
- driver = new Driver();
- driver.start([
- 'test/data/no_lints_project/test_file.dart',
- '--options',
- 'test/data/no_lints_project/.analysis_options'
- ]);
+ drive('data/no_lints_project/test_file.dart',
+ options: 'data/no_lints_project/.analysis_options');
});
tearDown(() {
outSink = savedOutSink;
@@ -279,18 +239,13 @@ linter:
group('options processing', () {
group('error filters', () {
StringSink savedOutSink;
- Driver driver;
setUp(() {
savedOutSink = outSink;
outSink = new StringBuffer();
- driver = new Driver();
- driver.start([
- 'test/data/options_tests_project/test_file.dart',
- '--options',
- 'test/data/options_tests_project/.analysis_options'
- ]);
+ drive('data/options_tests_project/test_file.dart',
+ options: 'data/options_tests_project/.analysis_options');
});
tearDown(() {
outSink = savedOutSink;
@@ -398,8 +353,8 @@ main() {}
BootLoader loader = new BootLoader();
loader.createImage([
'--options',
- 'test/data/bad_plugin_options.yaml',
- 'test/data/test_file.dart'
+ path.join(testDirectory, 'data/bad_plugin_options.yaml'),
+ path.join(testDirectory, 'data/test_file.dart')
]);
expect(
errorSink.toString(),
@@ -411,8 +366,8 @@ main() {}
BootLoader loader = new BootLoader();
Image image = loader.createImage([
'--options',
- 'test/data/plugin_options.yaml',
- 'test/data/test_file.dart'
+ path.join(testDirectory, 'data/plugin_options.yaml'),
+ path.join(testDirectory, 'data/test_file.dart')
]);
var plugins = image.config.plugins;
expect(plugins, hasLength(1));
@@ -444,6 +399,26 @@ main() {}
});
}
+const emptyOptionsFile = 'data/empty_options.yaml';
+
+/// Shared driver.
+Driver driver;
+
+/// Start a driver for the given [source], optionally providing additional
+/// [args] and an [options] file path. The value of [options] defaults to
+/// an empty options file to avoid unwanted configuration from an otherwise
+/// discovered options file.
+void drive(String source,
+ {String options: emptyOptionsFile, List<String> args: const <String>[]}) {
+ driver = new Driver();
+ var cmd = [
+ '--options',
+ path.join(testDirectory, options),
+ path.join(testDirectory, source)
+ ]..addAll(args);
+ driver.start(cmd);
+}
+
Map<String, YamlNode> parseOptions(String src) =>
new AnalysisOptionsProvider().getOptionsFromString(src);
« no previous file with comments | « pkg/analyzer_cli/test/all.dart ('k') | pkg/analyzer_cli/test/sdk_ext_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698