(travis) Consolidate where/how we load the common functions (the multiple
[dbsrgits/DBIx-Class.git] / maint / travis-ci_scripts / 40_script.bash
1 #!/bin/bash
2
3 if [[ -n "$SHORT_CIRCUIT_SMOKE" ]] ; then return ; fi
4
5 run_harness_tests() {
6   local -x HARNESS_OPTIONS=c:j$NUMTHREADS
7   make test 2> >(tee "$TEST_STDERR_LOG")
8 }
9
10 TEST_T0=$SECONDS
11 if [[ "$CLEANTEST" = "true" ]] ; then
12   echo_err "$(tstamp) Running tests with plain \`make test\`"
13   run_or_err "Prepare blib" "make pure_all"
14   run_harness_tests
15 else
16   PROVECMD="prove -lrswj$NUMTHREADS xt t"
17
18   # FIXME - temporary, until Package::Stash is fixed
19   if perl -M5.010 -e 1 &>/dev/null ; then
20     PROVECMD="$PROVECMD -T"
21   fi
22
23   echo_err "$(tstamp) running tests with \`$PROVECMD\`"
24   $PROVECMD 2> >(tee "$TEST_STDERR_LOG")
25 fi
26 TEST_T1=$SECONDS
27
28 if [[ -z "$DBICTRACE" ]] && [[ -z "$POISON_ENV" ]] && [[ -s "$TEST_STDERR_LOG" ]] ; then
29   STDERR_LOG_SIZE=$(wc -l < "$TEST_STDERR_LOG")
30
31   # prepend STDERR log
32   POSTMORTEM="$(
33     echo
34     echo "Test run produced $STDERR_LOG_SIZE lines of output on STDERR:"
35     echo "============================================================="
36     cat "$TEST_STDERR_LOG"
37     echo "============================================================="
38     echo "End of test run STDERR output ($STDERR_LOG_SIZE lines)"
39     echo
40     echo
41   )$POSTMORTEM"
42 fi
43
44 echo
45 echo "${POSTMORTEM:- \o/ No notable smoke run issues \o/ }"
46 echo
47 echo "$(tstamp) Testing took a total of $(( $TEST_T1 - $TEST_T0 ))s"
48 if [[ -n "$INSTALLDEPS_OUT" ]] ; then
49   echo "$(tstamp) Full dep install log at $(/usr/bin/nopaste -q -s Shadowcat -d DepInstall <<< "$INSTALLDEPS_OUT")"
50 fi
51 echo