set up test requirements with extras_require

Fixes #3060.
Try changes compared to master branch when using git by default.

If the current branch has no tracking branch, use master as the base revision,
otherwise the branch itself was used and we were left with an empty diff if
there were no uncommitted changes.

Signed-off-by: Vadim Zeitlin <vadim@zeitlins.org>
Give a more understandable message in "try" when there are no changes.

The error message "object of type 'NoneType' has no len()" given in this case
before was particularly cryptic, provide something more intelligible if the
diff turns out to be empty.
Ensure full path to ssh command is used in the try client.

Using just "ssh" doesn't work under Windows where the native CreateProcess()
function used by spawnProcess() requires the full path as its argument, so
using ssh connection method simply always failed before.

Adding a "ssh_command" config option allowing to explicitly specify the
command to use might be a good idea as well, but for now just take the first
"ssh" in PATH.

Signed-off-by: Vadim Zeitlin <vadim@zeitlins.org>
Allow specifying the ssh command to use in "try" subcommand.

This is especially useful under Windows, where something other than ssh[.exe]
is often used (e.g. plink from PuTTY).

Signed-off-by: Vadim Zeitlin <vadim@zeitlins.org>
Make BuildslaveManager an AsyncMultiService

Without this, slow service starts (e.g., buildslave) can continue on
even after the parent service has indicated it is done starting.  Fixes #3066.
address review comments for NO_INSTALL_REQS
Use standard shlex.split() for splitting ssh command under POSIX.

This method can't be used under Windows as it handles backslashes specially
while they are just path separators under Windows, but we should still use it
under the other systems to provide familiar semantics there.
Merge djmitche/buildbot:bug3066 (PR #1399)
Merge pull request #1395 from djmitche/bug3060

set up test requirements with extras_require
rename reconfigService() to reconfigServiceWithBuildbotConfig

In the aim of simplifying the API for BuildbotService(),
we rename this method, so that the name is available for API of BuildbotService.

Next task is to convert more and more services of buildbot into BuildbotService, so that:
1) they can be abstracted from where they are configured
2) they can embed their checkConfig internally, and not in config.py

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
Merge pull request #1394 from tardyp/services

rename reconfigService() to reconfigServiceWithBuildbotConfig

See ticket:3084
Wait for data to be inserted

Fixes #3057.
add sourcestamps for referential integrity

Fixes #3079.
remove flaky decorators for test_master (Refs #3066)
Fix docs for appendLog

It's a `log` update method -- not that it really matters.

This also fixes the incorrect reference to `master.data.logs`.
adjust notes for new log chunks
Add a missing 'inlineCallbacks' decorator
Remove unused test method
allow Buildbot to run without buildbot-www, if no c['www']['port'] is present