teak-llvm/lldb/packages/Python/lldbsuite/test/issue_verification/rerun_base.py
Todd Fiala 685a7570ec test infra: enable single-worker rerun phase for flakey tests.
Use of --rerun-all-issues will enable any test method failure, not just
test methods marked with the flakey decorator, to rerun.

Currently this does not change the flakey logic's immediate rerun
attempt.  I want to make sure this doesn't cause any significant issues
before changing that part.

The rerun reporting is only known to work properly with the
default (new) BasicResultsFormatter reporting.  Once we work out
any issues, I'll go back and make sure the curses output handles
it properly as well.

llvm-svn: 255543
2015-12-14 21:28:46 +00:00

29 lines
884 B
Python

from __future__ import print_function
import os
import lldbsuite.test.lldbtest as lldbtest
# pylint: disable=too-few-public-methods
class RerunBaseTestCase(lldbtest.TestBase):
"""Forces test failure."""
mydir = lldbtest.TestBase.compute_mydir(__file__)
def should_generate_issue(self):
"""Returns whether a test issue should be generated.
@returns True on the first and every other call via a given
test method.
"""
should_pass_filename = "{}.{}.succeed-marker".format(
__file__, self.id())
fail = not os.path.exists(should_pass_filename)
if fail:
# Create the marker so that next call to this passes.
open(should_pass_filename, 'w').close()
else:
# Delete the marker so next time we fail.
os.remove(should_pass_filename)
return fail