# 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.

[ $runtime == vm || $runtime == dart_precompiled ]
browser/*: SkipByDesign  # Browser specific tests
isolate_stress_test: Skip # Issue 12588: Uses dart:html. This should be able to pass when we have wrapper-less tests.

[ $runtime != vm || $mode == product || $compiler == app_jit ]
checked_test: Skip # Unsupported.

[ ($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 == precompiler || $compiler == app_jit ]
compile_time_error_test/01: Skip # Issue 12587
ping_test: Skip           # Resolve test issues
ping_pause_test: Skip     # Resolve test issues
kill3_test: Pass, Fail    # Bad test: expects total message order

message3_test/int32x4: Crash, Timeout # Issue 21818

[ $compiler == dart2js && $runtime == safarimobilesim ]
compile_time_error_test/none: Pass, Slow

[ $compiler == dart2js && $jscl ]
browser/*: SkipByDesign  # Browser specific tests

[ $compiler == dart2js && $runtime == jsshell ]
pause_test: Fail, OK  # non-zero timer not supported.
timer_isolate_test: Fail, OK # Needs Timer to run.

[ $compiler == dart2js && $runtime == safari ]
cross_isolate_message_test: Skip # Issue 12627
message_test: Skip # Issue 12627

[ $compiler == dart2js ]
spawn_uri_vm_test: SkipByDesign # Test uses a ".dart" URI.
spawn_uri_nested_vm_test: SkipByDesign # Test uses a ".dart" URI.
spawn_uri_exported_main_test: SkipByDesign # Test uses a ".dart" URI.
issue_21398_parent_isolate_test: SkipByDesign # Test uses a ".dart" URI.
issue_21398_parent_isolate1_test: SkipByDesign # Test uses a ".dart" URI.
issue_21398_parent_isolate2_test: SkipByDesign # Test uses a ".dart" URI.
issue_24243_parent_isolate_test: SkipByDesign # Test uses a ".dart" URI.
function_send1_test: SkipByDesign   # Test uses a ".dart" URI.
error_exit_at_spawnuri_test: SkipByDesign  # Test uses a ".dart" URI.
error_at_spawnuri_test: SkipByDesign  # Test uses a ".dart" URI.
exit_at_spawnuri_test: SkipByDesign  # Test uses a ".dart" URI.
message3_test/constList: RuntimeError # Issue 21817
message3_test/constList_identical: RuntimeError # Issue 21817
message3_test/constMap: RuntimeError  # Issue 21817
message3_test/constInstance: RuntimeError # Issue 21817
browser/issue_12474_test: CompileTimeError # Issue 22529
enum_const_test/02: RuntimeError # Issue 21817

[ $compiler == dart2js && $runtime != d8 ]
error_exit_at_spawn_test: Skip # Issue 23876
error_at_spawn_test: Skip # Issue 23876
exit_at_spawn_test: Skip # Issue 23876

[ $compiler == dart2js && $jscl ]
spawn_uri_test: SkipByDesign # Loading another file is not supported in JS shell

[ $compiler == dart2js && $fast_startup ]
browser/compute_this_script_browser_test: Fail # mirrors not supported
browser/typed_data_message_test: Fail # mirrors not supported
count_test: Fail # mirrors not supported
cross_isolate_message_test: Fail # mirrors not supported
illegal_msg_function_test: Fail # mirrors not supported
illegal_msg_mirror_test: Fail # mirrors not supported
isolate_complex_messages_test: Fail # mirrors not supported
mandel_isolate_test: Fail # mirrors not supported
message2_test: Fail # mirrors not supported
message_test: Fail # mirrors not supported
mint_maker_test: Fail # mirrors not supported
nested_spawn2_test: Fail # mirrors not supported
nested_spawn_test: Fail # mirrors not supported
raw_port_test: Fail # mirrors not supported
remote_unittest_helper: Fail # mirrors not supported
request_reply_test: Fail # mirrors not supported
spawn_function_custom_class_test: Fail # mirrors not supported
spawn_function_test: Fail # mirrors not supported
stacktrace_message_test: Fail # mirrors not supported
static_function_test: Fail # mirrors not supported
unresolved_ports_test: Fail # mirrors not supported

[ $compiler == dart2js && $fast_startup && $browser == false ]
isolate_current_test: Fail  # please triage

[ $csp ]
deferred_in_isolate2_test: Skip # Issue 16898. Deferred loading does not work from an isolate in CSP-mode
browser/package_resolve_browser_hook_test: SkipByDesign # Test written in a way that violates CSP.

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
isolate_stress_test: Pass, Slow # TODO(kasperl): Please triage.

mandel_isolate_test: Pass, Timeout # TODO(kasperl): Please triage.

[ $compiler == dart2js && ( $runtime == ff || $runtime == safari || $runtime == drt || $runtime == chrome || $runtime == chromeOnAndroid) ]
isolate_stress_test: Pass, Slow # Issue 10697

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
unresolved_ports_test: Pass, Timeout # Issue 15610

[ $jscl ]
spawn_uri_multi_test/none: RuntimeError # Issue 13544

[ ($compiler == none) && $runtime == dartium && $arch == x64 ]
spawn_uri_multi_test/01: Skip # Times out. Issue 24795

[ ($compiler == none) && ( $runtime == dartium || $runtime == drt) ]
spawn_uri_nested_vm_test: Skip # Issue 14479: This test is timing out. Issue 14463
typed_message_test: Skip # Issue 13921, 14400
isolate_stress_test: Skip # Issue 13921 Dom isolates don't support spawnFunction
object_leak_test: Skip # Issue 13921 Dom isolates don't support spawnFunction
send_private_test: Skip # Issue 13921 Dom isolates don't support spawnFunction
spawn_uri_missing_from_isolate_test: Skip # Issue 17649
spawn_uri_missing_test: SkipSlow # Times out.
kill3_test: Fail, OK  # 13921 Dom isolates don't support spawnFunction
timer_isolate_test: Fail, Pass # Issue 15487. Issue 13921: Dom isolates don't support spawnFunction
deferred_in_isolate2_test: Skip  # Issue 16209, 13921 Dom isolates don't support spawnFunction
bool_from_environment_default_value_test: Skip
int_from_environment_default_value_test: Skip
string_from_environment_default_value_test: Skip
error_exit_at_spawn_test: SkipByDesign  # 13921 Dom isolates don't support spawnFunction
error_at_spawn_test: SkipByDesign  # 13921 Dom isolates don't support spawnFunction
exit_at_spawn_test: SkipByDesign  # 13921 Dom isolates don't support spawnFunction
error_exit_at_spawnuri_test: SkipByDesign  # 13921 Dom isolates don't support spawnFunction
error_at_spawnuri_test: SkipByDesign  # 13921 Dom isolates don't support spawnFunction
exit_at_spawnuri_test: SkipByDesign  # 13921 Dom isolates don't support spawnFunction
issue_21398_parent_isolate2_test/01: SkipByDesign  # Uses spawnFunction
compile_time_error_test/none: RuntimeError, OK  # Uses Isolate.spawn.
function_send_test: RuntimeError, OK  # Uses Isolate.spawn.
handle_error2_test: RuntimeError, OK  # Uses Isolate.spawn.
handle_error3_test: RuntimeError, OK  # Uses Isolate.spawn.
handle_error_test: RuntimeError, OK  # Uses Isolate.spawn.
isolate_current_test: RuntimeError, OK  # Uses Isolate.spawn.
isolate_import_test/none: RuntimeError, OK  # Uses Isolate.spawn.
issue_21398_parent_isolate1_test: RuntimeError, OK  # Uses Isolate.spawn.
issue_21398_parent_isolate_test: RuntimeError, OK  # Uses Isolate.spawn.
kill2_test: RuntimeError, OK  # Uses Isolate.spawn.
kill_self_test: RuntimeError, OK  # Uses Isolate.spawn.
kill_test: RuntimeError, OK  # Uses Isolate.spawn.
message3_test/byteBuffer: RuntimeError, OK  # Uses Isolate.spawn.
message3_test/constInstance: RuntimeError, OK  # Uses Isolate.spawn.
message3_test/constList: RuntimeError, OK  # Uses Isolate.spawn.
message3_test/constList_identical: RuntimeError, OK  # Uses Isolate.spawn.
message3_test/constMap: RuntimeError, OK  # Uses Isolate.spawn.
message3_test/fun: RuntimeError, OK  # Uses Isolate.spawn.
message3_test/none: RuntimeError, OK  # Uses Isolate.spawn.
message_enum_test: RuntimeError, OK  # Uses Isolate.spawn.
ondone_test: RuntimeError, OK  # Uses Isolate.spawn.
pause_test: RuntimeError, OK  # Uses Isolate.spawn.
simple_message_test/none: RuntimeError, OK  # Uses Isolate.spawn.
start_paused_test: RuntimeError, OK  # Uses Isolate.spawn.
message3_test/int32x4: RuntimeError, OK  # Uses Isolate.spawn.
browser/package_resolve_browser_hook*: Skip # Tests that use defaultPackagesBase (not supported in Dartium).

[ $compiler == dart2analyzer ]
browser/typed_data_message_test: StaticWarning
mint_maker_test: StaticWarning

[ $compiler == none && $runtime == vm ]
scenarios/short_package/short_package_test: Fail, OK  # We do not plan to support the tested behavior anyway.

[ $compiler != none || $runtime != vm ]
package_root_test: SkipByDesign  # Uses Isolate.packageRoot
package_config_test: SkipByDesign  # Uses Isolate.packageConfig
package_resolve_test: SkipByDesign  # Uses Isolate.resolvePackageUri
spawn_uri_fail_test: SkipByDesign  # Uses dart:io.
scenarios/*: SkipByDesign  # Use automatic package resolution, spawnFunction and .dart URIs.

[ $noopt || $compiler == precompiler || $mode == product ]
# Imports dart:mirrors
count_test: SkipByDesign
cross_isolate_message_test: SkipByDesign
illegal_msg_function_test: SkipByDesign
illegal_msg_mirror_test: SkipByDesign
isolate_complex_messages_test: SkipByDesign
mandel_isolate_test: SkipByDesign
message2_test: SkipByDesign
message_test: SkipByDesign
mint_maker_test: SkipByDesign
nested_spawn2_test: SkipByDesign
nested_spawn_test: SkipByDesign
raw_port_test: SkipByDesign
request_reply_test: SkipByDesign
spawn_function_custom_class_test: SkipByDesign
spawn_function_test: SkipByDesign
stacktrace_message_test: SkipByDesign
static_function_test: SkipByDesign
unresolved_ports_test: SkipByDesign

[ $runtime == dart_precompiled || $compiler == app_jit ]
count_test: Skip # Isolate.spawnUri
cross_isolate_message_test: Skip # Isolate.spawnUri
deferred_in_isolate2_test: Skip # Isolate.spawnUri
deferred_in_isolate_test: Skip # Isolate.spawnUri
deferred_in_isolate_test: Skip # Isolate.spawnUri
error_at_spawnuri_test: Skip # Isolate.spawnUri
error_exit_at_spawnuri_test: Skip # Isolate.spawnUri
exit_at_spawnuri_test: Skip # Isolate.spawnUri
illegal_msg_function_test: Skip # Isolate.spawnUri
illegal_msg_mirror_test: Skip # Isolate.spawnUri
isolate_complex_messages_test: Skip # Isolate.spawnUri
issue_21398_parent_isolate1_test: Skip # Isolate.spawnUri
issue_21398_parent_isolate_test: Skip # Isolate.spawnUri
issue_24243_parent_isolate_test: Skip # Isolate.spawnUri
mandel_isolate_test: Skip # Isolate.spawnUri
message2_test: Skip # Isolate.spawnUri
message_test: Skip # Isolate.spawnUri
mint_maker_test: Skip # Isolate.spawnUri
nested_spawn2_test: Skip # Isolate.spawnUri
nested_spawn_test: Skip # Isolate.spawnUri
raw_port_test: Skip # Isolate.spawnUri
request_reply_test: Skip # Isolate.spawnUri
spawn_function_custom_class_test: Skip # Isolate.spawnUri
spawn_function_test: Skip # Isolate.spawnUri
spawn_uri_exported_main_test: Skip # Isolate.spawnUri
spawn_uri_missing_from_isolate_test: Skip # Isolate.spawnUri
spawn_uri_missing_test: Skip # Isolate.spawnUri
spawn_uri_multi_test: Skip # Isolate.spawnUri
spawn_uri_nested_vm_test: Skip # Isolate.spawnUri
spawn_uri_test: Skip # Isolate.spawnUri
spawn_uri_vm_test: Skip # Isolate.spawnUri
stacktrace_message_test: Skip # Isolate.spawnUri
static_function_test: Skip # Isolate.spawnUri
unresolved_ports_test: Skip # Isolate.spawnUri

[ $mode == product ]
issue_24243_parent_isolate_test: Skip # Requires checked mode

[ $hot_reload || $hot_reload_rollback ]
function_send_test: Pass, Fail # Closure identity
message3_test/fun: Pass, Fail # Closure identity
deferred_in_isolate_test: Crash # Requires deferred libraries
deferred_in_isolate2_test: Crash # Requires deferred libraries
issue_21398_parent_isolate2_test: Crash # Requires deferred libraries
spawn_uri_nested_vm_test: Pass, Crash # Issue 28192

[ $builder_tag == asan && $arch == x64 ]
function_send_test: Fail # Issue 28351
function_send1_test: Fail # Issue 28351
issue_21398_parent_isolate_test: Fail # Issue 28351
