# 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

[ ($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

# Disable on simulators.
[ $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
*: StaticWarning # https://github.com/dart-lang/observe/issues/85
address_mapper_test: Pass # https://github.com/dart-lang/observe/issues/85
command_test: Pass # https://github.com/dart-lang/observe/issues/85
read_stream_test: Pass # https://github.com/dart-lang/observe/issues/85
get_isolate_after_language_error_test: SkipByDesign

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

[ ($noopt || $compiler == precompiler) ]
*: Skip # Issue 24651

[ $runtime == vm ]
coverage_test: Pass, Slow

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

# Service protocol is not supported when running a full application snapshot.
[ $runtime == dart_app ]
*: SkipByDesign

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

[ $arch == simdbc || $arch == simdbc64 ]
# TODO(vegorov) re-enable when debugger, coverage and profiling is completely
# fixed for SIMDBC.
*: Skip

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