| Index: test-runtime.dart
|
| ===================================================================
|
| --- test-runtime.dart (revision 19940)
|
| +++ test-runtime.dart (working copy)
|
| @@ -1,142 +0,0 @@
|
| -#!/usr/bin/env dart
|
| -// 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.
|
| -
|
| -// TODO(ager): Get rid of this version of test.dart when we don't have
|
| -// to worry about the special runtime checkout anymore.
|
| -// This file is identical to test.dart with test suites in the
|
| -// directories samples, client, compiler, and utils removed.
|
| -
|
| -#library("test");
|
| -
|
| -#import("dart:io");
|
| -#import("testing/dart/test_runner.dart");
|
| -#import("testing/dart/test_options.dart");
|
| -#import("testing/dart/test_suite.dart");
|
| -#import("testing/dart/http_server.dart");
|
| -#import("testing/dart/utils.dart");
|
| -
|
| -#import("../tests/co19/test_config.dart");
|
| -#import("../runtime/tests/vm/test_config.dart");
|
| -
|
| -/**
|
| - * The directories that contain test suites which follow the conventions
|
| - * required by [StandardTestSuite]'s forDirectory constructor.
|
| - * New test suites should follow this convention because it makes it much
|
| - * simpler to add them to test.dart. Existing test suites should be
|
| - * moved to here, if possible.
|
| -*/
|
| -final TEST_SUITE_DIRECTORIES = [
|
| - new Path('runtime/tests/vm'),
|
| - new Path('tests/corelib'),
|
| - new Path('tests/isolate'),
|
| - new Path('tests/language'),
|
| - new Path('tests/lib'),
|
| - new Path('tests/standalone'),
|
| - new Path('tests/utils'),
|
| -];
|
| -
|
| -main() {
|
| - var startTime = new Date.now();
|
| - var optionsParser = new TestOptionsParser();
|
| - List<Map> configurations = optionsParser.parse(new Options().arguments);
|
| - if (configurations == null) return;
|
| -
|
| - // Extract global options from first configuration.
|
| - var firstConf = configurations[0];
|
| - Map<String, RegExp> selectors = firstConf['selectors'];
|
| - var maxProcesses = firstConf['tasks'];
|
| - var progressIndicator = firstConf['progress'];
|
| - var verbose = firstConf['verbose'];
|
| - var printTiming = firstConf['time'];
|
| - var listTests = firstConf['list'];
|
| -
|
| - if (!firstConf['append_logs']) {
|
| - var file = new File(TestUtils.flakyFileName());
|
| - if (file.existsSync()) {
|
| - file.deleteSync();
|
| - }
|
| - }
|
| - // Print the configurations being run by this execution of
|
| - // test.dart. However, don't do it if the silent progress indicator
|
| - // is used. This is only needed because of the junit tests.
|
| - if (progressIndicator != 'silent') {
|
| - List output_words = configurations.length > 1 ?
|
| - ['Test configurations:'] : ['Test configuration:'];
|
| - for (Map conf in configurations) {
|
| - List settings = ['compiler', 'runtime', 'mode', 'arch']
|
| - .mappedBy((name) => conf[name]).toList();
|
| - if (conf['checked']) settings.add('checked');
|
| - output_words.add(settings.join('_'));
|
| - }
|
| - print(output_words.join(' '));
|
| - }
|
| -
|
| - var testSuites = new List<TestSuite>();
|
| - for (var conf in configurations) {
|
| - if (selectors.containsKey('co19')) {
|
| - testSuites.add(new Co19TestSuite(conf));
|
| - }
|
| -
|
| - if (conf['runtime'] == 'vm' && selectors.containsKey('vm')) {
|
| - // vm tests contain both cc tests (added here) and dart tests (added in
|
| - // [TEST_SUITE_DIRECTORIES]).
|
| - testSuites.add(new VMTestSuite(conf));
|
| - }
|
| -
|
| - for (final testSuiteDir in TEST_SUITE_DIRECTORIES) {
|
| - final name = testSuiteDir.filename;
|
| - if (selectors.containsKey(name)) {
|
| - testSuites.add(new StandardTestSuite.forDirectory(conf, testSuiteDir));
|
| - }
|
| - }
|
| - }
|
| -
|
| - void allTestsFinished() {
|
| - DebugLogger.close();
|
| - }
|
| -
|
| - var maxBrowserProcesses = maxProcesses;
|
| -
|
| - var eventListener = [];
|
| - if (progressIndicator != 'silent') {
|
| - var printFailures = true;
|
| - var formatter = new Formatter();
|
| - if (progressIndicator == 'color') {
|
| - progressIndicator = 'compact';
|
| - formatter = new ColorFormatter();
|
| - }
|
| - if (progressIndicator == 'diff') {
|
| - progressIndicator = 'compact';
|
| - formatter = new ColorFormatter();
|
| - printFailures = false;
|
| - eventListener.add(new StatusFileUpdatePrinter());
|
| - }
|
| - eventListener.add(new SummaryPrinter());
|
| - eventListener.add(new FlakyLogWriter());
|
| - if (printFailures) {
|
| - eventListener.add(new TestFailurePrinter(formatter));
|
| - }
|
| - eventListener.add(new ProgressIndicator.fromName(progressIndicator,
|
| - startTime,
|
| - formatter));
|
| - if (printTiming) {
|
| - eventListener.add(new TimingPrinter(startTime));
|
| - }
|
| - eventListener.add(new SkippedCompilationsPrinter());
|
| - eventListener.add(new LeftOverTempDirPrinter());
|
| - }
|
| - eventListener.add(new ExitCodeSetter());
|
| -
|
| - // Start process queue.
|
| - new ProcessQueue(
|
| - maxProcesses,
|
| - maxBrowserProcesses,
|
| - startTime,
|
| - testSuites,
|
| - eventListener,
|
| - allTestsFinished,
|
| - verbose,
|
| - listTests);
|
| -}
|
|
|