# 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, Timeout
cc/CodeImmutability: Crash

cc/SNPrint_BadArgs: Skip

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

[ $mode == debug ]
# This is a benchmark that is not informative in debug mode.
cc/CorelibIsolateStartup: Skip
# Negative tests of VerifiedMemory should crash iff in DEBUG mode.
# TODO(koda): Improve support for negative tests.
cc/VerifyImplicit_Crash: Crash
cc/VerifyExplicit_Crash: Crash

# 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
cc/Dart2JSCompilerStats: Skip
cc/CorelibCompilerStats: 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 == simarmv5te || $arch == simarm64 || $arch == simmips ]
cc/ThreadInterrupterHigh: Skip
cc/ThreadInterrupterMedium: Skip
cc/ThreadInterrupterLow: Skip
cc/Service_Profile: Skip

[ $arch == arm ]
cc/Int8ListLengthMaxElements: Skip # Issue 23314
cc/ArrayLengthMaxElements: Skip # Issue 23314

[ $compiler == dart2js ]
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

# 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, Pass # Issue 7953

[ $compiler == dart2js || $compiler == dartanalyzer || $compiler == dart2analyzer ]
# Data uri's not supported by dart2js or the analyzer.
dart/data_uri*test: Skip

[ $runtime == vm ]
dart/data_uri_failures_test/wrongmime: RuntimeError, OK # VM is more restrictive than the browser
dart/data_uri_failures_test/nomime: RuntimeError, OK
dart/data_uri_failures_test/nocharset: RuntimeError, OK
dart/data_uri_failures_test/base64: RuntimeError, OK

[ $arch == mips ]
cc/StaticNonNullSumCallCodegen: Crash, Pass # Issue 17440
cc/ArrayLengthMaxElements: Crash  # Issue 23275
cc/Int8ListLengthMaxElements: Skip # Issue 23536, uses 1 GB memory.

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

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

[ $runtime != vm ]
dart/snapshot_version_test: SkipByDesign  # Spawns processes
dart/spawn_infinite_loop_test: Skip  # VM shutdown test
dart/spawn_shutdown_test: Skip  # VM Shutdown test

[ $runtime == vm && $mode == debug && $builder_tag == asan ]
cc/Dart2JSCompileAll: Skip  # Timeout.
