# 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

# Flaky on buildbot. Issue 5133 and 10409.
cc/Sleep: Pass, Fail

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

# 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 ]
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 == simarm ]
dart/isolate_mirror_local_test: Skip

[ $arch == simmips || $arch == mips ]
dart/isolate_mirror_local_test: Pass, Crash

[ $arch == mips ]
cc/Sdc1Ldc1: Crash # Illegal instructions
cc/Cop1CvtDL: Crash
cc/Cop1CvtDL_neg: Crash

# 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

[ $compiler == dartanalyzer ]
# has compilation error, as designed
dart/isolate_mirror_local_test: fail

[ $compiler == dart2analyzer ]
# has compilation error, as designed
dart/isolate_mirror_local_test: fail
