diff --git a/.travis.yml b/.travis.yml index f30a4e398..a5ffb3e0e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,8 @@ script: - tests/scripts/test-ref-configs.pl - tests/scripts/curves.pl - tests/scripts/key-exchanges.pl +after_failure: +- tests/scripts/travis-log.sh env: global: secure: "barHldniAfXyoWOD/vcO+E6/Xm4fmcaUoC9BeKW+LwsHqlDMLvugaJnmLXkSpkbYhVL61Hzf3bo0KPJn88AFc5Rkf8oYHPjH4adMnVXkf3B9ghHCgznqHsAH3choo6tnPxaFgOwOYmLGb382nQxfE5lUdvnM/W/psQjWt66A1+k=" diff --git a/tests/scripts/travis-log.sh b/tests/scripts/travis-log.sh new file mode 100755 index 000000000..fead2c1b7 --- /dev/null +++ b/tests/scripts/travis-log.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +# List the server and client logs on failed ssl-opt.sh and compat.sh tests. +# This script is used to make the logs show up in the Travis test results. + +# Some of the logs can be very long: this means usually a couple of megabytes +# but it can bee much more. For example, the client log of test 273 in ssl-opt.sh +# is more than 630 Megabytes long. + +if [ -d include/mbedtls ]; then :; else + echo "$0: must be run from root" >&2 + exit 1 +fi + +FILES="o-srv-*.log o-cli-*.log c-srv-*.log c-cli-*.log o-pxy-*.log" + +for PATTERN in $FILES; do + for LOG in $( ls tests/$PATTERN 2>/dev/null ); do + echo + echo "****** BEGIN file: $LOG ******" + echo + cat $LOG + echo "****** END file: $LOG ******" + echo + rm $LOG + done +done