#!/bin/bash # # wraps `gotestfmt`, hiding output from successful packages unless # all tests passed. set -o pipefail set -e # tee the test results to a log, whilst also piping them into gotestfmt, # telling it to hide successful results, so that we can clearly see # unsuccessful results. tee complement.log | gotestfmt -hide successful-packages # gotestfmt will exit non-zero if there were any failures, so if we got to this # point, we must have had a successful result. echo "All tests successful; showing all test results" # Pipe the test results back through gotestfmt, showing all results. # The log file consists of JSON lines giving the test results, interspersed # with regular stdout lines (including reports of downloaded packages). grep '^{"Time":' complement.log | gotestfmt