blob: 42115fa56ac8b1f950865ec90677ff9632eadf1f [file] [log] [blame]
#!/bin/sh -xe
# really clean everything first
rm -rf t/log t/log.* artifacts testxml Mail-SpamAssassin* || true
make distclean < /dev/null || true
mkdir artifacts testxml
#FreeBSD SLAVE BUILD FILE
perl Makefile.PL < /dev/null
make
# ensure a lint failure generates shouty mails to the dev list
rm rules/70_sandbox.cf
make build_rules > make.log 2>&1
if grep "ERROR:" make.log ; then
exit 2
else
true
fi
make distcheck
# select the tests we want
echo "
run_spamd_prefork_stress_test=y
run_net_tests=y
run_long_tests=y
" > t/config
# generate 't/log.make_test'
make test TEST_VERBOSE=1 \
2>&1 | tee artifacts/make_test.log
mv t/log artifacts/t.log.make_test
# generate 't/log.make_disttest'
(
# this hack is required to produce verbose disttest output
PASTHRU='TEST_VERBOSE=1'; export PASTHRU
make -e disttest TEST_VERBOSE=1 < /dev/null \
2>&1 | tee artifacts/make_disttest.log
)
mv Mail-SpamAssassin*/t/log artifacts/t.log.make_disttest
# generate XML test reports (multifile)
perl ./build/jenkins/tap-to-junit-xml \
"make test" testxml/make_test < artifacts/make_test.log
perl ./build/jenkins/tap-to-junit-xml \
"make disttest" testxml/make_disttest < artifacts/make_disttest.log