Also: Improved CLI help, updated URLs in read-me, cleaned up package.json:
I've tried to clarify the intent of `-x` in the CLI help, but I haven't touched the read-me in that respect.
I don't see any benefit to `-x`:
* Just using `#/bin/sh` as the shebang line in combination with `-s <shell>` gives you the same functionality,
* When it comes to invoking scripts from _within_ test scripts, nothing can do the work for you: you consciously have to mark the invocation with _something_ to indicate that it should be controlled from the outside; it won't get any easier than `$TEST_SHELL ...`
* Finally, using a shebang line such as `#!/usr/bin/env urchin -x` is problematic for two reasons:
* Some platforms can handle only *1* argument in a shebang line.
* In a _package-local_ installation, `#!/usr/bin/env` may not find the Urchin executable.
I'm also not sure how the following (from `readme.md`) fits in the picture:
> It might make sense if you do this.
export TEST_SHELL=zsh && urchin -x
export TEST_SHELL=bash && urchin -x
(As an aside: To achieve the same thing, you don't need `export`; `TEST_SHELL=zsh urchin -x` and `TEST_SHELL=bash urchin -x` is the better choice.)
How does this relate to use in a _shebang line_?
`urchin_help()` now uses a here-doc: easier to maintain, and should work in all Bourne-like shells.
`readmeFilename` removed from `package.json`:
> "The readmeFilename does not need to ever be in your actual package.json file" - npm/npm#3573
* For **tests that _source_ shell scripts**: **option `-s <shell>`** now tells urchin to invoke test scripts with the specified shell (only shebang-less and `#!/bin/sh` tests scripts).
* For **tests that _invoke_ schell scripts**: instruct users to write their tests to always **invoke via environment variable `TEST_SHELL` (e.g., `$TEST_SHELL ../foo`)**, and invoke urchin with that variable defined as needed, e.g., `TEST_SHELL=ksh urchin ./tests`; urchin defaults `TEST_SHELL` to `/bin/sh`.
See updated `readme.md` for details.
* bug fixes:
* fixed directory-existence argument check
* fixed how `.urchin_stdout` files are cleaned up
* fixed instances of error/warning messages outputting to stdout instead of stderr
* documentation, help and error-message improvements:
* added specific error message if the (non-option) argument is not a directory
* improved wording of CLI help
* readme.md: replaced obsolete URL http://www.urchin.sh with https://github.com/scraperwiki/urchin
* readme.md: made the fact clearer that `./cross-shell-tests` only tests urchin's _own_ cross-shell compatibility
* HISTORY: fixed typo
* formatting and logging improvements:
* added timestamp to the beginning of log files (`.urchin.log`)
* captured output from failed tests is now printed in *red* to draw attention
* test summary now prints the number of failed tests in the appropriate color for instant feedback (green, if none failed; red, otherwise)
* cleanup
* removed unused test files, simplified some tests