Make testing within Docker containers easier
This commit is contained in:
parent
8acb10e26c
commit
5d667c3e71
2 changed files with 63 additions and 6 deletions
|
|
@ -22,11 +22,12 @@
|
|||
. /usr/local/perlbrew/etc/bashrc
|
||||
|
||||
# Standard safety protocol
|
||||
set -euf -o pipefail
|
||||
set -ef -o pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
for p_version in $(perlbrew list | sed 's/ //g'); do
|
||||
perlbrew use $p_version
|
||||
test_perl_version () {
|
||||
perl_version="$1"
|
||||
perlbrew use $perl_version
|
||||
|
||||
echo $(perl --version)
|
||||
|
||||
|
|
@ -40,6 +41,33 @@ for p_version in $(perlbrew list | sed 's/ //g'); do
|
|||
make distcheck
|
||||
perl Build.PL && ./Build build && cover -test
|
||||
./Build distcheck
|
||||
done
|
||||
}
|
||||
|
||||
make distclean
|
||||
if [[ -n "$LIST_PERL_VERSIONS" ]]; then
|
||||
echo "Listing Perl versions available from perlbrew ..."
|
||||
perlbrew list
|
||||
elif [[ -z "$PERL_VERSION" ]]; then
|
||||
echo "Testing all versions ..."
|
||||
for perl_version in $(perlbrew list | sed 's/ //g'); do
|
||||
test_perl_version $perl_version
|
||||
done
|
||||
make distclean
|
||||
else
|
||||
echo "Testing with Perl $PERL_VERSION"
|
||||
# Test a specific version requested via $PERL_VERSION environment
|
||||
# variable. Make sure set -e doesn't cause us to bail on failure
|
||||
# before we start an interactive shell.
|
||||
test_perl_version $PERL_VERSION || :
|
||||
# N.B. Don't distclean since we probably want to debug this Perl
|
||||
# version interactively.
|
||||
cat <<EOF
|
||||
To run a specific test, type something like:
|
||||
|
||||
perl -Ilib -Ibin -It t/cli_options.t
|
||||
|
||||
Code can be edited on the host and will immediately take effect inside
|
||||
this container.
|
||||
|
||||
EOF
|
||||
bash
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue