# 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 == ia32 && $mode == debug && $runtime == vm && $system == windows ]
convert/streamed_conversion_json_utf8_decode_test: Skip # Verification OOM.

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

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

[ $compiler != app_jitk && $compiler != dartk && $runtime == vm ]
async/future_or_only_in_async_test/00: MissingCompileTimeError
convert/streamed_conversion_json_utf8_decode_test: Pass, Slow # Infrequent timeouts.
html/*: SkipByDesign # dart:html not supported on VM.
js/*: SkipByDesign
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/redirecting_factory_different_type_test/01: MissingCompileTimeError
mirrors/redirecting_factory_test/01: RuntimeError
mirrors/redirecting_factory_test/none: RuntimeError

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

[ $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 && $simulator ]
convert/utf85_test: Skip # Pass, Slow Issue 20111.

[ $hot_reload || $hot_reload_rollback ]
isolate/int32_length_overflow_test: SkipSlow # Iterates over Uint8List(1 << 30).

[ $hot_reload || $hot_reload_rollback || $simulator ]
convert/chunked_conversion_utf88_test: SkipSlow
convert/streamed_conversion_json_utf8_decode_test: SkipSlow
convert/utf85_test: SkipSlow
