示例#1
0
    def start(self):
        log_temp_paths = self.getProperty(PROPERTYNAME_BINARY_PROTOCOL_FILES, [])
        runids = self.getProperty(PROPERTYNAME_RUNIDS, [])

        self.setProperty(PROPERTYNAME_BINARY_PROTOCOL_FILES, None)
        self.setProperty(PROPERTYNAME_RUNIDS, None)

        logs_full_path = []
        # don't use direct file handle, but let buildbot unchunk it for us.
        for log_file in log_temp_paths:
            if 'binprot' not in log_file.getFilename():
                continue
            with tempfile.NamedTemporaryFile('wb', delete=False) as f:
                f.write(log_file.getText())
                logs_full_path.append(f.name)

        logs_full_path.sort()

        if runids is None or runids == []:
            self.command = ['echo', 'nothing todo']
        else:
            masterworkdir = 'tmp/' + str(self.getProperty('buildername')) + '/' + str(self.getProperty('buildnumber'))
            compare_cmd = lambda logfile, runid: 'mono ' + masterworkdir + '/benchmarker/tools/compare.exe --upload-pause-times ' + logfile + ' --sgen-grep-binprot ' + MONO_SGEN_GREP_BINPROT_FILENAME + ' --run-id ' + str(runid) + ' || failed=1; rm -rf ' + logfile + '; '
            self.command = ['bash', '-x', '-c', 'failed=0; ' + "".join([compare_cmd(log_full_path, runid) for (log_full_path, runid) in zip(logs_full_path, runids)]) + ' if [ "$failed" == "1" ]; then exit 1; fi ']
        MasterShellCommand.start(self)
示例#2
0
    def start(self):
        log_temp_paths = self.getProperty(PROPERTYNAME_BINARY_PROTOCOL_FILES, [])
        runids = self.getProperty(PROPERTYNAME_RUNIDS, [])

        self.setProperty(PROPERTYNAME_BINARY_PROTOCOL_FILES, None)
        self.setProperty(PROPERTYNAME_RUNIDS, None)

        logs_full_path = []
        # don't use direct file handle, but let buildbot unchunk it for us.
        for log_file in log_temp_paths:
            if 'binprot' not in log_file.getFilename():
                continue
            with tempfile.NamedTemporaryFile('wb', delete=False) as f:
                f.write(log_file.getText())
                logs_full_path.append(f.name)

        logs_full_path.sort()

        if runids is None or runids == []:
            self.command = ['echo', 'nothing todo']
        else:
            masterworkdir = 'tmp/' + str(self.getProperty('buildername')) + '/' + str(self.getProperty('buildnumber'))
            compare_cmd = lambda logfile, runid: 'date; mono --debug ' + masterworkdir + '/benchmarker/tools/compare.exe --upload-pause-times ' + logfile + ' --sgen-grep-binprot ' + MONO_SGEN_GREP_BINPROT_FILENAME + ' --run-id ' + str(runid) + ' || failed=1; rm -rf ' + logfile + '; '
            self.command = ['timeout', '--signal=15', '360', 'bash', '-x', '-c', 'failed=0; ' + "".join([compare_cmd(log_full_path, runid) for (log_full_path, runid) in zip(logs_full_path, runids)]) + ' if [ "$failed" == "1" ]; then exit 1; fi ']
        MasterShellCommand.start(self)
示例#3
0
    def start(self):
        try:
            self.config.setup_project_inplace(self.project)
        except ProfileNotFulfilledException as e:
            self.addCompleteLog("errorlog", "Failing: %s" % str(e))
            return FAILURE

        if self.from_project:
            master_config = create_master_config(self.config)
            self.master.config = master_config
            for svc in self.master.workers.services:
                svc.configured = False
            self.master.reconfigServiceWithBuildbotConfig(master_config)
        else:
            self.master.reconfig()

        return MasterShellCommand.start(self)
示例#4
0
 def start(self):
     prop = self.build.getProperties()
     self.command = prop.render(self.command)
     MasterShellCommand.start(self)
示例#5
0
 def start(self):
     MasterShellCommand.start(self)
     self.addURL('Download release', 'http://www.fraca7.net/TaskCoach-packages/release/release.zip')