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

cc/SNPrint_BadArgs: Skip

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

dart/data_uri_import_test/none: SkipByDesign

dart/spawn_shutdown_test: Skip # Issue 25351

[ $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, Timeout  # Timeout: Issue #24596
cc/VerifyExplicit_Crash: Crash, Timeout  # Timeout: Issue #24596

# 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/Service_Profile: Skip
cc/Dart2JSCompilerStats: Skip
cc/CorelibCompilerStats: Skip

[ $arch == simarm || $arch == simarmv5te || $arch == simarm64 || $arch == simmips ]
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 == dart2analyzer ]
# Data uri's not supported by dart2js or the analyzer.
dart/data_uri*test: Skip

[ ($runtime == vm || $runtime == dart_precompiled) ]
dart/data_uri_import_test/wrongmime: RuntimeError, OK # VM is more restrictive than the browser
dart/data_uri_import_test/nomime: RuntimeError, OK
dart/data_uri_import_test/nocharset: 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 == 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 || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
cc/Dart2JSCompileAll: Skip  # Timeout.

[ $noopt ]
dart/byte_array_test: Crash # Incompatible flag --disable_alloc_stubs_after_gc

[ $noopt || $compiler == precompiler ]
dart/redirection_type_shuffling_test: CompileTimeError # Imports dart:mirrors
dart/inline_stack_frame_test: Fail  # Issue 24783 - inlined frames missing

[ $runtime == dart_precompiled ]
dart/optimized_stacktrace_test: Fail
dart/data_uri_spawn_test: RuntimeError # Isolate.spawnUri
