#!/bin/sh JSON_OUTPUT=false GET_COMMANDS=false if [ "$1" = "-json" ]; then JSON_OUTPUT=true shift fi ADDITIONAL_ARGS=$@ EXIT_CODE=0 runTest() { PKG_ARGS="" if [ "$2" != "" ]; then PKG_ARGS="-p $2" fi if [ "$JSON_OUTPUT" = true ]; then ./test2json $PKG_ARGS -t $1 -test.v $ADDITIONAL_ARGS | tee $1.result.json if [ $? -ne 0 ]; then EXIT_CODE=1 fi else $@ if [ $? -ne 0 ]; then EXIT_CODE=1 fi fi } function exit_with_code() { if [ $EXIT_CODE -ne 0 ]; then printf "\e[0;31m❌ Test failed\e[0m\n" else printf "\e[0;32m✅ All tests passed\e[0m\n" fi exit $EXIT_CODE } trap exit_with_code EXIT