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

# 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
cc/ExternalizeConstantStrings: 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
dart/byte_array_optimized_test: Skip # compilers not aware of byte arrays
dart/isolate_unhandled*: Skip

[ $compiler == dart2js ]
# The source positions do not match with dart2js.
dart/optimized_stacktrace_test: Fail

[ $compiler == dart2js && $minified ]
# Methods in stack traces are renamed.
dart/inline_stack_frame_test: Fail # Issue 7953.

[ $runtime == ff || $runtime == ie9 ]
dart/inline_stack_frame_test: Skip

[ $runtime == safari ]
dart/inline_stack_frame_test: Fail # Issue: 7414

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

[ $arch == arm ]
*: Skip

[ $arch == simarm ]
# Tests needing an assembler.
cc/CallLeafRuntimeStubCode: Skip
cc/CallRuntimeStubCode: Skip
cc/Dart2JSCompileAll: Skip
cc/FrameLookup: Skip
cc/IcDataAccess: Skip
cc/Jump: Skip
cc/PatchStaticCall: Skip
cc/UseDartApi: Skip
# Tests needing Dart execution.
dart/*: Skip

[ $arch == mips ]
*: Skip

[ $arch == simmips ]
# Tests needing an assembler.
cc/Call: Skip
cc/CallLeafRuntimeStubCode: Skip
cc/CallRuntimeStubCode: Skip
cc/Dart2JSCompileAll: Skip
cc/FrameLookup: Skip
cc/IcDataAccess: Skip
cc/Jump: Skip
cc/PatchStaticCall: Skip
cc/Simple: Skip
cc/UseDartApi: Skip
# Tests needing Dart execution.
dart/*: Skip

# TODO(ajohnsen): Fix this as part of library changes.
[ $compiler == none ]
cc/CustomIsolates: Skip # Bug 6890
cc/NewNativePort: Skip # Bug 6890
cc/RunLoop_ExceptionParent: Skip # Bug 6890
