Ticket #158 (assigned defect)

Opened 1 year ago

Last modified 8 months ago

responsibility for usepty option is in the wrong place

Reported by: exarkun Assigned to: warner (accepted)
Priority: major Milestone: 0.8.0
Component: other Version: 0.7.6
Keywords: Cc:

Description

usepty is an argument to buildbot create-slave. The correct place to configure this is on a per-step basis though (perhaps at the ShellCommand level, but maybe there's a better "thing which runs a child process" central location).

Change History

12/18/07 14:52:58 changed by warner

The usepty argument was originally added to deal with platform differences (specifically solaris vs everything else). If I remember correctly, the main issue was that usepty=True on solaris is what let you kill off a process and all of its descendants at once (using os.kill(-pid) or something). This makes 'stop build' work much better, but didn't seem to work on all platforms.

What sort of situation would make you want to have usepty=True for one step and then usepty=False for a different one? And would you be comfortable specifying it for the buildstep but *not* for the platform?

12/21/07 07:43:54 changed by exarkun

A buildstep I am currently using runs a program which changes the format of its output based on whether stdout is a PTY or not. If the option is set the wrong way, I won't be able to parse the output (I'm not actually parsing it yet, and I may decide never to parse it, since it'll be hard either way - but the pty version of the output also looks like garbage in the output log file published by buildbot).

Of course, now that I think about it, I can fake usePTY=False in the buildstep by making the command "realcommand | cat" or some variation. Of course it'd be nice if I could spell this without a hack. :)

03/22/08 13:23:21 changed by warner

  • owner set to warner.
  • status changed from new to assigned.
  • milestone changed from undecided to 0.7.8.

Yeah, we need this. See the comments in #198.