From dce4934698b5620387971589e40ace4ea84d63f8 Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Mon, 23 Nov 2015 13:46:56 +0100 Subject: ! build: filter most of the output from sbt test. Based on the work found here: http://codecraft.vaamo.de/2014/08/22/less-is-more-when-it-comes-to-ci-logs.html --- travis-test.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 travis-test.sh (limited to 'travis-test.sh') diff --git a/travis-test.sh b/travis-test.sh new file mode 100755 index 00000000..f886933b --- /dev/null +++ b/travis-test.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash +# Licensed under the Apache License, Version 2.0 +# Adapted from https://github.com/paulp/psp-std/blob/master/bin/test + +runTests () { + sbt -Dakka.test.timefactor=1.5 \ + 'set concurrentRestrictions in Global += Tags.limit(Tags.Compile, 2)' \ + 'set testOptions in test in Global := Seq(Tests.Argument(TestFrameworks.ScalaTest, "-oUNCXHELPOQRM"))' \ + test || exit 1 + + echo "[info] $(date) - finished sbt test" +} + +stripTerminalEscapeCodes () { + sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGKM]//g" +} + +mkRegex () { ( IFS="|" && echo "$*" ); } + +filterOutput() { + while read line; do + if ! [[ $(echo $line | stripTerminalEscapeCodes) =~ $excludeRegex ]] ; then + echo $line + fi + done +} + +main() { + # sbt output filter + local excludeRegex=$(mkRegex \ + '\[info\] (Resolving|Loading|Updating|Packaging|Done updating)' \ + 're[-]run with [-]unchecked for details' \ + 'one warning found' + ) + + echo "[info] $(date) - starting sbt test" + (set -o pipefail && runTests |& filterOutput) +} + +main $@ \ No newline at end of file -- cgit v1.2.3