# Copyright (c) 2017, 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.
html/cross_frame_test: Skip # Issue 32039, test reloads itself (not by design - investigate)
wasm/*: Skip # dart:wasm is currently behind a Dart SDK build flag.

[ $arch == simarm64 ]
convert/utf85_test: Skip # Pass, Slow Issue 20111.

[ $arch == simarmv5te ]
mirrors/mirrors_reader_test: Slow

[ $mode == product ]
developer/timeline_test: Skip # Not supported
isolate/issue_24243_parent_isolate_test: Skip # Requires checked mode

[ $runtime == ff ]
convert/streamed_conversion_utf8_decode_test: Slow # Issue 12029
mirrors/mirrors_reader_test: Slow # Issue 16589

[ $runtime == ie11 ]
html/request_animation_frame_test: Skip # Times out. Issue 22167
html/transition_event_test: Skip # Times out. Issue 22167

[ $runtime == safari ]
html/indexeddb_1_test/functional: Skip # Times out. Issue 21433
html/indexeddb_3_test: Skip # Times out 1 out of 10.
html/worker_api_test: Skip # Issue 13221

[ $system == windows ]
html/xhr_test/xhr: Skip # Times out.  Issue 21527

[ $csp ]
isolate/deferred_in_isolate2_test: Skip # Issue 16898. Deferred loading does not work from an isolate in CSP-mode

[ $runtime == chrome && $system == linux ]
mirrors/native_class_test: Slow

[ $runtime == chrome && $system == macos ]
convert/streamed_conversion_utf8_encode_test: SkipSlow # Times out. Issue 22050
html/canvasrenderingcontext2d_test/drawImage_video_element: Skip # Times out. Please triage this failure.
html/canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Skip # Times out. Please triage this failure.
html/request_animation_frame_test: Skip # Times out. Issue 22167
html/transition_event_test: Skip # Times out. Issue 22167

[ $runtime != dart_precompiled && ($runtime != vm || $compiler != dartk && $compiler != none) ]
isolate/vm_rehash_test: SkipByDesign

[ $arch == simarm || $arch == simarmv5te || $arch == simarmv6 ]
convert/utf85_test: Skip # Pass, Slow Issue 12644.

[ $arch != x64 || $compiler == dartkb || $runtime != vm ]
isolate/int32_length_overflow_test: SkipSlow

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

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

[ $runtime == chrome || $runtime == ff ]
async/slow_consumer2_test: SkipSlow # Times out. Issue 22050
async/stream_timeout_test: SkipSlow # Times out. Issue 22050

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

# It makes no sense to run any test that uses spawnURI under the simulator
# as that would involve running CFE (the front end) in simulator mode
# to compile the URI file specified in spawnURI code.
# These Isolate tests that use spawnURI are hence skipped on purpose.
[ $runtime == dart_precompiled || $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simdbc64) ]
isolate/count_test: Skip # Isolate.spawnUri
isolate/cross_isolate_message_test: Skip # Isolate.spawnUri
isolate/deferred_in_isolate2_test: Skip # Isolate.spawnUri
isolate/deferred_in_isolate_test: Skip # Isolate.spawnUri
isolate/error_at_spawnuri_test: Skip # Isolate.spawnUri
isolate/error_exit_at_spawnuri_test: Skip # Isolate.spawnUri
isolate/exit_at_spawnuri_test: Skip # Isolate.spawnUri
isolate/illegal_msg_function_test: Skip # Isolate.spawnUri
isolate/illegal_msg_mirror_test: Skip # Isolate.spawnUri
isolate/isolate_complex_messages_test: Skip # Isolate.spawnUri
isolate/issue_21398_parent_isolate1_test: Skip # Isolate.spawnUri
isolate/issue_21398_parent_isolate_test: Skip # Isolate.spawnUri
isolate/issue_24243_parent_isolate_test: Skip # Isolate.spawnUri
isolate/issue_6610_test: Skip # Isolate.spawnUri
isolate/mandel_isolate_test: Skip # Isolate.spawnUri
isolate/message2_test: Skip # Isolate.spawnUri
isolate/message_test: Skip # Isolate.spawnUri
isolate/mint_maker_test: Skip # Isolate.spawnUri
isolate/nested_spawn2_test: Skip # Isolate.spawnUri
isolate/nested_spawn_test: Skip # Isolate.spawnUri
isolate/raw_port_test: Skip # Isolate.spawnUri
isolate/request_reply_test: Skip # Isolate.spawnUri
isolate/spawn_function_custom_class_test: Skip # Isolate.spawnUri
isolate/spawn_function_test: Skip # Isolate.spawnUri
isolate/spawn_uri_exported_main_test: Skip # Isolate.spawnUri
isolate/spawn_uri_missing_from_isolate_test: Skip # Isolate.spawnUri
isolate/spawn_uri_missing_test: Skip # Isolate.spawnUri
isolate/spawn_uri_multi_test: Skip # Isolate.spawnUri
isolate/spawn_uri_nested_vm_test: Skip # Isolate.spawnUri
isolate/spawn_uri_test: Skip # Isolate.spawnUri
isolate/spawn_uri_vm_test: Skip # Isolate.spawnUri
isolate/stacktrace_message_test: Skip # Isolate.spawnUri
isolate/static_function_test: Skip # Isolate.spawnUri
isolate/unresolved_ports_test: Skip # Isolate.spawnUri

[ $hot_reload || $hot_reload_rollback ]
convert/chunked_conversion_utf88_test: SkipSlow
convert/utf85_test: SkipSlow
isolate/deferred_in_isolate2_test: Crash # Requires deferred libraries
isolate/deferred_in_isolate_test: Crash # Requires deferred libraries
isolate/issue_21398_parent_isolate2_test: Crash # Requires deferred libraries
isolate/spawn_uri_nested_vm_test: Crash # Issue 28192
mirrors/closurization_equivalence_test: SkipByDesign # Method equality
mirrors/deferred_constraints_constants_test: Crash # Requires deferred libraries
mirrors/deferred_mirrors_metadata_test: Crash # Deferred loading
mirrors/deferred_mirrors_metatarget_test: Crash # Deferred loading
mirrors/deferred_mirrors_update_test: Crash # Deferred loading
mirrors/library_enumeration_deferred_loading_test: Crash # Deferred loading
mirrors/library_import_deferred_loading_test: Crash # Deferred loading
mirrors/library_imports_deferred_test: Crash # Deferred loading
mirrors/load_library_test: Crash # Deferred loading
mirrors/typedef_deferred_library_test: Crash # Deferred loading
