#!/usr/bin/env bash stderr() { echo "$@" 1>&2 } usage() { b=$(basename "$0") echo $b: ERROR: "$@" 1>&2 cat 1>&2 < "${target_out}" cover "HEAD" > "${head_out}" cat "${target_out}" cat "${head_out}" echo "" target_pct="$(cat ${target_out} |sed -E 's/.*total.*\t([0-9.]+)%/\1/;t;d')" head_pct="$(cat ${head_out} |sed -E 's/.*total.*\t([0-9.]+)%/\1/;t;d')" echo "Results: ${target} ${target_pct}% HEAD ${head_pct}%" delta_pct=$(echo "$head_pct - $target_pct" | bc -l) echo "Delta: ${delta_pct}" if [[ $delta_pct = \-* ]]; then echo "Regression!"; return 1 fi return 0 ;; esac cover "${1-HEAD}" } case "$1" in coverage) shift; coverage $@;; *) usage "bad argument $1";; esac