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

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

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

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

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

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