# 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 == 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/deferred_multi_app_htmltest: Skip # Times out on IE.  Issue 21537
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/no_linked_scripts_htmltest: Skip # Times out on IE.  Issue 21537
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/scripts_htmltest: Skip # Times out on IE.  Issue 21537
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/two_scripts_htmltest: Skip # Times out on IE.  Issue 21537
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
async/timer_regress22626_test: Pass, RuntimeError # Timing dependent.
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_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 == 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 ]
mirrors/redirecting_factory_test: CompileTimeError # Issue 30855

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

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

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