ndbroadbent/scm_breeze — pull request #155 by mroth (2014-10-18 21:09:03+00:00)
Title: add OSX/Darwin testing and compatibility

Each of these commits has a detailed commit message with the changes, but the main idea here is:

**Enable cross-platform testing for both Linux and MacOSX/Darwin** using the new Travis CI [multi-os](http://docs.travis-ci.com/user/multi-os/) beta feature (the feature is in beta but the Travis team has graciously enabled it for the scm_breeze repository, thanks @fritzek!). Since scm_breeze relies heavily on standard shell tools, but there are actually slight differences between many of these tools across platforms, this should help ensure things work consistently.

**Split bash and zsh testing across different machines in the travis build matrix** (b6fd7ae). This will speed up the overall testing by increasing concurrency, and allow for easily seeing pass/fail behavior for individual combinations.

This results in a build matrix that looks like this:
![multibuild](https://cloud.githubusercontent.com/assets/40650/4691163/a327099a-5709-11e4-8883-5512b22fd8a5.png)
Dependencies not preinstalled (such as zsh on linux) are only installed for the test environment that requires them (e7c56c7), so we can see fast failure on a broken build as fast as ~6 seconds in some cases. This should make it simple to add new environments/shells to test on in the future, which could be configured as ["allowed failures"](http://docs.travis-ci.com/user/build-configuration/#Rows-That-are-Allowed-To-Fail) in the build matrix if necessary.

**Fix tests to operate in cross-platform way**. Some of the tests relied upon specific platform configuration/behavior, things should be more generic now and allow for testing across a greater variety of environments. Most of the commits fall into this category, and each commit is atomic and details the adjustment in it's extended commit message.

The tests work reliably in a cross-platform way now, and thus have uncovered one or two actual issues with the functionality of scm_breeze on Darwin. I'd like to make sure the tests are green on MacOSX as well before merging, so I will attempt to address those bugs in this PR, but have some questions to help in doing so. They will follow in a comment.