# 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

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