# 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/CodeImmutability: 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
cc/ThreadInterrupterHigh: Skip
cc/ThreadInterrupterMedium: Skip
cc/ThreadInterrupterLow: Skip
cc/Service_Profile: Skip

[ $system == linux ]
cc/ThreadInterrupterHigh: Skip
cc/ThreadInterrupterMedium: Skip
cc/ThreadInterrupterLow: Skip

[ $system == macos ]
cc/ThreadInterrupterHigh: Skip
cc/ThreadInterrupterMedium: Skip
cc/ThreadInterrupterLow: Skip

[ $arch == simarm || $arch == simmips ]
cc/ThreadInterrupterHigh: Skip
cc/ThreadInterrupterMedium: Skip
cc/ThreadInterrupterLow: Skip
cc/Service_Profile: Skip

[ $arch == simmips && $arch == mips ]
cc/Service_Coverage: Skip # Dart bug 16250

[ $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/StaticNonNullSumCallCodegen: Crash, Pass # dartbug.com/17440

[ $arch == mips && $mode == debug ]
cc/FindCodeObject: Skip # Takes more than 8 minutes. dartbug.com/17440.

[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
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.

[ $compiler == none && $runtime == ContentShellOnAndroid ]
dart/byte_array_test: RuntimeError # Issue 17612
