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); |
-} |