diff options
Diffstat (limited to 'WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py')
-rw-r--r-- | WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py new file mode 100644 index 0000000..8bba881 --- /dev/null +++ b/WebKitTools/BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py @@ -0,0 +1,51 @@ +from buildbot.steps import shell, source +import os + + +def buildStepWithDefaultTimeout(klass, default_timeout=75*60): + class Step(klass): + timeout = default_timeout + def __init__(self, *args, **kwargs): + kwargs['timeout'] = self.timeout + klass.__init__(self, *args, **kwargs) + + return Step + + +Test = buildStepWithDefaultTimeout(shell.Test) +Compile = buildStepWithDefaultTimeout(shell.Compile) +ShellCommand = buildStepWithDefaultTimeout(shell.ShellCommand) +SVN = buildStepWithDefaultTimeout(source.SVN) + + +class UploadCommand: + def initializeForUpload(self): + try: + try: + umask = os.umask(0) + os.makedirs(self.getDestinationPath(), 042770) + except OSError, e: + if e.errno != 17: + raise + finally: + os.umask(umask) + + def getDestinationPath(self): + return "/home/buildresults%s" % (self.getURLPath(), ) + + def getRemotePath(self): + return "buildresults@build.webkit.org:%s" % (self.getDestinationPath(), ) + + def getURLPath(self): + return '/results/%s/%s/' % (self.getBuild().builder.name, self.getBuild().getProperty("buildnumber"), ) + + def getBuild(self): + return self.build + + + def getText(self, cmd, results): + return self.getText2(cmd, results) + + def getText2(self, cmd, results): + return ['<a href="%s">%s</a>' % (self.getURLPath(), self.name)] + |