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

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

# 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

[ $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_product) ]
*: SkipByDesign
