[Buildbot-devel] irc bot doesn't like builder names with spaces

Brian Warner warner-buildbot at lothar.com
Sun Oct 1 08:23:51 UTC 2006


>> Are spaces in builder names supported throughout buildbot?

"Kind of". In buildbot as a whole, I try to be careful to not make too many
assumptions about what's inside the strings. But I can't claim to have done a
very good job with it, particularly with respect to spaces and slashes. Some
places where the code needs to be fixed here:

 prohibit slashes in builder names, step names, logfile names, since these
 all get used in filenames for storing build status. Spaces in these are ok
 because we never pass these filenames to shell commands, and even if I did,
 they would be as argv[] elements and not in a place where they could get
 parsed as argument delimiters

 somehow handle spaces in IRC commands

 spaces in the --builders argument to "buildbot try"

 maybe spaces in branch names? (relevant to "buildbot sendchange" and
 svn_buildbot.py)

Personally I don't use spaces in builder names, but I also try to keep them
very short so they don't make the Waterfall display too big. (my metabuildbot
has builder names like "tw2.1-py2.4"). Maybe we should give the Builders a
short name and a slightly longer description, and have the short name be used
in "force" commands, but the longer description (with spaces) be used in the
Waterfall display? Hm, I can imagine problems with this too.

But, I'm willing to commit to allowing spaces in builder names and fixing the
code to make this work. For the IRC bot, we should probably use shlex.split()
everywhere. I wasn't assuming python>=2.3 when I first added it, but I think
now that 2.5 is out we can probably stop supporting 2.2 and just use shlex
unconditionally.

> Simply, longer names are well wrapped and columns are tighter.

Yeah, somebody who knows more about HTML and browser behavior than me should
probably look at the way the Waterfall page is generated. I think builder
names are just dumped into the <TD> cells haphazardly. But most of the other
strings in there (build results, step descriptions) take "lists of short
strings", which are then turned into HTML with "<br />".join(strings), to
force them into narrow+tall columns. This seemed like a good idea at the
time, as it keeps the Waterfall page from growing too wide, but I've aways
wondered whether it would be sufficient to let the normal browser
break-on-whitespace wordwrapping take care of it all instead.

cheers,
 -Brian




More information about the devel mailing list