Commit 0dba4b90 authored by Michael Achenbach's avatar Michael Achenbach Committed by Commit Bot

Reland "[test] Increase coverage of d8_default test suites"

This is a reland of 8ac91f6c

Skips failing tests on gc stress and fixes predictable testing.

Original change's description:
> [test] Increase coverage of d8_default test suites
>
> NOTRY=true
>
> Bug: v8:7285,v8:8140
> Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
> Change-Id: I9cb216de302bc787189f8f12f5b254909b0f5773
> Reviewed-on: https://chromium-review.googlesource.com/1208496
> Commit-Queue: Michael Achenbach <machenbach@chromium.org>
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55682}

Bug: v8:7285, v8:8140, v8:8141
Change-Id: Ia7a437b874d5c8712f6def30382404e527145610
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Cq-Include-Trybots: luci.v8.try:v8_android_arm64_n5x_rel_ng
Cq-Include-Trybots: luci.v8.try:v8_linux_optional_rel_ng
Cq-Include-Trybots: luci.v8.try:v8_linux_gc_stress_dbg
Cq-Include-Trybots: luci.v8.try:v8_mac64_gc_stress_dbg
Reviewed-on: https://chromium-review.googlesource.com/1209762Reviewed-by: 's avatarSergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55701}
parent ca52a45a
......@@ -70,6 +70,12 @@
'debug/es8/async-debug-caught-exception-cases2': [SKIP],
'debug/es8/async-debug-caught-exception-cases3': [SKIP],
'debug/es8/async-function-debug-scopes': [SKIP],
# https://crbug.com/v8/8141
'debug/debug-liveedit-1': [SKIP],
'debug/debug-liveedit-double-call': [SKIP],
'debug/es6/debug-liveedit-new-target-3': [SKIP],
'debug/side-effect/debug-evaluate-no-side-effect-control': [SKIP],
}], # 'gc_stress == True'
##############################################################################
......
......@@ -43,4 +43,12 @@
'relative-time-format/default-locale-pt-BR': [SKIP],
}], # system == windows'
['system == android', {
# Android's ICU data file does not have the Chinese/Japanese dictionary
# required for the test to pass.
'break-iterator/zh-break': [FAIL],
# Unable to change locale on Android:
'relative-time-format/default-locale-fr-CA': [FAIL],
'relative-time-format/default-locale-pt-BR': [FAIL],
}], # 'system == android'
]
......@@ -43,4 +43,10 @@
'wasm-trace-memory-liftoff': [SKIP],
}], # arch != x64 and arch != ia32
['variant == code_serializer', {
# TODO(yangguo): Code serializer output is incompatible with all message
# tests.
'*': [SKIP],
}], # variant == code_serializer
]
......@@ -96,6 +96,11 @@ class TestCase(testcase.D8TestCase):
def _get_source_path(self):
return os.path.join(self.suite.root, self.path + self._get_suffix())
def skip_predictable(self):
# Message tests expected to fail don't print allocation output for
# predictable testing.
return super(TestCase, self).skip_predictable() or self._expected_fail()
@property
def output_proc(self):
return message.OutProc(self.expected_outcomes,
......
......@@ -73,13 +73,12 @@ TEST_MAP = {
],
# This needs to stay in sync with test/d8_default.isolate.
"d8_default": [
# TODO(machenbach): uncomment after infra side lands.
#"debugger",
"debugger",
"mjsunit",
"webkit",
#"message",
#"preparser",
#"intl",
"message",
"preparser",
"intl",
],
# This needs to stay in sync with test/optimize_for_size.isolate.
"optimize_for_size": [
......
......@@ -45,5 +45,4 @@ class OutProc(outproc_base.BaseOutProc):
class PredictableFilterProc(testproc_base.TestProcFilter):
def _filter(self, test):
return (statusfile.FAIL in test.expected_outcomes or
test.output_proc.negative)
return test.skip_predictable()
......@@ -281,6 +281,10 @@ class TestCase(object):
"""
return []
def skip_predictable(self):
"""Returns True if the test case is not suitable for predictable testing."""
return True
@property
def output_proc(self):
if self.expected_outcomes is outproc.OUTCOMES_PASS:
......@@ -346,3 +350,8 @@ class D8TestCase(TestCase):
if resource not in result and os.path.exists(resource):
to_check.append(resource)
return sorted(list(result))
def skip_predictable(self):
"""Returns True if the test case is not suitable for predictable testing."""
return (statusfile.FAIL in self.expected_outcomes or
self.output_proc.negative)
......@@ -4,13 +4,14 @@
"mode": "release",
"results": [
{
"command": "/usr/bin/python out/Release/d8_mocked.py strawberries --random-seed=123 --nohard-abort",
"command": "/usr/bin/python out/Release/d8_mocked.py --test strawberries --random-seed=123 --nohard-abort",
"duration": 1,
"exit_code": 1,
"expected": [
"PASS"
],
"flags": [
"--test",
"strawberries",
"--random-seed=123",
"--nohard-abort"
......@@ -20,18 +21,19 @@
"result": "FAIL",
"run": 1,
"stderr": "",
"stdout": "strawberries --random-seed=123 --nohard-abort\n",
"stdout": "--test strawberries --random-seed=123 --nohard-abort\n",
"target_name": "d8_mocked.py",
"variant": "default"
},
{
"command": "/usr/bin/python out/Release/d8_mocked.py strawberries --random-seed=123 --nohard-abort",
"command": "/usr/bin/python out/Release/d8_mocked.py --test strawberries --random-seed=123 --nohard-abort",
"duration": 1,
"exit_code": 1,
"expected": [
"PASS"
],
"flags": [
"--test",
"strawberries",
"--random-seed=123",
"--nohard-abort"
......@@ -41,18 +43,19 @@
"result": "FAIL",
"run": 2,
"stderr": "",
"stdout": "strawberries --random-seed=123 --nohard-abort\n",
"stdout": "--test strawberries --random-seed=123 --nohard-abort\n",
"target_name": "d8_mocked.py",
"variant": "default"
},
{
"command": "/usr/bin/python out/Release/d8_mocked.py strawberries --random-seed=123 --nohard-abort",
"command": "/usr/bin/python out/Release/d8_mocked.py --test strawberries --random-seed=123 --nohard-abort",
"duration": 1,
"exit_code": 1,
"expected": [
"PASS"
],
"flags": [
"--test",
"strawberries",
"--random-seed=123",
"--nohard-abort"
......@@ -62,16 +65,17 @@
"result": "FAIL",
"run": 3,
"stderr": "",
"stdout": "strawberries --random-seed=123 --nohard-abort\n",
"stdout": "--test strawberries --random-seed=123 --nohard-abort\n",
"target_name": "d8_mocked.py",
"variant": "default"
}
],
"slowest_tests": [
{
"command": "/usr/bin/python out/Release/d8_mocked.py strawberries --random-seed=123 --nohard-abort",
"command": "/usr/bin/python out/Release/d8_mocked.py --test strawberries --random-seed=123 --nohard-abort",
"duration": 1,
"flags": [
"--test",
"strawberries",
"--random-seed=123",
"--nohard-abort"
......@@ -80,9 +84,10 @@
"name": "sweet/strawberries"
},
{
"command": "/usr/bin/python out/Release/d8_mocked.py strawberries --random-seed=123 --nohard-abort",
"command": "/usr/bin/python out/Release/d8_mocked.py --test strawberries --random-seed=123 --nohard-abort",
"duration": 1,
"flags": [
"--test",
"strawberries",
"--random-seed=123",
"--nohard-abort"
......@@ -91,9 +96,10 @@
"name": "sweet/strawberries"
},
{
"command": "/usr/bin/python out/Release/d8_mocked.py strawberries --random-seed=123 --nohard-abort",
"command": "/usr/bin/python out/Release/d8_mocked.py --test strawberries --random-seed=123 --nohard-abort",
"duration": 1,
"flags": [
"--test",
"strawberries",
"--random-seed=123",
"--nohard-abort"
......
......@@ -20,7 +20,7 @@ class TestSuite(testsuite.TestSuite):
return TestCase
class TestCase(testcase.TestCase):
class TestCase(testcase.D8TestCase):
def get_shell(self):
return 'd8_mocked.py'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment