# 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 && $compiler != dartkb && $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
mirrors/redirecting_factory_test/01: RuntimeError
mirrors/redirecting_factory_test/none: RuntimeError

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

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

[ $compiler != app_jitk && $compiler != dartk && $compiler != dartkb && $runtime == vm && !$strong ]
mirrors/redirecting_factory_test/02: MissingCompileTimeError
mirrors/redirecting_factory_test/03: MissingCompileTimeError
mirrors/redirecting_factory_test/04: MissingCompileTimeError

[ $compiler != dartk && $compiler != dartkb && $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_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.
