Skip to content
Snippets Groups Projects
gotestfmt 792 B
Newer Older
  • Learn to ignore specific revisions
  • #!/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