# 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 && $compiler == none && $system == fuchsia]
*: Skip  # Not yet triaged.

[ $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 == dart2analyzer && $builder_tag == strong ]
*: Skip # Issue 28649

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