# 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

[ $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/optimized_stacktrace_test: RuntimeError # Expects line and column numbers

[ $runtime == dart_precompiled ]
dart/inline_stack_frame_test: Fail  # Issue 24783 - inlined frames missing
dart/data_uri_spawn_test: RuntimeError # Isolate.spawnUri
