Unlike the other tests, this actually treats stow(1) as a black box
script, running it directly rather than require-ing it as a library.
This allows us to check things like the exit codes returned.
Charles LeDoux did some awesome work providing this Docker environment
which can test across multiple Perl versions using perlbrew, so it
would be crazy not to use it.
Let's try a new approach where we increment the version number
immediately after publishing a release, not just before.
This will mean that anyone who builds from git gets a version of Stow
which is higher than the release which was just cut, and this could
provide valuable debugging hints in case a bug report does not clearly
state whether the problem arose with the latest release or with a build
from git.
The title of the generated man page was ending up as something like
IO::FILE=IO(0XA719C0)(1)
Also, with newer perls (e.g. v5.22.1), pod2man requires --name if
used within a pipeline.
Closes#18.
https://github.com/aspiers/stow/issues/18
* Use docker to locally run tests on multiple perl versions
* perlbrew used to install multiple perls
* perl environments bootstrapped when image built
* Based on travis configuration
* Adds docker folder to MANIFEST.SKIP
* Running image runs all tests.
* If exit with no error, then all tests pass.
* ./build-docker.sh builds stow testing image.
* ./test-docker.sh runs stow testing image.
* Assumes built with options in build-docker.sh
* *-docker.sh scripts added to MANIFEST.SKIP
- The `sanitize_path_options` functions remove all trailing
and leading spaces. So any valid directory like ` 123`,
`123 ` can not be used
- Also if there are two directories ` 123` and `123`, and if
user pick the ` 123` as option to `-d` or `-t`, then stow pick
directory `123` as the argument instead of ` 123` as user want.
```
STOW_DIR=. stow -n -v3 -t \ 123 456
stow dir is /tmp/test
stow dir path relative to target 123 is ..
cwd now 123
cwd restored to /tmp/test
cwd now 123
Planning stow of package 456...
Stowing contents of ../456 (cwd=/tmp/test/123)
Planning stow of package 456... done
cwd restored to /tmp/test
WARNING: in simulation mode so not modifying filesystem.
```
- This commit remove the check in `sanitize_path_options` function,
and now stow can work with those directories. There have been a check
for valid directory, so we are safe.
Previously STOW_DIR=0 would cause the cwd to be used as the STOW_DIR.
Make that instead raise an error. Do similar validation on the target
directory.
Closes#7 - https://github.com/aspiers/stow/pull/7