mirror of
https://github.com/dart-lang/sdk
synced 2024-09-05 16:41:07 +00:00
Add ./tools/test.py -c precompiler -r dart_precompiled.
- Make --gen/run-precompiled-snapshot take a directory to use for the snapshot pieces. - Throw on Platform.executeable to prevent tests from becoming fork-bombs. - Update status files so 'dart_precompiled' is generally expected to behave the same as 'vm'. Currently multitests will fail unless run with --jobs=1 because the test harness assigns them the same temporary directory. Running this also requires a great deal of space. My out directory is 380G. BUG=http://dartbug.com/24975 R=fschneider@google.com, srdjan@google.com Review URL: https://codereview.chromium.org/1507943002 .
This commit is contained in:
parent
f1ea359020
commit
6b964b83ac
|
@ -71,6 +71,12 @@ static bool has_gen_precompiled_snapshot = false;
|
|||
static bool has_run_precompiled_snapshot = false;
|
||||
|
||||
|
||||
// Value of the --gen/run_precompiled_snapshot flag.
|
||||
// (This pointer points into an argv buffer and does not need to be
|
||||
// free'd.)
|
||||
static const char* precompiled_snapshot_directory = NULL;
|
||||
|
||||
|
||||
// Global flag that is used to indicate that we want to compile everything in
|
||||
// the same way as precompilation before main, then continue running in the
|
||||
// same process.
|
||||
|
@ -304,16 +310,18 @@ static bool ProcessCompileAllOption(const char* arg,
|
|||
static bool ProcessGenPrecompiledSnapshotOption(
|
||||
const char* arg,
|
||||
CommandLineOptions* vm_options) {
|
||||
ASSERT(arg != NULL);
|
||||
if (*arg != '\0') {
|
||||
return false;
|
||||
}
|
||||
// Ensure that we are not already running using a full snapshot.
|
||||
if (isolate_snapshot_buffer != NULL) {
|
||||
Log::PrintErr("Precompiled snapshots must be generated with"
|
||||
" dart_no_snapshot.\n");
|
||||
return false;
|
||||
}
|
||||
ASSERT(arg != NULL);
|
||||
if ((arg[0] == '=') || (arg[0] == ':')) {
|
||||
precompiled_snapshot_directory = &arg[1];
|
||||
} else {
|
||||
precompiled_snapshot_directory = arg;
|
||||
}
|
||||
has_gen_precompiled_snapshot = true;
|
||||
vm_options->AddArgument("--precompilation");
|
||||
return true;
|
||||
|
@ -324,8 +332,10 @@ static bool ProcessRunPrecompiledSnapshotOption(
|
|||
const char* arg,
|
||||
CommandLineOptions* vm_options) {
|
||||
ASSERT(arg != NULL);
|
||||
if (*arg != '\0') {
|
||||
return false;
|
||||
precompiled_snapshot_directory = arg;
|
||||
if ((precompiled_snapshot_directory[0] == '=') ||
|
||||
(precompiled_snapshot_directory[0] == ':')) {
|
||||
precompiled_snapshot_directory = &precompiled_snapshot_directory[1];
|
||||
}
|
||||
has_run_precompiled_snapshot = true;
|
||||
vm_options->AddArgument("--precompilation");
|
||||
|
@ -1009,34 +1019,67 @@ static void ServiceStreamCancelCallback(const char* stream_id) {
|
|||
}
|
||||
|
||||
|
||||
static void WriteSnapshotFile(const char* filename,
|
||||
const uint8_t* buffer,
|
||||
const intptr_t size) {
|
||||
File* file = File::Open(filename, File::kWriteTruncate);
|
||||
static void WritePrecompiledSnapshotFile(const char* filename,
|
||||
const uint8_t* buffer,
|
||||
const intptr_t size) {
|
||||
char* concat = NULL;
|
||||
const char* qualified_filename;
|
||||
if (strlen(precompiled_snapshot_directory) > 0) {
|
||||
intptr_t len = snprintf(NULL, 0, "%s/%s",
|
||||
precompiled_snapshot_directory, filename);
|
||||
concat = new char[len + 1];
|
||||
snprintf(concat, len + 1, "%s/%s",
|
||||
precompiled_snapshot_directory, filename);
|
||||
qualified_filename = concat;
|
||||
} else {
|
||||
qualified_filename = filename;
|
||||
}
|
||||
|
||||
File* file = File::Open(qualified_filename, File::kWriteTruncate);
|
||||
ASSERT(file != NULL);
|
||||
if (!file->WriteFully(buffer, size)) {
|
||||
ErrorExit(kErrorExitCode,
|
||||
"Unable to open file %s for writing snapshot\n",
|
||||
filename);
|
||||
qualified_filename);
|
||||
}
|
||||
delete file;
|
||||
if (concat != NULL) {
|
||||
delete concat;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void ReadSnapshotFile(const char* filename,
|
||||
const uint8_t** buffer) {
|
||||
void* file = DartUtils::OpenFile(filename, false);
|
||||
static void ReadPrecompiledSnapshotFile(const char* filename,
|
||||
const uint8_t** buffer) {
|
||||
char* concat = NULL;
|
||||
const char* qualified_filename;
|
||||
if (strlen(precompiled_snapshot_directory) > 0) {
|
||||
intptr_t len = snprintf(NULL, 0, "%s/%s",
|
||||
precompiled_snapshot_directory, filename);
|
||||
concat = new char[len + 1];
|
||||
snprintf(concat, len + 1, "%s/%s",
|
||||
precompiled_snapshot_directory, filename);
|
||||
qualified_filename = concat;
|
||||
} else {
|
||||
qualified_filename = filename;
|
||||
}
|
||||
|
||||
void* file = DartUtils::OpenFile(qualified_filename, false);
|
||||
if (file == NULL) {
|
||||
ErrorExit(kErrorExitCode,
|
||||
"Error: Unable to open file %s for reading snapshot\n", filename);
|
||||
"Error: Unable to open file %s for reading snapshot\n",
|
||||
qualified_filename);
|
||||
}
|
||||
intptr_t len = -1;
|
||||
DartUtils::ReadFile(buffer, &len, file);
|
||||
if (*buffer == NULL || len == -1) {
|
||||
ErrorExit(kErrorExitCode,
|
||||
"Error: Unable to read snapshot file %s\n", filename);
|
||||
"Error: Unable to read snapshot file %s\n", qualified_filename);
|
||||
}
|
||||
DartUtils::CloseFile(file);
|
||||
if (concat != NULL) {
|
||||
delete concat;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1215,15 +1258,15 @@ bool RunMainIsolate(const char* script_name,
|
|||
&instructions_buffer,
|
||||
&instructions_size);
|
||||
CHECK_RESULT(result);
|
||||
WriteSnapshotFile(kPrecompiledVmIsolateName,
|
||||
vm_isolate_buffer,
|
||||
vm_isolate_size);
|
||||
WriteSnapshotFile(kPrecompiledIsolateName,
|
||||
isolate_buffer,
|
||||
isolate_size);
|
||||
WriteSnapshotFile(kPrecompiledInstructionsName,
|
||||
instructions_buffer,
|
||||
instructions_size);
|
||||
WritePrecompiledSnapshotFile(kPrecompiledVmIsolateName,
|
||||
vm_isolate_buffer,
|
||||
vm_isolate_size);
|
||||
WritePrecompiledSnapshotFile(kPrecompiledIsolateName,
|
||||
isolate_buffer,
|
||||
isolate_size);
|
||||
WritePrecompiledSnapshotFile(kPrecompiledInstructionsName,
|
||||
instructions_buffer,
|
||||
instructions_size);
|
||||
} else {
|
||||
if (has_compile_all) {
|
||||
result = Dart_CompileAll();
|
||||
|
@ -1426,8 +1469,10 @@ void main(int argc, char** argv) {
|
|||
if (has_run_precompiled_snapshot) {
|
||||
instructions_snapshot = reinterpret_cast<const uint8_t*>(
|
||||
LoadLibrarySymbol(kPrecompiledLibraryName, kPrecompiledSymbolName));
|
||||
ReadSnapshotFile(kPrecompiledVmIsolateName, &vm_isolate_snapshot_buffer);
|
||||
ReadSnapshotFile(kPrecompiledIsolateName, &isolate_snapshot_buffer);
|
||||
ReadPrecompiledSnapshotFile(kPrecompiledVmIsolateName,
|
||||
&vm_isolate_snapshot_buffer);
|
||||
ReadPrecompiledSnapshotFile(kPrecompiledIsolateName,
|
||||
&isolate_snapshot_buffer);
|
||||
}
|
||||
|
||||
// Initialize the Dart VM.
|
||||
|
|
|
@ -45,12 +45,28 @@ void FUNCTION_NAME(Platform_LocalHostname)(Dart_NativeArguments args) {
|
|||
|
||||
void FUNCTION_NAME(Platform_ExecutableName)(Dart_NativeArguments args) {
|
||||
ASSERT(Platform::GetExecutableName() != NULL);
|
||||
if (Dart_IsRunningPrecompiledCode()) {
|
||||
// This is a work-around to be able to use most of the existing test suite
|
||||
// for precompilation. Many tests do something like Process.run(
|
||||
// Platform.executable, some_other_script.dart). But with precompilation
|
||||
// the script is already fixed, so the spawned process runs the same script
|
||||
// again and we have a fork-bomb.
|
||||
Dart_ThrowException(Dart_NewStringFromCString(
|
||||
"Platform.executable not supported under precompilation"));
|
||||
UNREACHABLE();
|
||||
}
|
||||
Dart_SetReturnValue(
|
||||
args, Dart_NewStringFromCString(Platform::GetExecutableName()));
|
||||
}
|
||||
|
||||
|
||||
void FUNCTION_NAME(Platform_ResolvedExecutableName)(Dart_NativeArguments args) {
|
||||
if (Dart_IsRunningPrecompiledCode()) {
|
||||
Dart_ThrowException(Dart_NewStringFromCString(
|
||||
"Platform.resolvedExecutable not supported under precompilation"));
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
||||
if (Platform::GetResolvedExecutableName() != NULL) {
|
||||
Dart_SetReturnValue(
|
||||
args, Dart_NewStringFromCString(Platform::GetResolvedExecutableName()));
|
||||
|
|
|
@ -2819,4 +2819,7 @@ DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshot(
|
|||
uint8_t** instructions_snapshot_buffer,
|
||||
intptr_t* instructions_snapshot_size);
|
||||
|
||||
|
||||
DART_EXPORT bool Dart_IsRunningPrecompiledCode();
|
||||
|
||||
#endif /* INCLUDE_DART_API_H_ */ /* NOLINT */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# 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.
|
||||
|
||||
[ $compiler == none && $runtime == vm ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
evaluate_activation_test/instance: RuntimeError # http://dartbug.com/20047
|
||||
evaluate_activation_test/scope: RuntimeError # http://dartbug.com/20047
|
||||
|
||||
|
@ -21,5 +21,5 @@ developer_extension_test: SkipByDesign
|
|||
[ $arch == arm ]
|
||||
process_service_test: Pass, Fail # Issue 24344
|
||||
|
||||
[ $noopt ]
|
||||
[ ($noopt || $compiler == precompiler) ]
|
||||
*: Skip # Issue 24651
|
|
@ -57,7 +57,7 @@ dart/inline_stack_frame_test: RuntimeError, Pass # Issue 7953
|
|||
# Data uri's not supported by dart2js or the analyzer.
|
||||
dart/data_uri*test: Skip
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
dart/data_uri_import_test/wrongmime: RuntimeError, OK # VM is more restrictive than the browser
|
||||
dart/data_uri_import_test/nomime: RuntimeError, OK
|
||||
dart/data_uri_import_test/nocharset: RuntimeError, OK
|
||||
|
@ -78,10 +78,16 @@ dart/snapshot_version_test: SkipByDesign # Spawns processes
|
|||
dart/spawn_infinite_loop_test: Skip # VM shutdown test
|
||||
dart/spawn_shutdown_test: Skip # VM Shutdown test
|
||||
|
||||
[ $runtime == vm && $mode == debug && $builder_tag == asan ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
|
||||
cc/Dart2JSCompileAll: Skip # Timeout.
|
||||
|
||||
[ $noopt ]
|
||||
dart/redirection_type_shuffling_test: CompileTimeError # Imports dart:mirrors
|
||||
dart/byte_array_test: Crash # Incompatible flag --disable_alloc_stubs_after_gc
|
||||
|
||||
[ $noopt || $compiler == precompiler ]
|
||||
dart/redirection_type_shuffling_test: CompileTimeError # Imports dart:mirrors
|
||||
dart/inline_stack_frame_test: Fail # Issue 24783 - inlined frames missing
|
||||
|
||||
[ $runtime == dart_precompiled ]
|
||||
dart/optimized_stacktrace_test: Fail
|
||||
dart/data_uri_spawn_test: RuntimeError # Isolate.spawnUri
|
|
@ -5974,4 +5974,9 @@ DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshot(
|
|||
return Api::Success();
|
||||
}
|
||||
|
||||
|
||||
DART_EXPORT bool Dart_IsRunningPrecompiledCode() {
|
||||
return Dart::IsRunningPrecompiledCode();
|
||||
}
|
||||
|
||||
} // namespace dart
|
||||
|
|
|
@ -1087,6 +1087,7 @@ void Precompiler::VisitFunctions(FunctionVisitor* visitor) {
|
|||
for (intptr_t j = 0; j < closures.Length(); j++) {
|
||||
function ^= closures.At(j);
|
||||
visitor->VisitFunction(function);
|
||||
ASSERT(!function.HasImplicitClosureFunction());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,3 +24,5 @@ sample_extension/test/sample_extension_test: Skip # Issue 14705
|
|||
[ $arch == simarm64 ]
|
||||
*: Skip
|
||||
|
||||
[ $runtime == dart_precompiled ]
|
||||
sample_extension: RuntimeError # Platform.executable
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# 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.
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
*: Skip
|
||||
|
||||
[ $compiler == dart2js && $runtime == none ]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
|
||||
[ $compiler == none && ($runtime == vm || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && (($runtime == vm || $runtime == dart_precompiled) || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
|
||||
LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t01: Fail # Issue 22200
|
||||
LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t05: Fail # Issue 22200
|
||||
|
@ -38,7 +38,7 @@ LibTest/isolate/Isolate/spawn_A02_t02: RuntimeError # Dart issue 15617
|
|||
LibTest/core/Symbol/Symbol_A01_t03: RuntimeError # Issue 13596
|
||||
LibTest/core/Symbol/Symbol_A01_t05: RuntimeError # Issue 13596
|
||||
|
||||
[ $compiler == none && $runtime == vm ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
LibTest/typed_data/Float32x4/reciprocalSqrt_A01_t01: Pass, Fail # co19 issue 599
|
||||
LibTest/typed_data/Float32x4/reciprocal_A01_t01: Pass, Fail # co19 issue 599
|
||||
Language/Expressions/Instance_Creation/Const/abstract_class_t01: MissingCompileTimeError # Issue 22007
|
||||
|
@ -48,16 +48,16 @@ Language/Libraries_and_Scripts/Imports/invalid_uri_t02: Fail
|
|||
Language/Libraries_and_Scripts/Exports/invalid_uri_t02: Fail
|
||||
Language/Libraries_and_Scripts/Parts/syntax_t06: Fail
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
LibTest/math/MutableRectangle/MutableRectangle.fromPoints_A01_t01: Pass, RuntimeError # co19-roll r607: Please triage this failure
|
||||
|
||||
[ $compiler == none && $runtime == vm && $mode == debug ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && $mode == debug ]
|
||||
LibTest/core/List/List_class_A01_t02: Pass, Slow
|
||||
|
||||
[ $compiler == none && $runtime == vm && ($arch != x64 && $arch != simarm64) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && ($arch != x64 && $arch != simarm64) ]
|
||||
LibTest/core/int/operator_left_shift_A01_t02: Fail # co19 issue 129
|
||||
|
||||
[ $compiler == none && $runtime == vm && $arch == mips ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && $arch == mips ]
|
||||
LibTest/core/double/toInt_A01_t01: Fail
|
||||
# These tests take too much memory (300 MB) for our 1 GB test machine.
|
||||
# co19 issue 673. http://code.google.com/p/co19/issues/detail?id=673
|
||||
|
@ -65,30 +65,30 @@ LibTest/core/List/List_class_A01_t02: Skip # co19 issue 673
|
|||
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Skip # co19 issue 673
|
||||
LibTest/collection/ListBase/ListBase_class_A01_t02: Skip # co19 issue 673
|
||||
|
||||
[ $compiler == none && $runtime == vm && $arch == mips && $mode == debug ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && $arch == mips && $mode == debug ]
|
||||
LibTest/isolate/Isolate/spawnUri_A01_t04: Crash, Pass # Issue 17440
|
||||
LibTest/isolate/Isolate/spawn_A01_t04: Crash, Pass # Issue 17440
|
||||
|
||||
[ $compiler == none && $runtime == vm && ($arch == simarm || $arch == simarmv5te || $arch == simmips || $arch == simarm64) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && ($arch == simarm || $arch == simarmv5te || $arch == simmips || $arch == simarm64) ]
|
||||
LibTest/core/Uri/Uri_A06_t03: Skip # Timeout
|
||||
LibTest/collection/ListMixin/ListMixin_class_A01_t01: Skip # Timeout
|
||||
LibTest/collection/ListBase/ListBase_class_A01_t01: Skip # Timeout
|
||||
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Skip # Timeout
|
||||
LibTest/collection/ListBase/ListBase_class_A01_t02: Skip # Timeout
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
LibTest/isolate/Isolate/spawn_A02_t01: Skip # co19 issue 667
|
||||
LibTest/html/*: SkipByDesign # dart:html not supported on VM.
|
||||
LayoutTests/fast/*: SkipByDesign # DOM not supported on VM.
|
||||
WebPlatformTest/*: SkipByDesign # dart:html not supported on VM.
|
||||
|
||||
[ $runtime == vm && $mode == debug && $builder_tag == asan ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
|
||||
Language/Types/Interface_Types/subtype_t27: Skip # Issue 21174.
|
||||
|
||||
[ $runtime == vm && $arch == arm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $arch == arm ]
|
||||
LibTest/typed_data/Float32x4/operator_multiplication_A01_t01: Fail # Dart issue 24416
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
# co19 update Sep 29, 2015 (3ed795ea02e022ef19c77cf1b6095b7c8f5584d0)
|
||||
Language/Classes/Constructors/Constant_Constructors/initializer_not_a_constant_t01: MissingCompileTimeError # Please triage this failure
|
||||
Language/Classes/Constructors/Constant_Constructors/initializer_not_a_constant_t02: MissingCompileTimeError # Please triage this failure
|
||||
|
@ -131,10 +131,10 @@ Language/Mixins/declaring_constructor_t01: MissingCompileTimeError # Please tria
|
|||
Language/Mixins/not_object_superclass_t01: MissingCompileTimeError # Please triage this failure
|
||||
Language/Mixins/reference_to_super_t01: MissingCompileTimeError # Please triage this failure
|
||||
|
||||
[ $runtime == vm && $mode == debug ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug ]
|
||||
Language/Mixins/Mixin_Application/wrong_type_t02: Crash # Please triage this failure
|
||||
|
||||
[ $runtime == vm && $checked ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $checked ]
|
||||
Language/Errors_and_Warnings/static_warning_t01: RuntimeError # Please triage this failure
|
||||
Language/Errors_and_Warnings/static_warning_t02: RuntimeError # Please triage this failure
|
||||
Language/Errors_and_Warnings/static_warning_t03: RuntimeError # Please triage this failure
|
||||
|
@ -142,7 +142,7 @@ Language/Errors_and_Warnings/static_warning_t04: RuntimeError # Please triage th
|
|||
Language/Errors_and_Warnings/static_warning_t05: RuntimeError # Please triage this failure
|
||||
Language/Errors_and_Warnings/static_warning_t06: RuntimeError # Please triage this failure
|
||||
|
||||
[ $runtime == vm && $noopt ]
|
||||
[ ($noopt || $compiler == precompiler) ]
|
||||
LibTest/collection/ListBase/ListBase_class_A01_t02: Pass, Timeout
|
||||
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Pass, Timeout
|
||||
LibTest/core/Map/Map_class_A01_t04: Pass, Timeout
|
||||
|
@ -152,3 +152,6 @@ Language/Mixins/Mixin_Application/error_t02: Pass
|
|||
Language/Mixins/declaring_constructor_t01: Pass
|
||||
Language/Expressions/Property_Extraction/Named_Constructor_Extraction/deferred_type_t01: Pass
|
||||
Language/Metadata/*: Skip # Uses dart:mirrors
|
||||
|
||||
[ $runtime == dart_precompiled ]
|
||||
LibTest/isolate/Isolate/spawnUri*: RuntimeError # Isolate.spawnUri
|
|
@ -2,7 +2,7 @@
|
|||
# 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.
|
||||
|
||||
[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
bool_from_environment2_test: Skip
|
||||
bool_from_environment_test: Skip
|
||||
from_environment_const_type_test: Skip
|
||||
|
@ -14,18 +14,18 @@ string_from_environment2_test: Skip
|
|||
string_from_environment3_test: Skip
|
||||
string_from_environment_test: Skip
|
||||
|
||||
[ $compiler == none ]
|
||||
[ ($compiler == none || $compiler == precompiler) ]
|
||||
unicode_test: Fail # Bug 6706
|
||||
compare_to2_test: Fail # Bug 4018
|
||||
|
||||
symbol_test/01: Fail, Pass # bug 11669
|
||||
|
||||
# #void should be a valid symbol.
|
||||
[ $compiler == none || $compiler == dart2js ]
|
||||
[ ($compiler == none || $compiler == precompiler) || $compiler == dart2js ]
|
||||
symbol_reserved_word_test/02: CompileTimeError # bug 20191
|
||||
symbol_reserved_word_test/05: CompileTimeError # bug 20191
|
||||
|
||||
[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
symbol_reserved_word_test/02: RuntimeError # bug 20191 / dartium/drt cannot detect CompileTimeErrors
|
||||
symbol_reserved_word_test/05: RuntimeError # bug 20191 / dartium/drt cannot detect CompileTimeErrors
|
||||
|
||||
|
@ -42,27 +42,27 @@ int_modulo_arith_test/modPow: RuntimeError # No bigints.
|
|||
|
||||
# With the exception of 'void', const Symbol() should not accept reserved
|
||||
# words.
|
||||
[ $compiler == none || $compiler == dart2js ]
|
||||
[ ($compiler == none || $compiler == precompiler) || $compiler == dart2js ]
|
||||
symbol_reserved_word_test/04: MissingCompileTimeError # bug 11669, 19972
|
||||
symbol_reserved_word_test/07: MissingCompileTimeError # bug 11669, 19972
|
||||
symbol_reserved_word_test/10: MissingCompileTimeError # bug 11669, 19972
|
||||
|
||||
[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
symbol_reserved_word_test/04: Fail # bug 11669, 19972 / dartium/drt cannot detect CompileTimeErrors
|
||||
symbol_reserved_word_test/07: Fail # bug 11669, 19972 / dartium/drt cannot detect CompileTimeErrors
|
||||
symbol_reserved_word_test/10: Fail # bug 11669, 19972 / dartium/drt cannot detect CompileTimeErrors
|
||||
|
||||
# With the exception of 'void', new Symbol() should not accept reserved words.
|
||||
[ $compiler == none ]
|
||||
[ ($compiler == none || $compiler == precompiler) ]
|
||||
symbol_reserved_word_test/06: RuntimeError # bug 11669
|
||||
symbol_reserved_word_test/09: RuntimeError # bug 11669
|
||||
symbol_reserved_word_test/12: RuntimeError # bug 11669
|
||||
|
||||
[ $compiler == none && $runtime != dartium && $runtime != drt && $runtime != ContentShellOnAndroid ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime != dartium && $runtime != drt && $runtime != ContentShellOnAndroid ]
|
||||
symbol_test/02: MissingCompileTimeError # bug 11669
|
||||
symbol_test/03: MissingCompileTimeError # bug 11669
|
||||
|
||||
[ $compiler == none ]
|
||||
[ ($compiler == none || $compiler == precompiler) ]
|
||||
symbol_test/none: Fail # bug 11669
|
||||
symbol_operator_test/03: Fail # bug 11669
|
||||
string_case_test/01: Fail # Bug 18061
|
||||
|
@ -70,10 +70,10 @@ string_case_test/01: Fail # Bug 18061
|
|||
iterable_return_type_test/01: RuntimeError # Issue 13646
|
||||
iterable_return_type_test/02: RuntimeError # Issue 13646
|
||||
|
||||
[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
main_test: Fail # Dartium needs to check for both main() and main(args).
|
||||
|
||||
[ $compiler == none && $runtime == ContentShellOnAndroid ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == ContentShellOnAndroid ]
|
||||
core_runtime_types_test: Pass, Fail # Issue 20525
|
||||
|
||||
[ $runtime == ff || $runtime == jsshell ]
|
||||
|
@ -170,7 +170,7 @@ stopwatch_test: Skip # Flaky test due to expected performance behaviour.
|
|||
# The regexp tests are not verified to work on non d8/vm platforms yet.
|
||||
regexp/*: Skip
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
regexp/global_test: Skip # Timeout. Issue 21709 and 21708
|
||||
|
||||
[ $runtime != vm && $compiler != dart2analyzer]
|
||||
|
@ -182,7 +182,7 @@ http_resource_test: Skip, OK # VM specific test, uses dart:io.
|
|||
[ $mode == debug ]
|
||||
regexp/pcre_test: Pass, Slow # Timeout. Issue 22008
|
||||
|
||||
[ $runtime == vm && $arch == simarmv5te ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $arch == simarmv5te ]
|
||||
int_parse_radix_test/*: Pass, Slow
|
||||
big_integer_parsed_mul_div_vm_test: Pass, Slow
|
||||
|
||||
|
@ -211,7 +211,7 @@ symbol_test/none: RuntimeError # Please triage this failure.
|
|||
[ $compiler == dart2js && $cps_ir && $host_checked ]
|
||||
regexp/pcre_test: Crash # Stack Overflow
|
||||
|
||||
[ $noopt ]
|
||||
[ ($noopt || $compiler == precompiler) ]
|
||||
apply3_test: CompileTimeError # Imports dart:mirrors
|
||||
regexp/stack-overflow_test: RuntimeError, OK # Smaller limit with irregex interpreter
|
||||
big_integer_huge_mul_vm_test: Pass, Timeout # --no_intrinsify
|
||||
|
|
|
@ -382,7 +382,7 @@ mediasource_test/functional: RuntimeError # Issue 24838
|
|||
|
||||
# 'html' tests import the HTML library, so they only make sense in
|
||||
# a browser environment.
|
||||
[ $runtime == vm ]
|
||||
[ $runtime == vm || $runtime == dart_precompiled ]
|
||||
*: Skip
|
||||
|
||||
[ $compiler == dart2js && ($runtime == drt || $runtime == ff) ]
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
# 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.
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
browser/*: SkipByDesign # Browser specific tests
|
||||
isolate_stress_test: Fail # Issue 12588: This should be able to pass when we have wrapper-less tests.
|
||||
|
||||
[ $runtime != vm ]
|
||||
checked_test: Skip # Unsupported.
|
||||
|
||||
[ $runtime == vm && $arch == mips && $mode == debug ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $arch == mips && $mode == debug ]
|
||||
mandel_isolate_test: Skip # Uses 600 MB Ram on our 1 GB test device.
|
||||
|
||||
[ $compiler == none ]
|
||||
[ ($compiler == none || $compiler == precompiler) ]
|
||||
compile_time_error_test/01: Skip # Issue 12587
|
||||
ping_test: Skip # Resolve test issues
|
||||
ping_pause_test: Skip # Resolve test issues
|
||||
|
@ -20,7 +20,7 @@ kill3_test: Pass, Fail # Bad test: expects total message order
|
|||
|
||||
message3_test/int32x4: Crash, Timeout # Issue 21818
|
||||
|
||||
[ $compiler == none && $runtime == ContentShellOnAndroid ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == ContentShellOnAndroid ]
|
||||
*: Skip # Isolate tests are timing out flakily on Android content_shell. Issue 19795
|
||||
|
||||
[ $compiler == dart2js && $runtime == safarimobilesim ]
|
||||
|
@ -78,25 +78,25 @@ isolate_stress_test: Pass, Slow # Issue 10697
|
|||
[ $compiler == dart2js && $runtime == chromeOnAndroid ]
|
||||
unresolved_ports_test: Pass, Timeout # Issue 15610
|
||||
|
||||
[ $compiler == none && $runtime == drt ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == drt ]
|
||||
spawn_uri_nested_vm_test: Skip # Issue 14463
|
||||
|
||||
[ $jscl ]
|
||||
spawn_uri_multi_test/none: RuntimeError # Issue 13544
|
||||
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) ]
|
||||
pause_test: Fail # Not implemented yet
|
||||
|
||||
[ $compiler == none && $runtime == ContentShellOnAndroid ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == ContentShellOnAndroid ]
|
||||
nested_spawn2_test: Skip # Issue 19127: This test is timing out.
|
||||
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
spawn_uri_nested_vm_test: Skip # Issue 14479: This test is timing out.
|
||||
|
||||
[ $compiler == none && $runtime == dartium && $arch == x64 ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == dartium && $arch == x64 ]
|
||||
isolate/spawn_uri_multi_test/01: Skip # Times out. Issue 24795
|
||||
|
||||
[ $compiler == none && ( $runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ( $runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) ]
|
||||
typed_message_test: Crash, Fail # Issue 13921, 14400
|
||||
message_enum_test: Fail, OK # Issue 13921 Dom isolates don't support spawnFunction
|
||||
compile_time_error_test/none: Fail, OK # Issue 13921 Dom isolates don't support spawnFunction
|
||||
|
@ -145,7 +145,7 @@ package_map_test: SkipByDesign # Uses Isolate.packageMap
|
|||
deferred_in_isolate2_test: RuntimeError # A.loadLibrary is not a function
|
||||
isolate_current_test: RuntimeError # Please triage this failure.
|
||||
|
||||
[ $noopt ]
|
||||
[ ($noopt || $compiler == precompiler) ]
|
||||
# Imports dart:mirrors
|
||||
count_test: CompileTimeError
|
||||
cross_isolate_message_test: CompileTimeError
|
||||
|
@ -166,3 +166,19 @@ stacktrace_message_test: CompileTimeError
|
|||
stacktrace_message_test: CompileTimeError
|
||||
static_function_test: CompileTimeError
|
||||
unresolved_ports_test: CompileTimeError
|
||||
|
||||
[ $runtime == dart_precompiled ]
|
||||
deferred_in_isolate_test: Skip # Isolate.spawnUri
|
||||
deferred_in_isolate2_test: Skip # Isolate.spawnUri
|
||||
exit_at_spawnuri_test: Skip # Isolate.spawnUri
|
||||
error_exit_at_spawnuri_test: Skip # Isolate.spawnUri
|
||||
issue_24243_parent_isolate_test: Skip # Isolate.spawnUri
|
||||
issue_21398_parent_isolate1_test: Skip # Isolate.spawnUri
|
||||
spawn_uri_exported_main_test: Skip # Isolate.spawnUri
|
||||
spawn_uri_test: Skip # Isolate.spawnUri
|
||||
spawn_uri_nested_vm_test: Skip # Isolate.spawnUri
|
||||
deferred_in_isolate_test: Skip # Isolate.spawnUri
|
||||
spawn_uri_multi_test: Skip # Isolate.spawnUri
|
||||
spawn_uri_vm_test: Skip # Isolate.spawnUri
|
||||
issue_21398_parent_isolate_test: Skip # Isolate.spawnUri
|
||||
error_at_spawnuri_test: Skip # Isolate.spawnUri
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# This directory contains tests that are intended to show the
|
||||
# current state of the language.
|
||||
|
||||
[ $compiler == none ]
|
||||
[ ($compiler == none || $compiler == precompiler) ]
|
||||
built_in_identifier_prefix_test: Fail # Issue 6970
|
||||
tearoff_constructor_basic_test: Skip # Crashes in checked mode -- hausner investigating
|
||||
|
||||
|
@ -34,24 +34,24 @@ async_star_await_pauses_test: Skip # Times out. Issue 23996
|
|||
# Unsupported configuration specific imports.
|
||||
config_import_test: Fail # Issue 24581
|
||||
|
||||
[ $compiler == none && $runtime == vm ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
class_keyword_test/02: MissingCompileTimeError # Issue 13627
|
||||
unicode_bom_test: Fail # Issue 16067
|
||||
vm/debug_break_enabled_vm_test/01: Crash, OK # Expected to hit breakpoint.
|
||||
try_catch_optimized1_test: Skip # Srdjan investigating
|
||||
|
||||
[ $compiler == none && $checked ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $checked ]
|
||||
type_variable_bounds4_test/01: Fail # Issue 14006
|
||||
|
||||
[ $compiler == none ]
|
||||
[ ($compiler == none || $compiler == precompiler) ]
|
||||
dynamic_prefix_core_test/01: RuntimeError # Issue 12478
|
||||
multiline_strings_test: Fail # Issue 23020
|
||||
|
||||
[ $compiler == none && ($runtime == vm || $runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && (($runtime == vm || $runtime == dart_precompiled) || $runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
dynamic_prefix_core_test/none: Fail # Issue 12478
|
||||
export_ambiguous_main_negative_test: Fail # Issue 14763
|
||||
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == ContentShellOnAndroid) && $unchecked ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == dartium || $runtime == ContentShellOnAndroid) && $unchecked ]
|
||||
assertion_test: Fail # Issue 14651.
|
||||
generic_test: Fail # Issue 14651.
|
||||
list_literal4_test: Fail # Issue 14651.
|
||||
|
@ -64,7 +64,7 @@ positional_parameters_type_test/02: Fail # Issue 14651.
|
|||
type_checks_in_factory_method_test: Fail # Issue 14651.
|
||||
vm/type_vm_test: Fail # Issue 14651.
|
||||
|
||||
[ $compiler == none && ( $runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ( $runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) ]
|
||||
issue13474_test: Pass, Fail # Issue 14651.
|
||||
vm/optimized_guarded_field_isolates_test: Fail # Issue 13921.
|
||||
main_test/01: Fail # Issue 20028
|
||||
|
@ -76,36 +76,36 @@ main_test/42: Fail # Issue 20028
|
|||
mirror_in_static_init_test: Fail # Issue 22071
|
||||
vm/debug_break_enabled_vm_test/*: Skip # Issue 14651.
|
||||
|
||||
[ $compiler == none && $runtime == dartium && $system == linux && $arch != x64 ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == dartium && $system == linux && $arch != x64 ]
|
||||
issue_22780_test/01 : Pass, Timeout # Issue 24473
|
||||
|
||||
[ $compiler == none && $runtime == drt ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == drt ]
|
||||
disassemble_test: Pass, Fail # Issue 18122
|
||||
|
||||
[ $compiler == none && $runtime == vm && $arch == mips && $checked ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && $arch == mips && $checked ]
|
||||
generic_instanceof3_test: Pass, Crash # Issue 17440.
|
||||
|
||||
[ $compiler == none && $runtime == vm && $arch == mips && $mode == debug ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && $arch == mips && $mode == debug ]
|
||||
stack_overflow_test: Skip # Crashes. Issue 17440.
|
||||
stack_overflow_stacktrace_test: Skip # Crashes. Issue 17440.
|
||||
large_class_declaration_test: SkipSlow # Times out. Issue 20352
|
||||
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) && $mode == debug ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) && $mode == debug ]
|
||||
large_class_declaration_test: SkipSlow # Times out. Issue 20352
|
||||
|
||||
[ $compiler == none && $runtime == ContentShellOnAndroid ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == ContentShellOnAndroid ]
|
||||
gc_test: SkipSlow # Times out flakily. Issue 20956
|
||||
|
||||
[ $compiler == none && $runtime == vm && ( $arch == simarm || $arch == arm || $arch == simarmv5te || $arch == armv5te || $arch == simarm64 || $arch == arm64 || $arch == simmips || $arch == mips) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && ( $arch == simarm || $arch == arm || $arch == simarmv5te || $arch == armv5te || $arch == simarm64 || $arch == arm64 || $arch == simmips || $arch == mips) ]
|
||||
vm/load_to_load_unaligned_forwarding_vm_test: Pass, Crash # Unaligned offset. Issue 22151
|
||||
|
||||
[ $compiler == none && $runtime == dartium ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == dartium ]
|
||||
issue23244_test: Fail # Issue 23244
|
||||
|
||||
[ $compiler == none && ($runtime == vm || $runtime == drt || $runtime == dartium) && $arch == ia32 ]
|
||||
[ ($compiler == none || $compiler == precompiler) && (($runtime == vm || $runtime == dart_precompiled) || $runtime == drt || $runtime == dartium) && $arch == ia32 ]
|
||||
vm/regress_24517_test: Pass, Fail # Issue 24517.
|
||||
|
||||
[ $noopt ]
|
||||
[ ($noopt || $compiler == precompiler) ]
|
||||
# Imports dart:mirrors
|
||||
const_evaluation_test: CompileTimeError
|
||||
deferred_constraints_constants_test: CompileTimeError
|
||||
|
@ -139,3 +139,9 @@ deopt_inlined_function_lazy_test: Pass, Crash # Incompatible flag: --deoptimize-
|
|||
tearoff_basic_test: RuntimeError, Crash # Conflicting flag.
|
||||
vm/type_cast_vm_test: RuntimeError # Line number mismatch.
|
||||
stack_trace_test: Fail # Issue 24783 - inlined frames missing
|
||||
|
||||
[ $runtime == dart_precompiled ]
|
||||
ct_const2_test: Pass, Crash # Incompatible flag --compile_all
|
||||
hello_dart_test: Pass, Crash # Incompatible flag --compile_all
|
||||
|
||||
implicit_closure_test: Pass, Crash # --use_slow_path
|
||||
|
|
|
@ -186,7 +186,7 @@ async/timer_not_available_test: Fail, OK # only meant to test when there is no w
|
|||
|
||||
# 'js' tests import the dart:js library, so they only make sense in
|
||||
# a browser environment.
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
js/*: Skip
|
||||
|
||||
[ $compiler == dart2js && $minified ]
|
||||
|
@ -223,19 +223,19 @@ async/multiple_timer_test: Pass, Fail # Probably issue 14734
|
|||
# TODO(efortuna): Investigate.
|
||||
async/timer_test: Fail, Pass
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
async/timer_not_available_test: Fail, OK
|
||||
mirrors/native_class_test: Fail, OK # This test is meant to run in a browser.
|
||||
mirrors/deferred_type_test: CompileTimeError, OK # Don't have a multitest marker for dynamic compile time errors.
|
||||
|
||||
[ $compiler == none ]
|
||||
[ ($compiler == none || $compiler == precompiler) ]
|
||||
async/timer_not_available_test: SkipByDesign # only meant to test when there is no way to implement timer (currently only in d8)
|
||||
|
||||
mirrors/symbol_validation_test: RuntimeError # Issue 13596
|
||||
|
||||
mirrors/mirrors_used*: SkipByDesign # Invalid tests. MirrorsUsed does not have a specification, and dart:mirrors is not required to hide declarations that are not covered by any MirrorsUsed annotation.
|
||||
|
||||
[ $compiler == none && ( $runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ( $runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
async/schedule_microtask6_test: Fail # Issue 10910
|
||||
async/timer_test: Fail, Pass # Issue 15487
|
||||
async/multiple_timer_test: Fail, Pass # Issue 15487
|
||||
|
@ -248,14 +248,14 @@ mirrors/spawn_function_root_library_test: SkipByDesign # Uses spawnFunction.
|
|||
mirrors/local_isolate_test: RuntimeError # Issue 12188
|
||||
mirrors/deferred_type_test: RuntimeError, OK # Should be CompileTimeError. Issue 22072
|
||||
|
||||
[ $compiler == none && $runtime == drt && $system == windows ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == drt && $system == windows ]
|
||||
async/multiple_timer_test: Fail, Pass # See Issue 10982
|
||||
async/timer_test: Fail, Pass # See Issue 10982
|
||||
|
||||
[ $compiler == none && $runtime == drt && $checked ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == drt && $checked ]
|
||||
async/slow_consumer_test: Fail, Pass # Dartium JsInterop failure, dartbug.com/24460
|
||||
|
||||
[$compiler == none && $runtime == ContentShellOnAndroid ]
|
||||
[($compiler == none || $compiler == precompiler) && $runtime == ContentShellOnAndroid ]
|
||||
async/stream_timeout_test: RuntimeError, Pass # Issue 19127
|
||||
async/slow_consumer3_test: SkipSlow # Times out flakily. Issue 20956
|
||||
async/slow_consumer2_test: SkipSlow # Times out flakily. Issue 20956
|
||||
|
@ -305,7 +305,7 @@ mirrors/*deferred*: Skip # Issue 17458
|
|||
[ $compiler == dart2js && $mode == debug ]
|
||||
mirrors/native_class_test: Pass, Slow
|
||||
|
||||
[ $compiler == none && $arch == mips ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $arch == mips ]
|
||||
async/timer_regress22626_test: Pass, RuntimeError # Issue 22626
|
||||
|
||||
[ $arch == simarm || $arch == simarmv5te ]
|
||||
|
@ -325,16 +325,16 @@ convert/utf85_test: Skip # Pass, Slow Issue 20111.
|
|||
[ $mode == debug && $arch == ia32 && $system == windows ]
|
||||
convert/streamed_conversion_json_utf8_decode_test: Skip # Verification OOM.
|
||||
|
||||
[ $runtime == vm && $mode == debug && $arch == x64 && $system == windows ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $arch == x64 && $system == windows ]
|
||||
convert/streamed_conversion_json_utf8_decode_test: Pass, Slow
|
||||
|
||||
[ $runtime == vm && $mode == release && $arch == ia32 && $system == windows ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == release && $arch == ia32 && $system == windows ]
|
||||
convert/json_test: RuntimeError # Issue 24908
|
||||
|
||||
[ $mode == debug && $arch != ia32 && $arch != x64 && $arch != simarm && $arch != simarmv5te ]
|
||||
convert/streamed_conversion_json_utf8_decode_test: Skip # Verification not yet implemented.
|
||||
|
||||
[ $runtime == vm && $mode == debug && $builder_tag == asan ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
|
||||
mirrors/immutable_collections_test: SkipSlow # Timeout.
|
||||
convert/streamed_conversion_json_utf8_decode_test: Skip # Timeout.
|
||||
|
||||
|
@ -357,7 +357,7 @@ mirrors/typedef_library_test: Crash # Assertion failure: typedef(G) has not been
|
|||
[ $compiler != dart2js ]
|
||||
async/dart2js_uncaught_error_test: Skip # JS-integration only test
|
||||
|
||||
[ $noopt ]
|
||||
[ ($noopt || $compiler == precompiler) ]
|
||||
mirrors/*: SkipByDesign
|
||||
convert/chunked_conversion_utf88_test: Pass, Timeout
|
||||
convert/utf85_test: Pass, Timeout
|
||||
|
|
|
@ -17,15 +17,15 @@ issue14236_test: Pass # Do not remove this line. It serves as a marker for Issue
|
|||
|
||||
javascript_compatibility_errors_test/none: Fail, OK # Not possible to exclude or annotate with '/// none:'
|
||||
|
||||
[ $runtime != vm && ($runtime != drt || $compiler != none)) ]
|
||||
[ ($runtime != vm && $runtime != dart_precompiled) && ($runtime != drt || $compiler != none)) ]
|
||||
no_assert_test: Fail, OK # This is testing a vm flag.
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
package/package_isolate_test: Fail # Issue 12474
|
||||
io/observatory_test: Fail
|
||||
package/scenarios/invalid/same_package_twice_test: Pass # Issue 24119
|
||||
|
||||
[ $runtime == vm && $checked ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $checked ]
|
||||
# These tests have type errors on purpose.
|
||||
io/process_invalid_arguments_test: Fail, OK
|
||||
io/directory_invalid_arguments_test: Fail, OK
|
||||
|
@ -38,13 +38,13 @@ io/stdout_bad_argument_test: Fail, OK
|
|||
io/file_fuzz_test: Skip
|
||||
io/directory_fuzz_test: Skip
|
||||
|
||||
[ $runtime == vm && $system == macos ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $system == macos ]
|
||||
# This test fails with "Too many open files" on the Mac OS buildbot.
|
||||
# This is expected as MacOS by default runs with a very low number
|
||||
# of allowed open files ('ulimit -n' says something like 256).
|
||||
io/socket_many_connections_test: Skip
|
||||
|
||||
[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
typed_array_test: Fail # Issue 13921
|
||||
typed_array_int64_uint64_test: Fail # Issue 13921
|
||||
typed_data_isolate_test: SkipByDesign # This test uses dart:io
|
||||
|
@ -157,10 +157,10 @@ io/test_runner_test: Skip # Flakily times out in a subtest. Issue 201351
|
|||
full_coverage_test: SkipSlow # Times out. Issue 20352
|
||||
io/http_client_stays_alive_test: Skip # Timing dependent test, MIPS machine too slow.
|
||||
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == ContentShellOnAndroid) && $unchecked ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == dartium || $runtime == ContentShellOnAndroid) && $unchecked ]
|
||||
assert_test: Fail # Issue 14651.
|
||||
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
javascript_int_overflow_literal_test/01: Fail # Issue 14651.
|
||||
javascript_int_overflow_test: Fail # Issue 14651.
|
||||
|
||||
|
@ -205,19 +205,62 @@ io/process_sync_test: Pass, Timeout # Issue 24596
|
|||
[ $arch != ia32 && $arch != x64 && $arch != simarm && $arch != simarmv5te && $mode == debug ]
|
||||
verified_mem_test: Skip # Not yet implemented.
|
||||
|
||||
[ $runtime == vm && $mode == debug && $builder_tag == asan ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
|
||||
full_coverage_test: Skip # Timeout.
|
||||
io/file_lock_test: Skip # Timeout.
|
||||
io/test_runner_test: Skip # Timeout.
|
||||
io/http_client_stays_alive_test: Skip # Timeout.
|
||||
|
||||
[ $runtime == vm ]
|
||||
[ ($runtime == vm || $runtime == dart_precompiled) ]
|
||||
# Failures in secure networking while NSS is replaced with BoringSSL
|
||||
io/https_client_certificate_test: RuntimeError # Issue 24070
|
||||
io/secure_socket_renegotiate_test: RuntimeError
|
||||
io/secure_socket_bad_data_test: RuntimeError # An error in a secure connection just puts a READ_CLOSED on the stream, rather than signaling an error on the stream.
|
||||
|
||||
[ $noopt ]
|
||||
[ ($noopt || $compiler == precompiler) ]
|
||||
map_literal_oom_test: Pass, Crash # Issue 24678
|
||||
javascript*: SkipByDesign # JS overflow flag unsupported
|
||||
io/web_socket_test: Pass, RuntimeError # Issue 24674
|
||||
|
||||
[ $runtime == dart_precompiled ]
|
||||
debugger/*: Skip
|
||||
noopt_test: Skip
|
||||
precompilation_dart2js_test: Skip
|
||||
|
||||
full_coverage_test: RuntimeError # Platform.executable
|
||||
http_launch_test: RuntimeError # Platform.executable
|
||||
io/addlatexhash_test: RuntimeError # Platform.executable
|
||||
io/compile_all_test: Crash # Incompatible flag --compile_all
|
||||
io/file_read_special_device_test: RuntimeError # Platform.executable
|
||||
io/file_stream_test: RuntimeError # Platform.executable
|
||||
io/file_test: RuntimeError # Platform.executable
|
||||
io/http_cross_process_test: RuntimeError # Platform.executable
|
||||
io/https_unauthorized_test: RuntimeError # Platform.executable
|
||||
io/platform_resolved_executable_test: RuntimeError # Platform.resolvedExecutable
|
||||
io/skipping_dart2js_compilations_test: RuntimeError # Platform.executable
|
||||
io/snapshot_fail_test: RuntimeError # Platform.executable
|
||||
io/stdin_sync_test: RuntimeError # Platform.executable
|
||||
io/test_extension_fail_test: RuntimeError # Platform.executable
|
||||
precompilation_test: RuntimeError # Platform.executable
|
||||
standalone/io/file_read_special_device_test: RuntimeError # Platform.executable
|
||||
verbose_gc_to_bmu_test: RuntimeError # Platform.executable
|
||||
io/http_server_close_response_after_error_test: RuntimeError # Platform.executable
|
||||
io/http_client_stays_alive_test: RuntimeError # Platform.executable
|
||||
io/print_sync_test: RuntimeError # Platform.executable
|
||||
io/signals_test: RuntimeError # Platform.executable
|
||||
io/stdio_nonblocking_test: RuntimeError # Platform.executable
|
||||
io/regress_7191_test: RuntimeError # Platform.executable
|
||||
io/secure_unauthorized_test: RuntimeError # Platform.executable
|
||||
io/dart_std_io_pipe_test: RuntimeError # Platform.executable
|
||||
io/platform_test: RuntimeError # Platform.executable
|
||||
io/socket_cross_process_test: RuntimeError # Platform.executable
|
||||
io/test_runner_test: RuntimeError # Platform.executable
|
||||
io/file_lock_test: RuntimeError # Platform.executable
|
||||
io/code_collection_test: RuntimeError # Platform.executable
|
||||
io/file_lock_test: RuntimeError # Platform.executable
|
||||
io/code_collection_test: RuntimeError # Platform.executable
|
||||
io/raw_socket_cross_process_test: RuntimeError # Platform.executable
|
||||
io/test_extension_test: RuntimeError # Platform.executable
|
||||
io/regress_7679_test: RuntimeError # Platform.executable
|
||||
|
||||
io/process_*: Skip # Most use Platform.executable
|
|
@ -13,14 +13,14 @@ source_mirrors_test: Slow, Pass
|
|||
[ $compiler == dart2js && $browser ]
|
||||
*: Skip
|
||||
|
||||
[ $compiler == none && $runtime != vm ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime != vm ]
|
||||
dart2js_test: SkipByDesign # Uses dart:io.
|
||||
|
||||
|
||||
[ $compiler == dart2js && $mode == debug ]
|
||||
dummy_compiler_test: Slow, Pass
|
||||
|
||||
[ $compiler == none && $runtime == ContentShellOnAndroid ]
|
||||
[ ($compiler == none || $compiler == precompiler) && $runtime == ContentShellOnAndroid ]
|
||||
dummy_compiler_test: Pass, RuntimeError # Issue 17662
|
||||
recursive_import_test: Pass, RuntimeError # Issue 17662
|
||||
source_mirrors_test: Pass, RuntimeError # Issue 17662
|
||||
|
@ -30,5 +30,5 @@ dummy_compiler_test: Crash # (switch (function.na... continue to a labeled swit
|
|||
recursive_import_test: Crash # (switch (function.na... continue to a labeled switch case
|
||||
source_mirrors_test: Crash, Slow # (switch (function.na... continue to a labeled switch case
|
||||
|
||||
[ $noopt ]
|
||||
[ ($noopt || $compiler == precompiler) ]
|
||||
source_mirrors_test: SkipByDesign # Imports dart:mirrors
|
||||
|
|
64
tools/precompilation/precompiler.dart
Executable file
64
tools/precompilation/precompiler.dart
Executable file
|
@ -0,0 +1,64 @@
|
|||
// Copyright (c) 2015, 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.
|
||||
|
||||
library precompiler;
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
void run(String executable, String arguments, [String workingDirectory]) {
|
||||
print("+ $executable ${arguments.join(' ')}");
|
||||
var result = Process.runSync(executable, arguments,
|
||||
workingDirectory: workingDirectory);
|
||||
stdout.write(result.stdout);
|
||||
stderr.write(result.stderr);
|
||||
if (result.exitCode != 0) {
|
||||
exit(result.exitCode);
|
||||
}
|
||||
}
|
||||
|
||||
void main(List<String> args) {
|
||||
var configuration = Platform.environment["DART_CONFIGURATION"];
|
||||
|
||||
var cc, cc_flags, shared, libname;
|
||||
if (Platform.isLinux) {
|
||||
cc = 'gcc';
|
||||
shared = '-shared';
|
||||
libname = 'libprecompiled.so';
|
||||
} else if (Platform.isMacOS) {
|
||||
cc = 'clang';
|
||||
shared = '-dynamiclib';
|
||||
libname = 'libprecompiled.dylib';
|
||||
} else {
|
||||
print("Test only supports Linux and Mac");
|
||||
return;
|
||||
}
|
||||
|
||||
if (configuration.endsWith("X64")) {
|
||||
cc_flags = "-m64";
|
||||
} else if (configuration.endsWith("SIMARM64")) {
|
||||
cc_flags = "-m64";
|
||||
} else if (configuration.endsWith("SIMARM")) {
|
||||
cc_flags = "-m32";
|
||||
} else if (configuration.endsWith("SIMMIPS")) {
|
||||
cc_flags = "-m32";
|
||||
} else if (configuration.endsWith("ARM")) {
|
||||
cc_flags = "";
|
||||
} else if (configuration.endsWith("MIPS")) {
|
||||
cc_flags = "-EL";
|
||||
} else {
|
||||
print("Architecture not supported: $configuration");
|
||||
return;
|
||||
}
|
||||
|
||||
var tmpDir;
|
||||
for (var arg in args) {
|
||||
if (arg.startsWith("--gen-precompiled-snapshot")) {
|
||||
tmpDir = arg.substring("--gen-precompiled-snapshot".length + 1);
|
||||
}
|
||||
}
|
||||
print("Using directory $tmpDir");
|
||||
|
||||
run(args[0], args.sublist(1));
|
||||
run(cc, [shared, cc_flags, "-o", libname, "precompiled.S"], tmpDir);
|
||||
}
|
|
@ -74,6 +74,9 @@ abstract class CompilerConfiguration {
|
|||
isHostChecked: isHostChecked, useCps: useCps, useSdk: useSdk,
|
||||
isCsp: isCsp, extraDart2jsOptions:
|
||||
TestUtils.getExtraOptions(configuration, 'dart2js_options'));
|
||||
case 'precompiler':
|
||||
return new PrecompilerCompilerConfiguration(
|
||||
isDebug: isDebug, isChecked: isChecked);
|
||||
case 'none':
|
||||
return new NoneCompilerConfiguration(
|
||||
isDebug: isDebug, isChecked: isChecked,
|
||||
|
@ -119,6 +122,12 @@ abstract class CompilerConfiguration {
|
|||
return new CommandArtifact([], null, null);
|
||||
}
|
||||
|
||||
List<String> computeCompilerArguments(vmOptions, sharedOptions, args) {
|
||||
return new List<String>()
|
||||
..addAll(sharedOptions)
|
||||
..addAll(args);
|
||||
}
|
||||
|
||||
List<String> computeRuntimeArguments(
|
||||
RuntimeConfiguration runtimeConfiguration,
|
||||
String buildDir,
|
||||
|
@ -294,6 +303,92 @@ class Dart2jsCompilerConfiguration extends Dart2xCompilerConfiguration {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
class PrecompilerCompilerConfiguration extends CompilerConfiguration {
|
||||
PrecompilerCompilerConfiguration({
|
||||
bool isDebug,
|
||||
bool isChecked})
|
||||
: super._subclass(isDebug: isDebug, isChecked: isChecked);
|
||||
|
||||
int computeTimeoutMultiplier() {
|
||||
int multiplier = 2;
|
||||
if (isDebug) multiplier *= 4;
|
||||
if (isChecked) multiplier *= 2;
|
||||
return multiplier;
|
||||
}
|
||||
|
||||
CommandArtifact computeCompilationArtifact(
|
||||
String buildDir,
|
||||
String tempDir,
|
||||
CommandBuilder commandBuilder,
|
||||
List arguments,
|
||||
Map<String, String> environmentOverrides) {
|
||||
return new CommandArtifact(
|
||||
<Command>[
|
||||
this.computeCompilationCommand(
|
||||
tempDir,
|
||||
buildDir,
|
||||
CommandBuilder.instance,
|
||||
arguments,
|
||||
environmentOverrides)],
|
||||
'$tempDir',
|
||||
'application/dart-precompiled');
|
||||
}
|
||||
|
||||
CompilationCommand computeCompilationCommand(
|
||||
String tempDir,
|
||||
String buildDir,
|
||||
CommandBuilder commandBuilder,
|
||||
List arguments,
|
||||
Map<String, String> environmentOverrides) {
|
||||
var exec = "$buildDir/dart";
|
||||
var args = new List();
|
||||
args.add("tools/precompilation/precompiler.dart");
|
||||
args.add("$buildDir/dart_no_snapshot");
|
||||
args.add("--gen-precompiled-snapshot=$tempDir");
|
||||
args.addAll(arguments);
|
||||
|
||||
return commandBuilder.getCompilationCommand(
|
||||
'precompiler.dart', tempDir, !useSdk,
|
||||
bootstrapDependencies(buildDir),
|
||||
exec, args, environmentOverrides);
|
||||
}
|
||||
|
||||
List<String> computeCompilerArguments(vmOptions,
|
||||
sharedOptions,
|
||||
originalArguments) {
|
||||
List<String> args = [];
|
||||
if (isChecked) {
|
||||
args.add('--enable_asserts');
|
||||
args.add('--enable_type_checks');
|
||||
}
|
||||
return args
|
||||
..addAll(vmOptions)
|
||||
..addAll(sharedOptions)
|
||||
..addAll(originalArguments);
|
||||
}
|
||||
|
||||
List<String> computeRuntimeArguments(
|
||||
RuntimeConfiguration runtimeConfiguration,
|
||||
String buildDir,
|
||||
TestInformation info,
|
||||
List<String> vmOptions,
|
||||
List<String> sharedOptions,
|
||||
List<String> originalArguments,
|
||||
CommandArtifact artifact) {
|
||||
List<String> args = [];
|
||||
if (isChecked) {
|
||||
args.add('--enable_asserts');
|
||||
args.add('--enable_type_checks');
|
||||
}
|
||||
return args
|
||||
..addAll(vmOptions)
|
||||
..addAll(sharedOptions)
|
||||
..addAll(originalArguments);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class AnalyzerCompilerConfiguration extends CompilerConfiguration {
|
||||
AnalyzerCompilerConfiguration(
|
||||
{bool isDebug,
|
||||
|
|
|
@ -52,6 +52,9 @@ class RuntimeConfiguration {
|
|||
case 'vm':
|
||||
return new StandaloneDartRuntimeConfiguration();
|
||||
|
||||
case 'dart_precompiled':
|
||||
return new DartPrecompiledRuntimeConfiguration();
|
||||
|
||||
case 'drt':
|
||||
return new DrtRuntimeConfiguration();
|
||||
|
||||
|
@ -218,6 +221,32 @@ class StandaloneDartRuntimeConfiguration extends DartVmRuntimeConfiguration {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
class DartPrecompiledRuntimeConfiguration extends DartVmRuntimeConfiguration {
|
||||
List<Command> computeRuntimeCommands(
|
||||
TestSuite suite,
|
||||
CommandBuilder commandBuilder,
|
||||
CommandArtifact artifact,
|
||||
List<String> arguments,
|
||||
Map<String, String> environmentOverrides) {
|
||||
String script = artifact.filename;
|
||||
String type = artifact.mimeType;
|
||||
if (script != null && type != 'application/dart-precompiled') {
|
||||
throw "dart_precompiled cannot run files of type '$type'.";
|
||||
}
|
||||
|
||||
var augmentedArgs = new List();
|
||||
augmentedArgs.add("--run-precompiled-snapshot=${artifact.filename}");
|
||||
augmentedArgs.addAll(arguments);
|
||||
|
||||
var augmentedEnv = new Map.from(environmentOverrides);
|
||||
augmentedEnv['LD_LIBRARY_PATH'] = artifact.filename;
|
||||
|
||||
return <Command>[commandBuilder.getVmCommand(
|
||||
suite.dartPrecompiledBinaryFileName, augmentedArgs, augmentedEnv)];
|
||||
}
|
||||
}
|
||||
|
||||
/// Temporary runtime configuration for browser runtimes that haven't been
|
||||
/// migrated yet.
|
||||
// TODO(ahe): Remove this class.
|
||||
|
|
|
@ -67,7 +67,7 @@ class TestOptionsParser {
|
|||
dart2analyzer: Perform static analysis on Dart code by running the analyzer
|
||||
(only valid with the following runtimes: none)''',
|
||||
['-c', '--compiler'],
|
||||
['none', 'dart2js', 'dart2analyzer'],
|
||||
['none', 'precompiler', 'dart2js', 'dart2analyzer'],
|
||||
'none'),
|
||||
// TODO(antonm): fix the option drt.
|
||||
new _TestOptionSpecification(
|
||||
|
@ -75,6 +75,9 @@ class TestOptionsParser {
|
|||
'''Where the tests should be run.
|
||||
vm: Run Dart code on the standalone dart vm.
|
||||
|
||||
dart_precompiled: Run a precompiled snapshot on a variant of the standalone
|
||||
dart vm lacking a JIT.
|
||||
|
||||
d8: Run JavaScript from the command line using v8.
|
||||
|
||||
jsshell: Run JavaScript from the command line using firefox js-shell.
|
||||
|
@ -95,7 +98,8 @@ class TestOptionsParser {
|
|||
none: No runtime, compile only (for example, used for dart2analyzer static
|
||||
analysis tests).''',
|
||||
['-r', '--runtime'],
|
||||
['vm', 'd8', 'jsshell', 'drt', 'dartium', 'ff', 'firefox',
|
||||
['vm', 'dart_precompiled', 'd8', 'jsshell', 'drt', 'dartium',
|
||||
'ff', 'firefox',
|
||||
'chrome', 'safari', 'ie9', 'ie10', 'ie11', 'opera',
|
||||
'chromeOnAndroid', 'safarimobilesim',
|
||||
'ContentShellOnAndroid', 'DartiumOnAndroid', 'none'],
|
||||
|
@ -644,6 +648,9 @@ Note: currently only implemented for dart2js.''',
|
|||
case 'dart2analyzer':
|
||||
validRuntimes = const ['none'];
|
||||
break;
|
||||
case 'precompiler':
|
||||
validRuntimes = const ['dart_precompiled'];
|
||||
break;
|
||||
case 'none':
|
||||
validRuntimes = const ['vm', 'drt', 'dartium',
|
||||
'ContentShellOnAndroid', 'DartiumOnAndroid'];
|
||||
|
|
|
@ -1679,6 +1679,10 @@ CommandOutput createCommandOutput(Command command,
|
|||
return new VmCommandOutputImpl(
|
||||
command, exitCode, timedOut, stdout, stderr, time, pid);
|
||||
} else if (command is CompilationCommand) {
|
||||
if (command.displayName == 'precompiler.dart') {
|
||||
return new VmCommandOutputImpl(
|
||||
command, exitCode, timedOut, stdout, stderr, time, pid);
|
||||
}
|
||||
return new CompilationCommandOutputImpl(
|
||||
command, exitCode, timedOut, stdout, stderr, time, compilationSkipped);
|
||||
} else if (command is JSCommandlineCommand) {
|
||||
|
|
|
@ -212,6 +212,19 @@ abstract class TestSuite {
|
|||
return dartExecutable;
|
||||
}
|
||||
|
||||
String get dartPrecompiledBinaryFileName {
|
||||
// Controlled by user with the option "--dart_precompiled".
|
||||
String dartExecutable = configuration['dart_precompiled'];
|
||||
|
||||
if (dartExecutable == null || dartExecutable == '') {
|
||||
String suffix = executableBinarySuffix;
|
||||
dartExecutable = '$buildDir/dart_precompiled$suffix';
|
||||
}
|
||||
|
||||
TestUtils.ensureExists(dartExecutable, configuration);
|
||||
return dartExecutable;
|
||||
}
|
||||
|
||||
String get d8FileName {
|
||||
var suffix = getExecutableSuffix('d8');
|
||||
var d8Dir = TestUtils.dartDir.append('third_party/d8');
|
||||
|
@ -1009,9 +1022,10 @@ class StandardTestSuite extends TestSuite {
|
|||
List<String> compileTimeArguments = <String>[];
|
||||
String tempDir;
|
||||
if (compilerConfiguration.hasCompiler) {
|
||||
compileTimeArguments
|
||||
..addAll(sharedOptions)
|
||||
..addAll(args);
|
||||
compileTimeArguments =
|
||||
compilerConfiguration.computeCompilerArguments(vmOptions,
|
||||
sharedOptions,
|
||||
args);
|
||||
// Avoid doing this for analyzer.
|
||||
tempDir = createCompilationOutputDirectory(info.filePath);
|
||||
}
|
||||
|
@ -1772,8 +1786,8 @@ class StandardTestSuite extends TestSuite {
|
|||
}
|
||||
|
||||
List<List<String>> getVmOptions(Map optionsFromFile) {
|
||||
var COMPILERS = const ['none'];
|
||||
var RUNTIMES = const ['none', 'vm', 'drt', 'dartium',
|
||||
var COMPILERS = const ['none', 'precompiler'];
|
||||
var RUNTIMES = const ['none', 'dart_precompiled', 'vm', 'drt', 'dartium',
|
||||
'ContentShellOnAndroid', 'DartiumOnAndroid'];
|
||||
var needsVmOptions = COMPILERS.contains(configuration['compiler']) &&
|
||||
RUNTIMES.contains(configuration['runtime']);
|
||||
|
|
Loading…
Reference in a new issue