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

[ $runtime != vm ]
isolate/native_wrapper_message_test: Skip # A VM specific test.

[ $arch == arm64 && $runtime == vm ]
mirrors/immutable_collections_test: Pass, Slow # http://dartbug.com/33057

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

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

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

[ $compiler != app_jitk && $compiler != dartk && $runtime == vm ]
convert/streamed_conversion_json_utf8_decode_test: Pass, Slow # Infrequent timeouts.
html/*: SkipByDesign # dart:html not supported on VM.
js/datetime_roundtrip_test: CompileTimeError
js/null_test: CompileTimeError
js/prototype_access_test: CompileTimeError
mirrors/deferred_type_test: CompileTimeError
mirrors/generic_bounded_by_type_parameter_test/02: MissingCompileTimeError
mirrors/generic_bounded_test/01: MissingCompileTimeError
mirrors/generic_bounded_test/02: MissingCompileTimeError
mirrors/generic_interface_test/01: MissingCompileTimeError
mirrors/generics_test/01: MissingCompileTimeError
mirrors/initializing_formals_test/01: Fail # initializing formals are implicitly final as of Dart 1.21
mirrors/metadata_nested_constructor_call_test/none: CompileTimeError
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
mirrors/redirecting_factory_different_type_test/01: MissingCompileTimeError

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

[ $compiler != app_jitk && $compiler != dartk && $runtime == vm && $strong ]
async/future_or_only_in_async_test/00: MissingCompileTimeError

[ $compiler != dartk && $runtime == vm && !$strong ]
mirrors/reflect_class_test/01: MissingCompileTimeError
mirrors/reflect_class_test/02: MissingCompileTimeError
mirrors/reflected_type_classes_test/01: MissingCompileTimeError
mirrors/reflected_type_classes_test/02: MissingCompileTimeError
mirrors/reflected_type_classes_test/03: MissingCompileTimeError
mirrors/reflected_type_test/01: MissingCompileTimeError
mirrors/reflected_type_test/02: MissingCompileTimeError
mirrors/reflected_type_test/03: MissingCompileTimeError

[ $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_single_test: RuntimeError
async/stream_single_to_multi_subscriber_test: RuntimeError
async/stream_state_nonzero_timer_test: RuntimeError
async/stream_state_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_cancel1_test: RuntimeError
async/timer_cancel2_test: RuntimeError
async/timer_cancel_test: RuntimeError
async/timer_isActive_test: RuntimeError
async/timer_repeat_test: RuntimeError
async/timer_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

[ $runtime == vm && !$checked && !$strong ]
mirrors/regress_16321_test/01: MissingCompileTimeError

[ $runtime == vm && $no_preview_dart_2 ]
async/async_no_await_zones_test: RuntimeError # not supported in Dart 1 mode.

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

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