blob: 547e4d0fe5041bdd758fd194b80388810caca53d [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/**
* Tool for running co19 tests. Used when updating co19.
*
* Currently, this tool is merely a convenience around multiple
* invocations of test.dart. Long term, we hope to evolve this into a
* script that can automate most of the tasks necessary when updating
* co19.
*
* Usage:
* [: ./tools/testing/bin/$OS/dart tools/testing/dart/co19_test.dart :]
*/
library co19_test;
import "dart:io";
import "test_runner.dart";
import "test_options.dart";
import "test_suite.dart";
import "test_progress.dart";
import "../../test.dart" as test_dart;
import "../../../tests/co19/test_config.dart";
const List<String> COMMON_ARGUMENTS = const <String>['--report'];
const List<List<String>> COMMAND_LINES = const <List<String>>[
const <String>['-mrelease,debug', '-rvm', '-cnone'],
const <String>['-mrelease,debug', '-rvm', '-cnone', '--checked'],
const <String>['-mrelease', '-rnone', '-cdartanalyzer'],
const <String>['-mrelease', '-rvm', '-cdart2dart'],
const <String>['-mrelease', '-rd8,jsshell', '-cdart2js', '--use-sdk'],
const <String>['-mrelease', '-rd8', '-cdart2js', '--use-sdk', '--checked']];
void main() {
Options options = new Options();
File scriptFile = new File(options.script);
Path scriptPath =
new Path(scriptFile.fullPathSync())
.directoryPath.directoryPath.directoryPath.append('test.dart');
TestUtils.testScriptPath = scriptPath.toNativePath();
var optionsParser = new TestOptionsParser();
List<Map> configurations = <Map>[];
for (var commandLine in COMMAND_LINES) {
List arguments = <String>[];
arguments.addAll(COMMON_ARGUMENTS);
arguments.addAll(options.arguments);
arguments.addAll(commandLine);
arguments.add('co19');
arguments.add('--progress=diff');
configurations.addAll(optionsParser.parse(arguments));
}
if (configurations != null || configurations.length > 0) {
test_dart.testConfigurations(configurations);
}
}