Reviewers: danno, Michael Achenbach, Jakob, ulan, paul.l...,
gergely.kis.imgtec, akos.palfi.imgtec, dusmil.imgtec,
Description:
Conditional flags for tests - set JS stack size for simulators.
There are separated JS and C stacks on simulators so for some stack
extensive tests (like mozilla/js1_5/extensions/regress-355497) might
cause a C stack overflow and that overflow is not caught by V8. It is
not an issue on real HW. Increasing the C stack also solves the problem
but we have already FLAG_sim_stack_size flag to control the JS stack
size.
This patch makes it possible to add flags to tests conditionally in
.status files.
TEST=mozilla/js1_5/extensions/regress-355497
BUG=v8:3152
LOG=N
Please review this at https://codereview.chromium.org/735723006/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+15, -4 lines):
M test/mozilla/mozilla.status
M tools/run-tests.py
M tools/testrunner/local/testsuite.py
Index: test/mozilla/mozilla.status
diff --git a/test/mozilla/mozilla.status b/test/mozilla/mozilla.status
index
077662e444380e38236572b8a4bd13abc89f19b9..5254c5affb49a74884c1d63c265ab92139cff5b0
100644
--- a/test/mozilla/mozilla.status
+++ b/test/mozilla/mozilla.status
@@ -866,9 +866,6 @@
['arch == arm64', {
- # BUG(v8:3152): Runs out of stack in debug mode.
- 'js1_5/extensions/regress-355497': [FAIL_OK, ['mode == debug', SKIP]],
-
# BUG(v8:3503): Times out in debug mode.
'js1_5/Regress/regress-280769-2': [PASS, FAIL, ['mode == debug', SKIP]],
}], # 'arch == arm64'
@@ -893,6 +890,14 @@
'js1_5/GC/regress-203278-2': [PASS, TIMEOUT, NO_VARIANTS],
}], # 'arch == mipsel or arch == mips64el'
+['arch == mips64el and simulator_run == True', {
+ 'js1_5/extensions/regress-355497': [FAIL_OK, 'Flags:
--sim-stack-size=512'],
+}],
+
+['arch == arm64 and simulator_run == True', {
+ 'js1_5/extensions/regress-355497': [FAIL_OK, 'Flags:
--sim-stack-size=512'],
+}],
+
['arch == mips', {
# BUG(3251229): Times out when running new crankshaft test script.
Index: tools/run-tests.py
diff --git a/tools/run-tests.py b/tools/run-tests.py
index
20f36798a7ee71c4040956ed8cc9746a2afa7c7f..d793a8ae71532f33c88640b6892621e5ca6b9321
100755
--- a/tools/run-tests.py
+++ b/tools/run-tests.py
@@ -491,7 +491,8 @@ def Execute(arch, mode, args, options, suites,
workspace):
# TODO(all): Combine "simulator" and "simulator_run".
simulator_run = not options.dont_skip_simulator_slow_tests and \
- arch in ['arm64', 'arm', 'mips'] and ARCH_GUESS and arch !=
ARCH_GUESS
+ arch in ['arm64', 'arm', 'mipsel', 'mips', 'mips64el'] and \
+ ARCH_GUESS and arch != ARCH_GUESS
# Find available test suites and read test cases from them.
variables = {
"arch": arch,
Index: tools/testrunner/local/testsuite.py
diff --git a/tools/testrunner/local/testsuite.py
b/tools/testrunner/local/testsuite.py
index
6ff97b34b9e549162f8bebf2bdd23225782ae00e..555c1309be2a21f08c8a6ad47c61fb9a0e90ebad
100644
--- a/tools/testrunner/local/testsuite.py
+++ b/tools/testrunner/local/testsuite.py
@@ -136,6 +136,11 @@ class TestSuite(object):
t.outcomes = self.rules[testname]
if statusfile.DoSkip(t.outcomes):
continue # Don't add skipped tests to |filtered|.
+ for outc in t.outcomes:
+ assert type(outc) == str
+ if outc.startswith('Flags: '):
+ (tmp0, tmp1, flags) = outc.partition(':')
+ t.flags += flags.split()
flaky = statusfile.IsFlaky(t.outcomes)
slow = statusfile.IsSlow(t.outcomes)
pass_fail = statusfile.IsPassOrFail(t.outcomes)
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.