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

[ $compiler == dartdevc ]
html/element_types_keygen_test: CompileTimeError # Chrome 57 keygen removed
html/xhr_test: Pass, Slow

[ $compiler == dartdevk ]
async/slow_consumer_test: CompileTimeError
convert/chunked_conversion_utf82_test: RuntimeError
convert/chunked_conversion_utf86_test: RuntimeError
convert/chunked_conversion_utf87_test: RuntimeError
convert/utf82_test: RuntimeError
html/debugger_test: CompileTimeError

[ $runtime == chrome && ($compiler == dartdevc || $compiler == dartdevk) ]
html/element_animate_test/timing_dict: RuntimeError # Issue 29922
html/element_types_keygen_test: CompileTimeError # Issue 29055
html/js_dispatch_property_test: Skip # Timeout Issue 31030

[ $runtime == drt && ($compiler == dartdevc || $compiler == dartdevk) ]
html/svg_test: RuntimeError # Issue 29922
math/math2_test: RuntimeError # Issue 29922
math/math_test: RuntimeError # Issue 29922

[ $system == linux && ($compiler == dartdevc || $compiler == dartdevk) ]
html/interactive_geolocation_test: Skip # Requires allowing geo location.
html/interactive_media_test: RuntimeError # # See NOTE in test on how to run.

[ $system == macos && ($compiler == dartdevc || $compiler == dartdevk) ]
html/client_rect_test: Pass, RuntimeError # Issue 31019
html/css_test: Pass, RuntimeError # Issue 31019
html/fileapi_entry_test: Pass, RuntimeError # Issue 31019

[ $system == windows && ($compiler == dartdevc || $compiler == dartdevk) ]
html/xhr_test: Skip # Times out. Issue 21527

[ $compiler == dartdevc || $compiler == dartdevk ]
async/async_await_sync_completer_test: RuntimeError # Issue 29922
async/async_await_zones_test: RuntimeError # Issue 29922
async/future_or_bad_type_test/implements: RuntimeError # Issue 29922
async/future_or_bad_type_test/none: RuntimeError # Issue 29922
async/future_test: RuntimeError # Issue 29922
async/slow_consumer_test: Pass, Timeout # Issue 29922
async/stream_controller_async_test: RuntimeError
async/stream_distinct_test: RuntimeError # Issue 29922
async/stream_join_test: RuntimeError
async/stream_subscription_as_future_test: RuntimeError
async/timer_not_available_test: RuntimeError
convert/base64_test/01: Fail, OK # Uses bit-wise operations to detect invalid values. Some large invalid values accepted by DDC/dart2js.
convert/chunked_conversion_utf88_test: Slow, Pass
convert/json_utf8_chunk_test: Slow, Pass
convert/streamed_conversion_json_utf8_encode_test: Pass, Timeout # Issue 29922
convert/streamed_conversion_utf8_decode_test: Slow, Pass
convert/streamed_conversion_utf8_encode_test: Pass, Timeout # Issue 29922
convert/utf85_test: Slow, Pass
html/async_spawnuri_test: RuntimeError # Issue 29922
html/async_test: RuntimeError # Issue 29922
html/custom/attribute_changed_callback_test: Skip # Issue 31577
html/custom/constructor_calls_created_synchronously_test: Skip # Issue 31577
html/custom/created_callback_test: RuntimeError
html/custom/created_callback_test: Skip # Issue 31577
html/custom/document_register_basic_test: Skip # Issue 31577
html/custom/document_register_template_test: Skip # Issue 31577
html/custom/document_register_type_extensions_test/construction: Skip # Issue 31577
html/custom/document_register_type_extensions_test/constructors: Skip # Issue 31577
html/custom/document_register_type_extensions_test/createElement with type extension: Skip # Issue 31577
html/custom/document_register_type_extensions_test/functional: Skip # Issue 31577
html/custom/document_register_type_extensions_test/namespaces: Skip # Issue 31577
html/custom/document_register_type_extensions_test/parsing: Skip # Issue 31577
html/custom/document_register_type_extensions_test/registration: Skip # Issue 31577
html/custom/document_register_type_extensions_test/single-parameter createElement: Skip # Issue 31577
html/custom/element_upgrade_test: Skip # Issue 31577
html/custom/entered_left_view_test: Skip # Issue 31577
html/custom/js_custom_test: Crash # Issue 29922
html/custom/mirrors_2_test: Skip # Issue 31577
html/custom/mirrors_test: Crash # Issue 29922
html/custom/regress_194523002_test: Crash # Issue 29922
html/custom_element_method_clash_test: Skip # Issue 29922
html/custom_element_name_clash_test: Skip # Issue 29922
html/custom_elements_23127_test: Skip # Issue 29922
html/custom_elements_test: Skip # Issue 29922
html/deferred_multi_app_htmltest: Skip # Issue 29919
html/element_classes_svg_test: RuntimeError # Issue 29922
html/element_classes_test: RuntimeError # Issue 29922
html/fontface_loaded_test: RuntimeError
html/interactive_media_test: RuntimeError # See NOTE in test on how to run and interactive permissions (camera, geolocation)
html/isolates_test: RuntimeError # Issue 29922
html/js_typed_interop_default_arg_test/default_value: MissingCompileTimeError # Issue 29922
html/js_typed_interop_side_cast_exp_test/01: RuntimeError # Requires --experimental-trust-js-interop-type-annotations flag.
html/js_typed_interop_type3_test/*: RuntimeError # Issue 30947
html/js_typed_interop_type_test: RuntimeError # Issue 30947
html/js_util_test: RuntimeError # Issue 29922
html/media_stream_test: RuntimeError # Issue 29922
html/mediasource_test: RuntimeError # Issue 29922
html/no_linked_scripts_htmltest: Skip # Issue 29919
html/notification_permission_test: Timeout # Issue 32002
html/scripts_htmltest: Skip # Issue 29919
html/transition_event_test: Pass, RuntimeError, Timeout # Issue 29922, this test seems flaky
html/two_scripts_htmltest: Skip # Issue 29919
html/webgl_extensions_test: RuntimeError # Issue 31017
html/worker_api_test: RuntimeError # Issue 29922
isolate/*: SkipByDesign # No support for dart:isolate in dart4web (http://dartbug.com/30538)
js/null_test: RuntimeError # Issue 30652
math/double_pow_test: RuntimeError # Issue 29922
math/low_test: RuntimeError # Issue 29922
math/random_big_test: RuntimeError # Issue 29922
mirrors/*: SkipByDesign # Mirrors not supported on web in Dart 2.0.
mirrors/private_types_test: RuntimeError # Issue 29922
mirrors/reflect_runtime_type_test: RuntimeError # Issue 29922
mirrors/reflect_uninstantiated_class_test: RuntimeError # Issue 29922
mirrors/reflected_type_function_type_test: RuntimeError # Issue 29922
mirrors/reflected_type_special_types_test: RuntimeError # Issue 29922
mirrors/reflected_type_typedefs_test: RuntimeError # Issue 29922
mirrors/reflected_type_typevars_test: RuntimeError # Issue 29922
mirrors/regress_14304_test: RuntimeError # Issue 29922
profiler/metrics_num_test: Skip # Because of an int / double type test.
typed_data/int32x4_arithmetic_test/int64: RuntimeError # Issue 29922
typed_data/int64_list_load_store_test: RuntimeError # Issue 29922
typed_data/typed_data_hierarchy_int64_test: RuntimeError # Issue 29922
typed_data/unmodifiable_typed_data_test: RuntimeError # Issue 10275
