[test] Don't hide crashes in predictable mode
Bug: v8:6426 Change-Id: I278dda0d628732bb9c539c2648d2b27bcbc89bf0 Reviewed-on: https://chromium-review.googlesource.com/512643 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#45504}
This commit is contained in:
parent
5728ac6187
commit
589a4d1df4
@ -594,6 +594,19 @@
|
||||
|
||||
# crbug.com/v8/5803
|
||||
'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'
|
||||
|
||||
##############################################################################
|
||||
|
@ -294,19 +294,25 @@ class Runner(object):
|
||||
|
||||
# Always pass the test duration for the database update.
|
||||
test.duration = result[2]
|
||||
if test.run == 1 and result[1].HasTimedOut():
|
||||
# If we get a timeout in the first run, we are already in an
|
||||
# unpredictable state. Just report it as a failure and don't rerun.
|
||||
previous_output = test.output
|
||||
test.output = result[1]
|
||||
if test.run == 1 and test.suite.HasUnexpectedOutput(test):
|
||||
# TODO(machenbach): Rerunning failures is not supported in predictable
|
||||
# mode.
|
||||
self.remaining -= 1
|
||||
self.failed.append(test)
|
||||
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
|
||||
# difference is found, call the indicator twice to report both tests.
|
||||
# All runs of each test are counted as one for the statistic.
|
||||
self.remaining -= 1
|
||||
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)
|
||||
test.output = result[1]
|
||||
self.indicator.HasRun(test, True)
|
||||
@ -314,13 +320,11 @@ class Runner(object):
|
||||
# No difference on the third run -> report a success.
|
||||
self.remaining -= 1
|
||||
self.succeeded += 1
|
||||
test.output = result[1]
|
||||
self.indicator.HasRun(test, False)
|
||||
else:
|
||||
# No difference yet and less than three runs -> add another run and
|
||||
# remember the output for comparison.
|
||||
test.run += 1
|
||||
test.output = result[1]
|
||||
pool.add([TestJob(test)])
|
||||
# Always update the perf database.
|
||||
return True
|
||||
|
Loading…
Reference in New Issue
Block a user