# 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/mediasource_test: RuntimeError # Issue 29922
html/xhr_test: Pass, Slow

[ $compiler == dartdevk ]
async/slow_consumer_test: CompileTimeError
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

[ $system == linux && ($compiler == dartdevc || $compiler == dartdevk) ]
html/interactive_geolocation_test: Skip # Requires allowing geo location.

[ $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
html/interactive_media_test: Skip # Requires interactive camera, microphone permissions.

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

[ $compiler == dartdevc || $compiler == dartdevk ]
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_distinct_test: RuntimeError # Issue 29922
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, Timeout # Issue 29922
convert/utf85_test: Slow, Pass
html/async_spawnuri_test: RuntimeError # Issue 29922
html/async_test: RuntimeError # Issue 29922
html/callback_list_test: Skip # Test requires user interaction to accept permissions.
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/element_classes_test: RuntimeError # Issue 29922
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/notification_permission_test: Skip # Issue 32002
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
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/double_pow_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
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/int32x4_arithmetic_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
typed_data/int32x4_arithmetic_test/none: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
typed_data/int64_list_load_store_test: RuntimeError # Issue 29922
typed_data/int64_list_load_store_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
typed_data/typed_data_hierarchy_int64_test: RuntimeError # Issue 29922
typed_data/unmodifiable_typed_data_test: RuntimeError # Issue 10275
