Creating new TestRacyGDB class

This commit is contained in:
Sergio Durigan Junior 2016-03-17 19:32:57 -04:00
parent 75c85fbf6c
commit 2b31f485a2

View file

@ -553,6 +553,34 @@ BuildBot halt on failure."""
self.flunkOnFailure = False
self.flunkOnWarnings = False
class TestRacyGDB (ShellCommand):
"""This build step runs the full testsuite for GDB for racy testcases.
It can run in parallel mode (see BuildAndTestGDBFactory below), and it
will also provide any extra flags for "make" if needed.
Unfortunately, because our testsuite is not perfect (yet), this
command must not make BuildBot halt on failure."""
name = "test racy gdb"
description = r"testing GDB (racy)"
descriptionDone = r"tested GDB (racy)"
def __init__ (self, make_command = 'make', extra_make_check_flags = [],
test_env = {}, **kwargs):
ShellCommand.__init__ (self, decodeRC = { 0 : SUCCESS,
1 : SUCCESS,
2 : SUCCESS },
**kwargs)
self.workdir = WithProperties (r"%s/build/gdb/testsuite", r'builddir')
self.command = ['%s' % make_command,
'-k',
'check',
'RACY_ITER=5'] + extra_make_check_flags
self.env = test_env
# Needed because of dejagnu
self.haltOnFailure = False
self.flunkOnFailure = False
self.flunkOnWarnings = False
class CleanupBreakageLockfile (ShellCommand):
"""Clean up (i.e., remove) the breakage lockfile for a specific builder."""
name = "cleanup breakage lockfile"
@ -649,6 +677,7 @@ The parameters of the class are:
ConfigureClass = ConfigureGDB
CompileClass = CompileGDB
TestClass = TestGDB
TestRacyClass = TestRacyGDB
# Set this to False to skip the test
run_testsuite = True
@ -691,7 +720,8 @@ The parameters of the class are:
self.addStep (CloneOrUpdateGDBRepo ())
if self.run_testsuite:
self.addStep (CopyOldGDBSumFile ())
self.addStep (CopyOldGDBSumFile (doStepIf = scheduler_is_not_racy_do,
hideStepIf = scheduler_is_racy_hide))
if not self.extra_conf_flags:
self.extra_conf_flags = []
@ -748,10 +778,10 @@ The parameters of the class are:
##################### Racy ######################
self.addStep (self.TestClass (self.make_command, self.extra_make_check_flags + [ 'RACY_ITER=5' ],
self.test_env,
doStepIf = scheduler_is_racy_do,
hideStepIf = scheduler_is_not_racy_hide))
self.addStep (self.TestRacyClass (self.make_command, self.extra_make_check_flags,
self.test_env,
doStepIf = scheduler_is_racy_do,
hideStepIf = scheduler_is_not_racy_hide))
self.addStep (GDBAnalyzeRacyTests (workdir = WithProperties ('%s/build/gdb/testsuite',
'builddir'),
@ -962,8 +992,8 @@ def load_config (c):
s['dayOfWeek'] = int (s['dayOfWeek'])
s['hour'] = int (s['hour'])
s['minute'] = int (s['minute'])
s['onlyIfChanged'] = True
s['branch'] = None
s['onlyIfChanged'] = False
s['branch'] = 'master'
if "change_filter" in s:
s['change_filter'] = globals ()[s['change_filter']]
kls = globals ()[s.pop ('type')]