Creating new TestRacyGDB class
This commit is contained in:
parent
75c85fbf6c
commit
2b31f485a2
1 changed files with 37 additions and 7 deletions
44
master.cfg
44
master.cfg
|
@ -553,6 +553,34 @@ BuildBot halt on failure."""
|
||||||
self.flunkOnFailure = False
|
self.flunkOnFailure = False
|
||||||
self.flunkOnWarnings = 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):
|
class CleanupBreakageLockfile (ShellCommand):
|
||||||
"""Clean up (i.e., remove) the breakage lockfile for a specific builder."""
|
"""Clean up (i.e., remove) the breakage lockfile for a specific builder."""
|
||||||
name = "cleanup breakage lockfile"
|
name = "cleanup breakage lockfile"
|
||||||
|
@ -649,6 +677,7 @@ The parameters of the class are:
|
||||||
ConfigureClass = ConfigureGDB
|
ConfigureClass = ConfigureGDB
|
||||||
CompileClass = CompileGDB
|
CompileClass = CompileGDB
|
||||||
TestClass = TestGDB
|
TestClass = TestGDB
|
||||||
|
TestRacyClass = TestRacyGDB
|
||||||
|
|
||||||
# Set this to False to skip the test
|
# Set this to False to skip the test
|
||||||
run_testsuite = True
|
run_testsuite = True
|
||||||
|
@ -691,7 +720,8 @@ The parameters of the class are:
|
||||||
self.addStep (CloneOrUpdateGDBRepo ())
|
self.addStep (CloneOrUpdateGDBRepo ())
|
||||||
|
|
||||||
if self.run_testsuite:
|
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:
|
if not self.extra_conf_flags:
|
||||||
self.extra_conf_flags = []
|
self.extra_conf_flags = []
|
||||||
|
@ -748,10 +778,10 @@ The parameters of the class are:
|
||||||
|
|
||||||
##################### Racy ######################
|
##################### Racy ######################
|
||||||
|
|
||||||
self.addStep (self.TestClass (self.make_command, self.extra_make_check_flags + [ 'RACY_ITER=5' ],
|
self.addStep (self.TestRacyClass (self.make_command, self.extra_make_check_flags,
|
||||||
self.test_env,
|
self.test_env,
|
||||||
doStepIf = scheduler_is_racy_do,
|
doStepIf = scheduler_is_racy_do,
|
||||||
hideStepIf = scheduler_is_not_racy_hide))
|
hideStepIf = scheduler_is_not_racy_hide))
|
||||||
|
|
||||||
self.addStep (GDBAnalyzeRacyTests (workdir = WithProperties ('%s/build/gdb/testsuite',
|
self.addStep (GDBAnalyzeRacyTests (workdir = WithProperties ('%s/build/gdb/testsuite',
|
||||||
'builddir'),
|
'builddir'),
|
||||||
|
@ -962,8 +992,8 @@ def load_config (c):
|
||||||
s['dayOfWeek'] = int (s['dayOfWeek'])
|
s['dayOfWeek'] = int (s['dayOfWeek'])
|
||||||
s['hour'] = int (s['hour'])
|
s['hour'] = int (s['hour'])
|
||||||
s['minute'] = int (s['minute'])
|
s['minute'] = int (s['minute'])
|
||||||
s['onlyIfChanged'] = True
|
s['onlyIfChanged'] = False
|
||||||
s['branch'] = None
|
s['branch'] = 'master'
|
||||||
if "change_filter" in s:
|
if "change_filter" in s:
|
||||||
s['change_filter'] = globals ()[s['change_filter']]
|
s['change_filter'] = globals ()[s['change_filter']]
|
||||||
kls = globals ()[s.pop ('type')]
|
kls = globals ()[s.pop ('type')]
|
||||||
|
|
Loading…
Reference in a new issue