diff --git a/master.cfg b/master.cfg index b00d77d..cf43d15 100644 --- a/master.cfg +++ b/master.cfg @@ -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')]