# 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 || $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 == simarm || $arch == arm ]
# Bug in optimized code generation results in timeout.
dart/byte_array_test: Skip
dart/byte_array_optimized_test: Skip

[ $arch == arm ]
cc/DoubleToFloatConversion: Fail # Issue: 11207
cc/DoubleToIntConversion: Fail # Issue: 11207
cc/FloatToDoubleConversion: Fail # Issue: 11207
cc/FloatToIntConversion: Fail # Issue: 11207
cc/IntToDoubleConversion: Fail # Issue: 11207
cc/IntToFloatConversion: Fail # Issue: 11207

[ $arch == mips ]
*: Skip

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

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

