# Copyright 2012 the V8 project authors. All rights reserved.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
#       copyright notice, this list of conditions and the following
#       disclaimer in the documentation and/or other materials provided
#       with the distribution.
#     * Neither the name of Google Inc. nor the names of its
#       contributors may be used to endorse or promote products derived
#       from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

prefix mjsunit

# All tests in the bug directory are expected to fail.
bugs/*: FAIL

##############################################################################
# Fails.
regress/regress-1119: FAIL

# Issue 1719: Slow to collect arrays over several contexts.
regress/regress-524: SKIP
# When that bug is fixed, revert the expectation to:
# Skip long running test in debug and allow it to timeout in release mode.
# regress/regress-524: (PASS || TIMEOUT), SKIP if $mode == debug

##############################################################################
# Too slow in debug mode with --stress-opt
compiler/regress-stacktrace-methods: PASS, SKIP if $mode == debug
compiler/regress-funcaller: PASS, SKIP if $mode == debug
regress/regress-2318: PASS, SKIP if $mode == debug
regress/regress-create-exception: PASS, SKIP if $mode == debug

##############################################################################
# These use a built-in that's only present in debug mode. They take
# too long to run in debug mode on ARM and MIPS.
fuzz-natives-part*: PASS, SKIP if ($mode == release || $arch == arm || $arch == android_arm || $arch == mipsel)

big-object-literal: PASS, SKIP if ($arch == arm || $arch == android_arm)

# Issue 488: this test sometimes times out.
array-constructor: PASS || TIMEOUT

# Very slow on ARM and MIPS, contains no architecture dependent code.
unicode-case-overoptimization: PASS, TIMEOUT if ($arch == arm || $arch == android_arm || $arch == mipsel)

##############################################################################
# This test expects to reach a certain recursion depth, which may not work
# for debug mode.
json-recursive: PASS, (PASS || FAIL) if $mode == debug

##############################################################################
# Skip long running test that times out in debug mode.
regress/regress-crbug-160010: PASS, SKIP if $mode == debug

##############################################################################
# This test sets the umask on a per-process basis and hence cannot be
# used in multi-threaded runs.
# On android there is no /tmp directory.
d8-os: PASS, SKIP if ($isolates || $arch == android_arm || $arch == android_ia32)
tools/tickprocessor: PASS, SKIP if ($arch == android_arm || $arch == android_ia32)

##############################################################################
[ $arch == arm || $arch == android_arm ]

# Slow tests which times out in debug mode.
try: PASS, SKIP if $mode == debug
debug-scripts-request: PASS, SKIP if $mode == debug
array-constructor: PASS, SKIP if $mode == debug
regress/regress-1122: PASS, SKIP if ($mode == debug && $arch == android_arm)

# Flaky test that can hit compilation-time stack overflow in debug mode.
unicode-test: PASS, (PASS || FAIL) if $mode == debug

# Times out often in release mode on ARM.
compiler/regress-stacktrace-methods: PASS, PASS || TIMEOUT if $mode == release
array-splice: PASS || TIMEOUT

# Long running test.
string-indexof-2: PASS || TIMEOUT
mirror-object: PASS || TIMEOUT

# BUG(3251035): Timeouts in long looping crankshaft optimization
# tests. Skipping because having them timeout takes too long on the
# buildbot.
compiler/alloc-number: SKIP
compiler/array-length: SKIP
compiler/assignment-deopt: SKIP
compiler/deopt-args: SKIP
compiler/inline-compare: SKIP
compiler/inline-global-access: SKIP
compiler/optimized-function-calls: SKIP
compiler/pic: SKIP
compiler/property-calls: SKIP
compiler/recursive-deopt: SKIP
compiler/regress-4: SKIP
compiler/regress-funcaller: SKIP
compiler/regress-rep-change: SKIP
compiler/regress-arguments: SKIP
compiler/regress-funarguments: SKIP
compiler/regress-3249650: SKIP
compiler/simple-deopt: SKIP
regress/regress-490: SKIP
regress/regress-634: SKIP
regress/regress-create-exception: SKIP
regress/regress-3218915: SKIP
regress/regress-3247124: SKIP

# Requires bigger stack size in the Genesis and if stack size is increased,
# the test requires too much time to run.  However, the problem test covers
# should be platform-independent.
regress/regress-1132: SKIP

# Stack manipulations in LiveEdit is not implemented for this arch.
debug-liveedit-check-stack: SKIP
debug-liveedit-stack-padding: SKIP
debug-liveedit-restart-frame: SKIP
debug-liveedit-double-call: SKIP

# Currently always deopt on minus zero
math-floor-of-div-minus-zero: SKIP

##############################################################################
[ $arch == mipsel ]

# Slow tests which times out in debug mode.
try: PASS, SKIP if $mode == debug
debug-scripts-request: PASS, SKIP if $mode == debug
array-constructor: PASS, SKIP if $mode == debug

# Times out often in release mode on MIPS.
compiler/regress-stacktrace-methods: PASS, PASS || TIMEOUT if $mode == release
array-splice: PASS || TIMEOUT

# Long running test.
mirror-object: PASS || TIMEOUT
string-indexof-2: PASS || TIMEOUT

# BUG(3251035): Timeouts in long looping crankshaft optimization
# tests. Skipping because having them timeout takes too long on the
# buildbot.
compiler/alloc-number: SKIP
compiler/array-length: SKIP
compiler/assignment-deopt: SKIP
compiler/deopt-args: SKIP
compiler/inline-compare: SKIP
compiler/inline-global-access: SKIP
compiler/optimized-function-calls: SKIP
compiler/pic: SKIP
compiler/property-calls: SKIP
compiler/recursive-deopt: SKIP
compiler/regress-4: SKIP
compiler/regress-funcaller: SKIP
compiler/regress-rep-change: SKIP
compiler/regress-arguments: SKIP
compiler/regress-funarguments: SKIP
compiler/regress-3249650: SKIP
compiler/simple-deopt: SKIP
regress/regress-490: SKIP
regress/regress-634: SKIP
regress/regress-create-exception: SKIP
regress/regress-3218915: SKIP
regress/regress-3247124: SKIP

# Requires bigger stack size in the Genesis and if stack size is increased,
# the test requires too much time to run.  However, the problem test covers
# should be platform-independent.
regress/regress-1132: SKIP

# Stack manipulations in LiveEdit is not implemented for this arch.
debug-liveedit-check-stack: SKIP
debug-liveedit-stack-padding: SKIP
debug-liveedit-restart-frame: SKIP
debug-liveedit-double-call: SKIP

