mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 14:32:24 +00:00
92cd3e10f5
BUG=https://github.com/dart-lang/sdk/issues/27412 R=johnmccutchan@google.com Review URL: https://codereview.chromium.org/2361813003 .
71 lines
2.4 KiB
Dart
Executable file
71 lines
2.4 KiB
Dart
Executable file
#!/usr/bin/env dart
|
|
// Copyright (c) 2013, 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.
|
|
|
|
/**
|
|
* This file is the entrypoint of the dart test suite. This suite is used
|
|
* to test:
|
|
*
|
|
* 1. the dart vm
|
|
* 2. the dart2js compiler
|
|
* 3. the static analyzer
|
|
* 4. the dart core library
|
|
* 5. other standard dart libraries (DOM bindings, ui libraries,
|
|
* io libraries etc.)
|
|
*
|
|
* This script is normally invoked by test.py. (test.py finds the dart vm
|
|
* and passses along all command line arguments to this script.)
|
|
*
|
|
* The command line args of this script are documented in
|
|
* "tools/testing/dart/test_options.dart"; they are printed
|
|
* when this script is run with "--help".
|
|
*
|
|
* The default test directory layout is documented in
|
|
* "tools/testing/dart/test_suite.dart", above
|
|
* "factory StandardTestSuite.forDirectory".
|
|
*/
|
|
|
|
library test;
|
|
|
|
import "dart:async";
|
|
import "dart:io";
|
|
import "testing/dart/test_configurations.dart";
|
|
import "testing/dart/test_options.dart";
|
|
import "testing/dart/test_progress.dart";
|
|
import "testing/dart/test_suite.dart";
|
|
import "testing/dart/utils.dart";
|
|
|
|
Future _deleteTemporaryDartDirectories() {
|
|
var completer = new Completer();
|
|
var environment = Platform.environment;
|
|
if (environment['DART_TESTING_DELETE_TEMPORARY_DIRECTORIES'] == '1') {
|
|
LeftOverTempDirPrinter.getLeftOverTemporaryDirectories().listen(
|
|
(FileSystemEntity tempEntity) {
|
|
Directory tempDirectory = tempEntity as Directory;
|
|
try {
|
|
tempDirectory.deleteSync(recursive: true);
|
|
} catch (error) {
|
|
DebugLogger.error(error);
|
|
}
|
|
}, onDone: completer.complete);
|
|
} else {
|
|
completer.complete();
|
|
}
|
|
return completer.future;
|
|
}
|
|
|
|
void main(List<String> arguments) {
|
|
// This script is in [sdk]/tools.
|
|
TestUtils.setDartDirUri(Platform.script.resolve('..'));
|
|
_deleteTemporaryDartDirectories().then((_) {
|
|
var optionsParser = new TestOptionsParser();
|
|
var configurations = optionsParser.parse(arguments);
|
|
if (configurations != null && configurations.length > 0) {
|
|
// All the testing is carried out asynchronously in tasks created by this
|
|
// call.
|
|
// TODO(26372): Ensure that all tasks complete before the returned future.
|
|
testConfigurations(configurations);
|
|
}
|
|
});
|
|
}
|