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

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

cc/SNPrint_BadArgs: Skip

# These tests are skipped because of the workaround to open issue 8594.
cc/Debug_StackTraceDump1: Skip
cc/Debug_StackTraceDump2: 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/simd128float32_array_test: Skip # compilers not aware of Simd128
dart/simd128float32_test: Skip # compilers not aware of Simd128
dart/isolate_unhandled*: Skip

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

[ $compiler == dart2js ]
# Methods can be missing in dart2js stack traces due to inlining.  Also when
# minifying they can be renamed, which is issue 7953.
dart/inline_stack_frame_test: Fail

[ $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 missing code generation support.
cc/Dart2JSCompileAll: Skip
cc/CorelibCompileAll: Skip
# Tests needing Dart execution.
dart/*: Skip

[ $arch == mips ]
*: Skip

[ $arch == simmips ]
# Tests missing code generation support.
cc/CorelibCompileAll: Skip
cc/Dart2JSCompileAll: Skip
cc/Debug_InterruptIsolate: 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
