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

html/*: Skip # dart:html will be a problem in the VM

[ $runtime == vm && $system == fuchsia ]
async/first_regression_test: RuntimeError
async/future_timeout_test: RuntimeError
async/schedule_microtask2_test: RuntimeError
async/schedule_microtask3_test: RuntimeError
async/schedule_microtask5_test: RuntimeError
async/stream_controller_async_test: RuntimeError
async/stream_first_where_test: RuntimeError
async/stream_from_iterable_test: RuntimeError
async/stream_iterator_test: RuntimeError
async/stream_join_test: RuntimeError
async/stream_last_where_test: RuntimeError
async/stream_periodic2_test: RuntimeError
async/stream_periodic3_test: RuntimeError
async/stream_periodic4_test: RuntimeError
async/stream_periodic5_test: RuntimeError
async/stream_periodic6_test: RuntimeError
async/stream_periodic_test: RuntimeError
async/stream_transform_test: RuntimeError
async/stream_transformation_broadcast_test: RuntimeError
async/stream_state_test: RuntimeError
async/stream_state_nonzero_timer_test: RuntimeError
async/stream_single_test: RuntimeError
async/stream_single_to_multi_subscriber_test: RuntimeError
async/stream_subscription_as_future_test: RuntimeError
async/stream_subscription_cancel_test: RuntimeError
async/stream_transform_test: RuntimeError
async/stream_transformation_broadcast_test: RuntimeError
async/timer_test: RuntimeError
async/timer_cancel1_test: RuntimeError
async/timer_cancel2_test: RuntimeError
async/timer_cancel_test: RuntimeError
async/timer_isActive_test: RuntimeError
async/timer_repeat_test: RuntimeError
convert/json_lib_test: RuntimeError
math/point_test: RuntimeError
math/rectangle_test: RuntimeError
mirrors/invocation_fuzz_test: Crash
mirrors/library_uri_io_test: RuntimeError
mirrors/library_uri_package_test: RuntimeError

[ $strong && $runtime == vm ]
async/future_or_only_in_async_test/00: MissingCompileTimeError

[ $runtime == vm ]
async/stream_timeout_test: RuntimeError
convert/streamed_conversion_json_utf8_decode_test: Pass, Slow # Infrequent timeouts.
js/datetime_roundtrip_test: CompileTimeError
js/null_test: CompileTimeError
mirrors/deferred_type_test: CompileTimeError
mirrors/generic_bounded_test/01: MissingCompileTimeError
mirrors/generic_bounded_test/02: MissingCompileTimeError
mirrors/generic_bounded_by_type_parameter_test/02: MissingCompileTimeError
mirrors/generic_interface_test/01: MissingCompileTimeError
mirrors/mirrors_used*: SkipByDesign # Invalid tests. MirrorsUsed does not have a specification, and dart:mirrors is not required to hide declarations that are not covered by any MirrorsUsed annotation.
mirrors/native_class_test: SkipByDesign # Imports dart:html

[ $runtime == vm && !$checked ]
mirrors/inference_and_no_such_method_test: RuntimeError

[ $runtime == vm && $mode == debug && $arch == ia32 && $system == windows ]
convert/streamed_conversion_json_utf8_decode_test: Skip  # Verification OOM.

[ $runtime == vm && $mode == debug && $arch != ia32 && $arch != x64 && $arch != simarm && $arch != simarmv6 && $arch != simarmv5te ]
convert/streamed_conversion_json_utf8_decode_test: Skip  # Verification not yet implemented.

[ $runtime == vm && $arch == simarm || $arch == simarmv6 || $arch == simarmv5te ]
convert/chunked_conversion_utf88_test: Skip  # Pass, Slow Issue 12644.

[ $runtime == vm && ( $arch == simarm || $arch == simarmv6 || $arch == simarmv5te ) ]
convert/utf85_test: Skip  # Pass, Slow Issue 12644.

[ $runtime == vm && $arch == simarm64 ]
convert/utf85_test: Skip # Pass, Slow Issue 20111.

[ $runtime == vm && $compiler != dartk && $compiler != dartkp ]
mirrors/initializing_formals_test/01: Fail # initializing formals are implicitly final as of Dart 1.21
