[Buildbot-commits] [Buildbot] #954: win32 slave hangs when patching (when using buildbot try)

Buildbot buildbot-devel at lists.sourceforge.net
Sun Aug 8 10:51:06 UTC 2010


#954: win32 slave hangs when patching (when using buildbot try)
---------------------+------------------------------------------------------
Reporter:  mornfall  |       Owner:           
    Type:  defect    |      Status:  new      
Priority:  major     |   Milestone:  undecided
 Version:  0.7.11    |    Keywords:           
---------------------+------------------------------------------------------
 Seems that buildbot relies on FIFO buffering to write all of a diff file
 to patch.exe's stdin before starting to read its output from stdout. This
 only works if the diff is small enough to fit in the buffer (which is
 probably smaller on win32 than on other common platforms). Anyway, the
 following version of doPatch for slave/commands.py works better (sorry,
 but win32 is too much of a pain for me to go and try to produce a diff):

 {{{
     def doPatch(self, res):
         patchlevel, diff = self.patch
         command = [getCommand("patch"), '-p%d' % patchlevel, "-i",
 ".buildbot-diff"]
         dir = os.path.join(self.builder.basedir, self.workdir)
         # mark the directory so we don't try to update it later
         open(os.path.join(dir, ".buildbot-patched"),
 "w").write("patched\n")
         open(os.path.join(dir, ".buildbot-diff"), "w").write(diff)
         # now apply the patch
         c = ShellCommand(self.builder, command, dir,
                          sendRC=False, timeout=self.timeout,
                          usePTY=False)
         self.command = c
         d = c.start()
         d.addCallback(self._abandonOnFailure)
         return d
 }}}

-- 
Ticket URL: <http://buildbot.net/trac/ticket/954>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the Commits mailing list