# Copyright (c) 2014, 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.

# Flaky failures
vm_timeline_flags_test: Pass, RuntimeError # Issue 26483
gc_test: Pass, RuntimeError # Issue 26490
pause_on_start_and_exit_test: Pass, RuntimeError # Issue 26470
pause_on_start_then_step_test: Pass, RuntimeError # Issue 26470
get_allocation_samples_test: Pass, RuntimeError # Inconsistent stack trace
get_isolate_rpc_test: Pass, RuntimeError # Issue 28185
set_library_debuggable_test: Pass, RuntimeError # Issue 28091
reload_sources_test: Pass, Slow # Reload is slow on the bots
rewind_test: Pass, RuntimeError # Issue 28047
tcp_socket_service_test: Pass, RuntimeError # Issue 28184
get_retained_size_rpc_test: Pass, RuntimeError # Issue 28193

[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) ]
evaluate_activation_test/instance: RuntimeError # http://dartbug.com/20047
evaluate_activation_test/scope: RuntimeError # http://dartbug.com/20047
isolate_lifecycle_test: Pass, RuntimeError # Issue 24174

# Debugger location tests are slow in debug mode.
[ $mode == debug ]
debugger_location_second_test: Pass, Slow
debugger_location_test: Pass, Slow

# Can be slow in debug mode, as well.
vm_restart_test: Pass, Slow

# These tests are slow on simulators.
[ $arch == simarm || $arch == simmips || $arch == simarm64 ]
*: Pass, Slow
[ $mode == debug && ($arch == simarm || $arch == simmips || $arch == simarm64) ]
*: SkipSlow

# All tests use dart:io
[ $browser || $compiler == dart2js ]
*: SkipByDesign

# Tests with known analyzer issues
[ $compiler == dart2analyzer ]
developer_extension_test: SkipByDesign
get_isolate_after_language_error_test: SkipByDesign

[ $arch == arm ]
process_service_test: Pass, Fail # Issue 24344

[ $compiler == precompiler ]
*: Skip # Issue 24651

[ $runtime == vm ]
developer_extension_test: Pass, Fail # Issue 27225

[ $compiler == app_jit ]
address_mapper_test: CompileTimeError # Issue 27806
capture_stdio_test: CompileTimeError # Issue 27806
complex_reload_test: RuntimeError # Issue 27806
developer_extension_test: RuntimeError # Issue 27806
evaluate_activation_test/instance: RuntimeError # Issue 27806
evaluate_activation_test/scope: RuntimeError # Issue 27806
get_object_rpc_test: RuntimeError # Issue 27806
get_source_report_test: RuntimeError # Issue 27806
set_name_rpc_test: RuntimeError # Issue 27806
vm_restart_test: CompileTimeError # Issue 27806

debugger_location_second_test: Skip # Issue 28180

[ $compiler == dart2analyzer ]
evaluate_activation_in_method_class_test: CompileTimeError # Issue 24478

[ $arch == simdbc || $arch == simdbc64 ]
get_allocation_samples_test: RuntimeError # Profiling unimplemented.
get_cpu_profile_timeline_rpc_test: RuntimeError # Profiling unimplemented.
implicit_getter_setter_test: RuntimeError # Field guards unimplemented.
rewind_test: RuntimeError # Issue 27878
rewind_optimized_out_test: RuntimeError # Issue 27878

[ $hot_reload || $hot_reload_rollback ]
# Skip all service tests because random reloads interfere.
*: SkipByDesign # The service tests should run without being reloaded.

[ $system == windows ]
dev_fs_weird_char_test: Skip # Windows disallows question mark in paths
dev_fs_http_put_weird_char_test: Skip # Windows disallows carriage returns in paths
complex_reload_test: Skip # Issue 27861

# Service protocol is not supported in product mode.
[ $mode == product ]
*: SkipByDesign
