If twisted notices that a process dies between when SIGTERM is sent,
then RunProcess.process.pid will be None, causing checkDead to fail.
In any case, the timer will be leaked, and it will be cancelled after having
been called.
On Windows, when a command is specified as a list, it's executed via a
batch file. Previously, the shell escaping being done in the process
was quite minimal (only pipes were being escaped), and not entirely
correct (for example, an argument of 'a | b' would get escaped to
'"a ^| b"', which is wrong, since the shell ignores carets inside quotes.
This commit expands the escaping logic to cover all shell special
characters that I know of. For compatibility I kept the exception
that lone pipes are not escaped (although I'd rather I hadn't).
I expanded the test for the embedded pipe symbol into a more generic
special character test, and made it no longer Win32-only, since on any
platform it doesn't hurt to check that special characters in arguments
are correctly passed through.
* rename sent updates `glob` -> `files` (as in ListDir)
* drop the asserts, use base.Command.requiredArgs
* catch only OSError (even that one is quite unlikely to appear) and
send the appropriate `rc` to master
* rename `globpath` -> `globname` (as in the python docs:
http://docs.python.org/2/library/glob.html)
* slave-fs-cmds-cleanup: (148 commits)
removed blank line
send headers and errno for failed fs commands
check rc in a callback (errback is not called)
Fix failing test & shell command
update steps to use requiredArgs
replace assertions, raise ValueError instead
replaced "except as" syntax w/ 2.4 compatible comma syntax
Removed bare excepts
apply 09749e7 to master
On solaris use the tail in /usr/xpg4/bin/tail insteaf of /usr/bin/tail which does not support the -n option
Do not catch GeneratorExit exception
remove use of MutableMapping, not in Python 2.5
Ignore decoding errors in atom/rss feeds; fixes#951
Fix step None bug
sphinx doesn't seem to support relative paths for logos anymore
fix typo in comment
Add systemd unit for slave.
Add systemd service unit for master.
add whitespace to avoid failure with Sphinx-1.2.1
Fix failures where 'git clean' fails but could be clobbered
...
Can be used to retrieve a list of files from the slave that match
a given pattern. (This is somewhat more portable than using shell
expansion.)
Custom steps can use this command to add filenames to a property
of the build where they may be later picked up by an uploading step.
RemoteCommand('glob', dict(path='[Bb]uild[Bb]ot-*', workdir='wkdir'))
This warning is often triggered by regular expressions, and prefixing
to the open quotation mark will make python leave any escape sequences
alone, e.g.:
- re.compile("\w+")
+ re.compile(r"\w+")
This solution is not specific for regular expressions, it can be applied
to any string that contains backslashes that python should not interpret.
This commit also enables the warning in common/pylintrc.
Adds the parameter sigtermTime to RemoteShellCommand. If sigtermTime is
not None, the buildslave will fire SIGTERM and wait for sigtermTime
seconds before firing SIGKILL. This fixes trac ticket #751.