# 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 == none) && ( $runtime == dartium || $runtime == drt) ]
browser/package_resolve_browser_test: Fail # Issue 28382

[ ($compiler == none) && ( $runtime == dartium || $runtime == drt) && ($system == windows) ]
browser/package_resolve_browser_test: Skip # Temporarily disabled working on CL to fix under Windows.

[ $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.

[ $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 ]
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
