# 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

[ $compiler == dart2js ]
dart/mirrored_compilation_error_test: Skip # VM-specific flag
dart/redirection_type_shuffling_test: Skip # Depends on lazy enforcement of type bounds
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

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

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

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

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

[ $compiler == none && ($runtime == drt || $runtime == dartium) ]
dart/mirrored_compilation_error_test: Skip # Can't pass needed VM flag

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
dart/optimized_stacktrace_test: StaticWarning

dart/mirrored_compilation_error_test: CompileTimeError, OK # This test intentionally includes invalid method bodies.
