# 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/custom/attribute_changed_callback_test: Crash # Issue 29922
html/custom/constructor_calls_created_synchronously_test: Crash # Issue 29922
html/custom/document_register_basic_test: RuntimeError # Issue 29922
html/custom/document_register_type_extensions_test/construction: Crash # dartdevc compiler crash Issue 30885
html/custom/document_register_type_extensions_test/constructors: Crash # dartdevc compiler crash Issue 30885
html/custom/document_register_type_extensions_test/createElement with type extension: Crash # dartdevc compiler crash Issue 30885
html/custom/document_register_type_extensions_test/functional: Crash # dartdevc compiler crash Issue 30885
html/custom/document_register_type_extensions_test/namespaces: Crash # dartdevc compiler crash Issue 30885
html/custom/document_register_type_extensions_test/parsing: Crash # dartdevc compiler crash Issue 30885
html/custom/document_register_type_extensions_test/registration: Crash # dartdevc compiler crash Issue 30885
html/custom/document_register_type_extensions_test/single-parameter createElement: Crash # dartdevc compiler crash Issue 30885
html/custom/element_upgrade_test: Crash # Crashes compiler Issue ?????
html/custom/entered_left_view_test: Crash # Issue 29922
html/custom/js_custom_test: Crash # Issue 29922
html/custom/mirrors_test: Crash # Issue 29922
html/custom/regress_194523002_test: Crash # Issue 29922
html/deferred_multi_app_htmltest: Skip # Issue 29919
html/fontface_loaded_test: RuntimeError
html/gamepad_test: RuntimeError # Issue 31029
html/no_linked_scripts_htmltest: Skip # Issue 29919
html/scripts_htmltest: Skip # Issue 29919
html/transferables_test: CompileTimeError # Issue 30975
html/two_scripts_htmltest: Skip # Issue 29919
html/websql_test: Pass, RuntimeError # Issue 31036
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.
profiler/metrics_num_test: Skip # Because of an int / double type test.

[ $compiler == dartdevc && $system == linux ]
html/interactive_media_test: RuntimeError
html/interactive_geolocation_test: Skip # Requires allowing geo location.

[ $compiler == dartdevc && $runtime != none ]
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/futures_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
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/created_callback_test: RuntimeError
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/element_classes_svg_test: RuntimeError # Issue 29922
html/element_classes_test: RuntimeError # Issue 29922
html/indexeddb_1_test/functional: RuntimeError # Issue 29922, strong mode cast failure
html/indexeddb_2_test: RuntimeError, Skip # Times out. Issue 29922, strong mode cast failure
html/interactive_media_test: Skip # requests 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/keyboard_event_test: RuntimeError # Issue 30946
html/media_stream_test: RuntimeError # Issue 29922
html/mediasource_test: RuntimeError # Issue 29922
html/transition_event_test: Pass, RuntimeError, Timeout # Issue 29922, this test seems flaky
html/webgl_extensions_test: RuntimeError # Issue 31017
html/worker_api_test: RuntimeError # Issue 29922
html/xhr_cross_origin_test/functional: RuntimeError # Issue 29922
html/xhr_test/xhr: RuntimeError # Issue 29922, strong mode cast failure
math/random_big_test: RuntimeError # Issue 29922
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
typed_data/int32x4_bigint_test: RuntimeError # Issue 29922
typed_data/int64_list_load_store_test: RuntimeError # Issue 29922
typed_data/typed_data_hierarchy_int64_test: RuntimeError # Issue 29922

[ $strong && $compiler == dartdevc ]
html/custom/document_register_template_test: Crash # Compiler crash issue ????
html/custom/mirrors_2_test: Crash # Compiler crash issue ????

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

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

[ $compiler == dartdevc && $runtime != none ]
html/client_rect_test: RuntimeError # Issue 29922, seems to be a reified type problem with DOMClientRect

[ $compiler == dartdevc && $runtime != none && $system == macos ]
html/client_rect_test: Pass, RuntimeError # Issue 31019
html/css_test: Pass, RuntimeError # Issue 31019

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