# 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 == dart2js && $runtime == jsshell ]
async/catch_errors12_test: Fail # Timer interface not supported: Issue 7728.
async/catch_errors13_test: Fail # Timer interface not supported: Issue 7728.
async/catch_errors14_test: Fail # Timer interface not supported: Issue 7728.
async/catch_errors15_test: Fail # Timer interface not supported: Issue 7728.
async/catch_errors8_test: Fail # Timer interface not supported: Issue 7728.
async/catch_errors22_test: RuntimeError # Timer interface not supported: Issue 7728.
async/catch_errors18_test: Fail # Timer interface not supported: Issue 7728.
async/catch_errors19_test: Fail # Timer interface not supported: Issue 7728.
async/catch_errors20_test: Fail # Timer interface not supported: Issue 7728.
async/catch_errors28_test: Fail # Timer interface not supported: Issue 7728.
async/future_test: RuntimeError # Timer interface not supported; Issue 7728.
async/future_constructor2_test: Fail # Timer interface not supported: Issue 7728.
async/multiple_timer_test: RuntimeError,OK # Needs Timer to run.
async/slow_consumer2_test: RuntimeError # Timer interface not supported; Issue 7728.
async/slow_consumer3_test: RuntimeError # Timer interface not supported; Issue 7728.
async/slow_consumer_test: RuntimeError # Timer interface not supported; Issue 7728.
async/run_zoned7_test: RuntimeError # Timer interface not supported: Issue 7728.
async/run_zoned8_test: Fail # Timer interface not supported: Issue 7728.
async/schedule_microtask_test: Fail  # Preamble file does not correctly implement scheduleImmediate.
async/schedule_microtask3_test: RuntimeError
async/stream_controller_test: Fail # Timer interface not supported: Issue 7728.
async/stream_take_test: Fail # Timer interface not supported: Issue 7728.
async/timer_regress22626_test: RuntimeError # Non-zero timers not supported; Issue 7728.
async/zone_empty_description2_test: RuntimeError # Timer interface not supported: Issue 7728.
async/zone_create_timer2_test: RuntimeError # Timer interface not supported: Issue 7728.
async/zone_create_periodic_timer_test: RuntimeError # Timer interface not supported: Issue 7728.
async/zone_bind_test: Fail # Timer interface not supported: Issue 7728.

[ $compiler == dart2js ]
async/future_or_strong_test: RuntimeError
convert/base64_test/01: Fail, OK # Uses bit-wise operations to detect invalid values. Some large invalid values accepted by dart2js.
convert/chunked_conversion_utf88_test: Slow, Pass
convert/utf85_test: Slow, Pass
html/custom/document_register_type_extensions_test/construction: Pass, Timeout # Roll 50 failure
html/custom/document_register_type_extensions_test/registration: Pass, Timeout # Roll 50 failure
html/custom/entered_left_view_test/shadow_dom: Pass, Timeout # Roll 50 failure
isolate/issue_21398_parent_isolate_test: SkipByDesign # Test uses a ".dart" URI.
isolate/issue_21398_parent_isolate1_test: SkipByDesign # Test uses a ".dart" URI.
isolate/issue_21398_parent_isolate2_test: SkipByDesign # Test uses a ".dart" URI.
isolate/function_send1_test: SkipByDesign   # Test uses a ".dart" URI.
isolate/error_exit_at_spawnuri_test: SkipByDesign  # Test uses a ".dart" URI.
isolate/error_at_spawnuri_test: SkipByDesign  # Test uses a ".dart" URI.
isolate/exit_at_spawnuri_test: SkipByDesign  # Test uses a ".dart" URI.
isolate/enum_const_test/02: RuntimeError # Issue 21817
math/double_pow_test: RuntimeError
math/low_test: RuntimeError
math/random_big_test: RuntimeError  # Using bigint seeds for random.
mirrors/*: SkipByDesign # Mirrors not supported on web in Dart 2.0.
typed_data/typed_data_hierarchy_int64_test: RuntimeError # Issue 10275
typed_data/int32x4_bigint_test: RuntimeError # Issue 1533
typed_data/int64_list_load_store_test: RuntimeError # Issue 10275

[ $compiler == dart2js ]
async/future_or_strong_test: RuntimeError
mirrors/*: SkipByDesign # Mirrors not supported on web in Dart 2.0.
profiler/metrics_num_test: Skip # Because of an int / double type test.

[ $compiler != dart2js ]
async/dart2js_uncaught_error_test: Skip  # JS-integration only test

[ $compiler == dart2js && $checked ]
convert/utf85_test: Pass, Slow # Issue 12029.

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
html/canvasrenderingcontext2d_test/drawImage_video_element: Fail # TODO(dart2js-team): Please triage this failure.
html/canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Fail # TODO(dart2js-team): Please triage this failure.
html/canvasrenderingcontext2d_test/fillText: Fail # TODO(dart2js-team): Please triage this failure.
isolate/isolate_stress_test: Pass, Slow # TODO(kasperl): Please triage.
typed_data/setRange_2_test: RuntimeError # TODO(dart2js-team): Please triage this failure.
typed_data/setRange_3_test: RuntimeError # TODO(dart2js-team): Please triage this failure.

[ $compiler == dart2js && ( $runtime == chrome || $runtime == ff ) ]
async/slow_consumer2_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_utf8_decode_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_json_utf8_encode_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_json_utf8_decode_test: SkipSlow # Times out. Issue 22050
isolate/kill_self_synchronously_test: RuntimeError

[ $compiler == dart2js && $runtime != d8 ]
isolate/error_exit_at_spawn_test: Skip # Issue 23876
isolate/error_at_spawn_test: Skip # Issue 23876
isolate/exit_at_spawn_test: Skip # Issue 23876

[ ($compiler == dart2js && $fast_startup) ]
isolate/illegal_msg_mirror_test: Fail # mirrors not supported

[ $compiler == dart2js && $fast_startup && ! $browser ]
isolate/isolate_current_test: Fail  # please triage

[ $compiler == dart2js && ( $runtime == ff || $runtime == safari || $runtime == drt || $runtime == chrome || $runtime == chromeOnAndroid) ]
isolate/isolate_stress_test: Pass, Slow # Issue 10697

[ $compiler == dart2js && ($runtime == drt || $runtime == ie11) ]
math/math_test: RuntimeError
math/math2_test: RuntimeError

[ $compiler == dart2js && ($runtime != jsshell && $runtime != d8) ]
js/null_test: RuntimeError # Issue 30652

[ $compiler == dart2js && $csp && $browser ]
html/custom/element_upgrade_test: Fail # Issue 17298
html/custom/js_custom_test: Fail # Issue 14643

[ $compiler == dart2js && ($runtime == safari || $runtime == safarimobilesim || $runtime == ff  || $ie) ]
html/custom/entered_left_view_test/viewless_document: Fail # Polyfill does not handle this

[ $compiler == dart2js && $fast_startup ]
html/custom/js_custom_test: Fail # mirrors not supported
html/custom/mirrors_test: Fail # mirrors not supported
html/custom/mirrors_2_test: Fail # mirrors not supported
