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

cc/New: Crash # Issue 6958.
cc/TypeVariableReflection: Crash # Issue 6958.
cc/LibraryGetClassNames: Fail # Issue 6958.
cc/ImportLibrary5: Fail # Issue 6958.
cc/CustomIsolates: Crash # Default factory classes are removed.

# These tests are expected to crash on all platforms.
cc/ArrayNew_Overflow_Crash: Crash
cc/AllocGeneric_Overflow: Crash

cc/SNPrint_BadArgs: Skip

[ $arch == x64 ]
cc/IsolateInterrupt: Skip

[ $system == windows && $mode == debug ]
cc/Sleep: Pass, Fail  # Flaky on buildbot. Issue 5133.

# The following section refers to the dart vm tests which live under
# runtime/tests/vm/dart.

[ $system == windows ]
cc/Dart2JSCompileAll: Skip

[ $runtime == drt ]
dart/isolate_mirror_local_test: Skip

[ $compiler == dart2js || $compiler == dartc ]
dart/isolate_mirror*: Skip # compilers not aware of dart:mirrors
dart/byte_array_test: Skip # compilers not aware of byte arrays

[ $compiler == dart2dart ]
# Skip until we stabilize language tests.
*: Skip

[ $arch == arm ]
dart/*: Skip

[ $arch == simarm ]
dart/*: Skip
