#!/bin/sh
NAME="Test-AutoBuild"
TEST_RESULTS=$1
test -z "$TEST_RESULTS" && TEST_RESULTS=results.log
# Exit immediately if command fails
set -e
# Print command executed to stdout
set -v
AUTOBUILD_PERL5LIB=`perl -e 'use Config; my $dir = $Config{sitelib}; $dir =~ s|/usr|$ENV{AUTOBUILD_INSTALL_ROOT}|; print $dir'`
if [ -z "$PERL5LIB" ]; then
export PERL5LIB=$AUTOBUILD_PERL5LIB
else
export PERL5LIB=$PERL5LIB:$AUTOBUILD_PERL5LIB
fi
# Make things clean.
[ -f Makefile ] && make -k realclean ||:
rm -rf MANIFEST blib
# Make makefiles.
perl Makefile.PL PREFIX=$AUTOBUILD_INSTALL_ROOT
# Build the RPM.
make
make manifest
if [ -n "$HTMLURLPREFIX" ]
then
make htmlifypods HTMLURLPREFIX=$HTMLURLPREFIX
fi
if [ -z "$USE_COVER" ]; then
perl -MDevel::Cover -e '' 1>/dev/null 2>&1 && USE_COVER=1 || USE_COVER=0
fi
rm -f test.log
if [ -z "$SKIP_TESTS" -o "$SKIP_TESTS" = "0" ]; then
if [ "$USE_COVER" = "1" ]; then
cover -delete
rm -rf coverage-report
set -o pipefail
TZ=GMT HARNESS_PERL_SWITCHES=-MDevel::Cover make test TEST_VERBOSE=1 | tee $TEST_RESULTS
cover
mkdir coverage-report
mv cover_db/*.html cover_db/*.css coverage-report
mv coverage-report/coverage.html coverage-report/index.html
rm -rf cover_db
else
set -o pipefail
TZ=GMT make test TEST_VERBOSE=1 | tee $TEST_RESULTS
fi
fi
# Repeat in different timezone to verify Repo functionality
TZ=EDT make test TEST_VERBOSE=1 TEST_FILES=t/110-Repository-*.t | tee $TEST_RESULTS
make INSTALLMAN3DIR=$AUTOBUILD_INSTALL_ROOT/share/man/man3 install
rm -f $NAME-*.tar.gz
make dist
if [ -x /usr/bin/rpmbuild ]; then
if [ -n "$AUTOBUILD_COUNTER" ]; then
EXTRA_RELEASE=".auto$AUTOBUILD_COUNTER"
else
NOW=`date +"%s"`
EXTRA_RELEASE=".$USER$NOW"
fi
rpmbuild -ta --define "extra_release $EXTRA_RELEASE" --clean $NAME-*.tar.gz
fi
if [ -x /usr/bin/fakeroot -a -f /etc/debian_version ]; then
fakeroot debian/rules clean
fakeroot debian/rules DEBDIR=$AUTOBUILD_PACKAGE_ROOT/debian binary
fi