# Copyright 2011 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 cctest

# All tests prefixed with 'Bug' are expected to fail.
test-api/Bug*: FAIL

##############################################################################
# BUG(382): Weird test. Can't guarantee that it never times out.
test-api/ApplyInterruption: PASS || TIMEOUT

# These tests always fail.  They are here to test test.py.  If
# they don't fail then test.py has failed.
test-serialize/TestThatAlwaysFails: FAIL
test-serialize/DependentTestThatAlwaysFails: FAIL

# This test always fails.  It tests that LiveEdit causes abort when turned off.
test-debug/LiveEditDisabled: FAIL

# TODO(gc): Temporarily disabled in the GC branch.
test-log/EquivalenceOfLoggingAndTraversal: PASS || FAIL

# We do not yet shrink weak maps after they have been emptied by the GC
test-weakmaps/Shrinking: FAIL

# Deferred stack trace formatting is temporarily disabled.
test-heap/ReleaseStackTraceData: PASS || FAIL

# Boot up memory use is bloated in debug mode.
test-mark-compact/BootUpMemoryUse: PASS, PASS || FAIL if $mode == debug

##############################################################################
[ $arch == arm ]

# We cannot assume that we can throw OutOfMemory exceptions in all situations.
# Apparently our ARM box is in such a state. Skip the test as it also runs for
# a long time.
test-api/OutOfMemory: SKIP
test-api/OutOfMemoryNested: SKIP

# BUG(355): Test crashes on ARM.
test-log/ProfLazyMode: SKIP

# BUG(1075): Unresolved crashes.
test-serialize/Deserialize: SKIP
test-serialize/DeserializeFromSecondSerializationAndRunScript2: SKIP
test-serialize/DeserializeAndRunScript2: SKIP
test-serialize/DeserializeFromSecondSerialization: SKIP

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

# BUG(2628): The test sometimes fails on MIPS simulator.
test-cpu-profiler/SampleWhenFrameIsNotSetup: PASS || FAIL

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

# Tests crash as there is no /tmp directory in Android.
test-log/LogAccessorCallbacks: SKIP
test-log/LogCallbacks: SKIP
test-log/ProfLazyMode: SKIP

# platform-tls.h does not contain an ANDROID-related header.
test-platform-tls/FastTLS: SKIP

# This test times out.
test-threads/ThreadJoinSelf: SKIP

##############################################################################
[ $arch == nacl_ia32 || $arch == nacl_x64 ]

# These tests fail as there is no /tmp directory in Native Client.
test-log/LogAccessorCallbacks: SKIP
test-log/LogCallbacks: SKIP
test-log/ProfLazyMode: SKIP

# Native Client doesn't support sockets.
test-debug/DebuggerAgent: SKIP
test-debug/DebuggerAgentProtocolOverflowHeader: SKIP
test-sockets/Socket: SKIP

# Profiling doesn't work on Native Client.
test-cpu-profiler/*: SKIP