Commit 589a4d1d authored by Michael Achenbach's avatar Michael Achenbach Committed by Commit Bot

[test] Don't hide crashes in predictable mode

Bug: v8:6426
Change-Id: I278dda0d628732bb9c539c2648d2b27bcbc89bf0
Reviewed-on: https://chromium-review.googlesource.com/512643Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45504}
parent 5728ac61
...@@ -594,6 +594,19 @@ ...@@ -594,6 +594,19 @@
# crbug.com/v8/5803 # crbug.com/v8/5803
'wasm/gc-frame': [SKIP], 'wasm/gc-frame': [SKIP],
# BUG(v8:6426): Investigate why these crash.
'array-functions-prototype-misc': [CRASH],
'generated-transition-stub': [CRASH],
'ignition/regress-672027': [CRASH],
'regress/regress-2790': [CRASH],
'regress/regress-331444': [CRASH],
'regress/regress-410912': [CRASH],
'regress/regress-542823': [CRASH],
'unbox-double-arrays': [CRASH],
# BUG(v8:6426): Investigate why this fails.
'harmony/futex': [FAIL],
}], # 'predictable == True' }], # 'predictable == True'
############################################################################## ##############################################################################
......
...@@ -294,19 +294,25 @@ class Runner(object): ...@@ -294,19 +294,25 @@ class Runner(object):
# Always pass the test duration for the database update. # Always pass the test duration for the database update.
test.duration = result[2] test.duration = result[2]
if test.run == 1 and result[1].HasTimedOut(): previous_output = test.output
# If we get a timeout in the first run, we are already in an test.output = result[1]
# unpredictable state. Just report it as a failure and don't rerun. if test.run == 1 and test.suite.HasUnexpectedOutput(test):
test.output = result[1] # TODO(machenbach): Rerunning failures is not supported in predictable
# mode.
self.remaining -= 1 self.remaining -= 1
self.failed.append(test) self.failed.append(test)
self.indicator.HasRun(test, True) self.indicator.HasRun(test, True)
if test.run > 1 and HasDifferentAllocations(test.output, result[1]): elif test.run > 1 and HasDifferentAllocations(previous_output, result[1]):
# From the second run on, check for different allocations. If a # From the second run on, check for different allocations. If a
# difference is found, call the indicator twice to report both tests. # difference is found, call the indicator twice to report both tests.
# All runs of each test are counted as one for the statistic. # All runs of each test are counted as one for the statistic.
self.remaining -= 1 self.remaining -= 1
self.failed.append(test) self.failed.append(test)
# TODO(machenbach): The indicator needs a makeover. We should
# differentiate between a test and a particular run (including
# output/duration) of that test.
test.output = previous_output
self.indicator.HasRun(test, True) self.indicator.HasRun(test, True)
test.output = result[1] test.output = result[1]
self.indicator.HasRun(test, True) self.indicator.HasRun(test, True)
...@@ -314,13 +320,11 @@ class Runner(object): ...@@ -314,13 +320,11 @@ class Runner(object):
# No difference on the third run -> report a success. # No difference on the third run -> report a success.
self.remaining -= 1 self.remaining -= 1
self.succeeded += 1 self.succeeded += 1
test.output = result[1]
self.indicator.HasRun(test, False) self.indicator.HasRun(test, False)
else: else:
# No difference yet and less than three runs -> add another run and # No difference yet and less than three runs -> add another run and
# remember the output for comparison. # remember the output for comparison.
test.run += 1 test.run += 1
test.output = result[1]
pool.add([TestJob(test)]) pool.add([TestJob(test)])
# Always update the perf database. # Always update the perf database.
return True return True
......
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