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

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

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

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

[ $runtime == chrome ]
html/element_animate_test/timing_dict: RuntimeError # Issue 26730

[ $runtime == dart_precompiled ]
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

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

[ $runtime == ie11 ]
html/audiobuffersourcenode_test/supported: Fail
html/audiocontext_test/supported: Fail
html/canvasrenderingcontext2d_test/arc: Pass, Fail # Pixel unexpected value. Please triage this failure.
html/canvasrenderingcontext2d_test/drawImage_video_element: Fail # IE does not support drawImage w/ video element
html/canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Fail # IE does not support drawImage w/ video element
html/crypto_test/supported: Fail
html/css_test/supportsPointConversions: Fail
html/custom/document_register_type_extensions_test/single-parameter: Fail # Issue 13193.
html/element_animate_test: Fail # Element.animate not supported on these browsers.
html/element_test/click: Fail # IE does not support firing this event.
html/event_test: RuntimeError # Issue 23437. Only three failures, but hard to break them out.
html/fileapi_supported_test: Fail
html/gamepad_test: Fail # IE does not support Navigator.getGamepads()
html/history_hash_change_test: Fail
html/indexeddb_5_test: Fail # Issue 12893
html/input_element_date_test: Fail
html/input_element_datetime_test: Fail
html/input_element_month_test: Fail
html/input_element_time_test: Fail
html/input_element_week_test: Fail
html/js_transferrables_test: RuntimeError # Issue 14246
html/js_util_test/callConstructor: RuntimeError # Issue 26978
html/localstorage_test: Pass, RuntimeError # Issue 22166
html/media_stream_test: Pass, Fail
html/mediasource_test: Pass, Fail # Windows 8: Supported: yes, functional: no
html/notification_test: Fail # Notification not supported on IE
html/postmessage_structured_test: Fail # Does not support the MessageEvent constructor.
html/request_animation_frame_test: Skip # Times out. Issue 22167
html/rtc_test: Fail
html/serialized_script_value_test: Fail
html/shadow_dom_test: Fail
html/speechrecognition_test: Fail
html/storage_test: Pass, RuntimeError # Issue 22166
html/svgelement_test: Fail
html/text_event_test: RuntimeError # Issue 23437
html/touchevent_test: Fail # IE does not support TouchEvents
html/transferables_test: Pass, Fail # Issues 20659.
html/transition_event_test: Skip # Times out. Issue 22167
html/webgl_1_test: Fail
html/websocket_test: Fail # Issue 7875. Closed with "working as intended".
html/websql_test: Fail
html/wheelevent_test: RuntimeError # Issue 23437
html/worker_test/functional: Pass, Fail # Issues 20659.
html/xhr_test/json: Fail # IE10 returns string, not JSON object

[ $runtime == safari ]
html/audiobuffersourcenode_test/functional: RuntimeError
html/canvasrenderingcontext2d_test/drawImage_video_element: Fail # Safari does not support drawImage w/ video element
html/canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Fail # Safari does not support drawImage w/ video element
html/element_animate_test: Fail # Element.animate not supported on these browsers.
html/element_test: Pass, Fail # Issue 21434
html/fileapi_supported_test: Fail
html/gamepad_test: Fail # Safari does not support Navigator.getGamepads()
html/indexeddb_1_test/functional: Skip # Times out. Issue 21433
html/indexeddb_2_test: RuntimeError # Issue 21433
html/indexeddb_3_test: Skip # Times out 1 out of 10.
html/indexeddb_4_test: RuntimeError # Issue 21433
html/indexeddb_5_test: RuntimeError # Issue 21433
html/input_element_date_test: Fail
html/input_element_datetime_test: Fail
html/input_element_month_test: RuntimeError
html/input_element_time_test: RuntimeError
html/input_element_week_test: RuntimeError
html/media_stream_test: Pass, Fail
html/mediasource_test: Pass, Fail # MediaSource only available on Safari 8 desktop, we can't express that.
html/rtc_test: Fail
html/shadow_dom_test: Fail
html/speechrecognition_test: Fail
html/webgl_1_test: Pass, Fail # Issue 8219
html/worker_api_test: Skip # Issue 13221
typed_data/float32x4_test: Fail, Pass # Safari has an optimization bug (nightlies are already fine).
typed_data/int32x4_test: Fail, Pass # Safari has an optimization bug (nightlies are already fine).

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

[ $browser ]
async/periodic_timer2_test: Pass, RuntimeError # Flaky. Issue 32094
async/periodic_timer3_test: Pass, RuntimeError # Flaky. Issue 32094
async/periodic_timer4_test: Pass, RuntimeError # Flaky. Issue 32094

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

[ $hot_reload ]
async/stream_periodic4_test: Pass, RuntimeError # Issue 30904
mirrors/dynamic_load_test: RuntimeError # Issue 26869 - Reload fails to preserve library identity

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

[ !$strong ]
async/future_test: SkipByDesign # Uses Dart 2 syntax.
async/stream_first_where_test/badType: MissingCompileTimeError
async/stream_from_iterable_test: SkipByDesign # Uses Dart 2 syntax.
async/stream_last_where_test/badType: MissingCompileTimeError
mirrors/redirecting_factory_different_type_test/02: MissingCompileTimeError

[ $builder_tag == mac10_7 && $runtime == safari ]
typed_data/setRange_2_test: Fail # Safari doesn't fully implement spec for TypedArray.set
typed_data/setRange_3_test: Fail # Safari doesn't fully implement spec for TypedArray.set
typed_data/setRange_4_test: Fail # Safari doesn't fully implement spec for TypedArray.set

[ $compiler != dart2analyzer && $compiler != fasta && !$strong ]
async/future_or_type_test: Fail # Strong mode implements FutureOr, non-strong treats it as dynamic.

[ $compiler != dartdevc && $checked && !$strong ]
async/future_or_only_in_async_test/00: MissingCompileTimeError

[ $compiler == dartk && $system == macos && $hot_reload && ($arch == simdbc || $arch == simdbc64) ]
isolate/unresolved_ports_test: Pass, RuntimeError #  Issue 35410

[ $compiler == none && $mode == product ]
mirrors/library_enumeration_deferred_loading_test: RuntimeError, OK # Deferred loaded eagerly
mirrors/library_import_deferred_loading_test: RuntimeError, OK # Deferred loaded eagerly
mirrors/load_library_test: RuntimeError, OK # Deferred loaded eagerly

[ $compiler == none && !$checked ]
mirrors/redirecting_factory_different_type_test/none: RuntimeError
mirrors/reflected_type_generics_test/02: Fail, OK # Type check for a bounded type argument.

[ $compiler == none && !$fasta ]
mirrors/abstract_class_test: RuntimeError

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

[ $runtime == chrome && $system == macos ]
async/catch_errors11_test: Pass, Timeout # Issue 22696
async/slow_consumer_test: Pass, Timeout # Issue 22696
async/timer_isActive_test: Fail, Pass, Timeout # Issue 22696
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/custom_element_method_clash_test: Pass, Timeout # Issue 26789
html/custom_element_name_clash_test: Pass, Timeout # Issue 26789
html/custom_elements_test: Pass, Timeout # Issue 26789
html/request_animation_frame_test: Skip # Times out. Issue 22167
html/transition_event_test: Skip # Times out. Issue 22167

[ !$checked && !$strong ]
async/future_or_only_in_async_test/00: MissingCompileTimeError
async/multiple_timer_test: Pass, Fail # Timing related
isolate/issue_24243_parent_isolate_test: SkipByDesign # Requires type checks.

[ !$fasta && !$strong ]
isolate/isolate_import_test/01: MissingCompileTimeError
mirrors/top_level_accessors_test/01: MissingCompileTimeError
typed_data/float32x4_static_test: MissingCompileTimeError
typed_data/int32x4_static_test/01: MissingCompileTimeError
typed_data/int32x4_static_test/02: MissingCompileTimeError

[ !$preview_dart_2 && ($runtime == dart_precompiled || $runtime == vm) ]
*: SkipByDesign # Deprecating all Dart1 modes of execution

[ ($compiler != precompiler || $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 == app_jit || $mode == product || $runtime != vm ]
isolate/checked_test: Skip # Unsupported.

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

[ $runtime == chrome || $runtime == chromeOnAndroid ]
html/webgl_1_test: Pass, Fail # Issue 8219

[ $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/browser/*: SkipByDesign # Browser specific tests
isolate/isolate_stress_test: Skip # Issue 12588: Uses dart:html. This should be able to pass when we have wrapper-less tests.
isolate/stacktrace_message_test: RuntimeError # Fails to send stacktrace object.

[ $hot_reload || $hot_reload_rollback ]
async/stream_transformer_test: Pass, Fail # Closure identity
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/function_send_test: Pass, Fail # Closure identity
isolate/issue_21398_parent_isolate2_test: Crash # Requires deferred libraries
isolate/message3_test/fun: Pass, Fail # Closure identity
isolate/spawn_uri_nested_vm_test: Pass, 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
