def perform_build(self, history_line): import pdb pdb.set_trace() self.build_number += 1 self.start_time = datetime.now() log.debug("Performing build %d on history line: %s" % (self.build_number, history_line)) build_proc = ProcessHandler(cmd = ['/home/ctalbert/projects/b2g-hamachi/build.sh'], cwd = self.build_info['workdir'], env=self.build_info['env'], processOutputLine=[self.notify_status], kill_on_timeout=True, onTimeout=[self.notify_timeout], onFinish=[self.notify_finished], shell=True) try: sys.stdout.write("Starting Build %d:" % self.build_number) build_proc.run(timeout=7200) build_proc.processOutput() exitcode = build_proc.wait() except (KeyboardInterrupt, SystemExit): print "User Canceled Operation!" log.debug("Build canceled by user") raise finally: self.build_log.close() if exitcode == 0: print "Build %d Completed Successfully" % self.build_number log.debug("Build %d for history line: %s completed successfully" % (self.build_number, history_line)) else: print "Build %d Failed" % self.build_number log.debug("Build %d for history line: %s FAILED" % (self.build_number, history_line))
def execute_cmd(cmd, cwd): print 'executing', cmd proc = ProcessHandler(cmd, cwd=cwd) proc.processOutput(timeout=180) assert(proc.waitForFinish() == 0)