52 lines
		
	
	
		
			884 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			884 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #!/usr/bin/env bash | ||
|  | 
 | ||
|  | try() { | ||
|  |   output=$(mktemp -d) | ||
|  |   "$@" > "$output/stdout" 2> "$output/stderr" | ||
|  |   EXIT_CODE=$? | ||
|  |   STDOUT=$(<"$output/stdout") | ||
|  |   STDERR=$(<"$output/stderr") | ||
|  |   export EXIT_CODE STDOUT STDERR | ||
|  |   rm -rf "$output" | ||
|  | } | ||
|  | 
 | ||
|  | setUp() { | ||
|  |   export TMPDIR="$PWD/.generated" | ||
|  | } | ||
|  | 
 | ||
|  | tearDown() { | ||
|  |   [ "${_shunit_test_:=}" = '' ] && return 0 | ||
|  |   if [ "${__shunit_testSuccess:?}" != 0 ]; then | ||
|  |     output-outputs | ||
|  |   fi | ||
|  | } | ||
|  | 
 | ||
|  | output-outputs() { | ||
|  |   ( | ||
|  |   bold '*******Test failed********' | ||
|  |   echo "$(bold EXIT_CODE =) $EXIT_CODE" | ||
|  |   bold STDOUT    : | ||
|  |   echo "$STDOUT" | ||
|  |   bold STDERR    : | ||
|  |   echo "$STDERR" | ||
|  |   ) >&2 | ||
|  | } | ||
|  | 
 | ||
|  | bold() { | ||
|  |   echo -ne "\033[1m" | ||
|  |   echo -ne "$@" | ||
|  |   echo -e "\033[0m" | ||
|  | } | ||
|  | 
 | ||
|  | SHUNIT_PATH=./.generated/shunit2-2.1.8/shunit2 | ||
|  | if [ ! -f $SHUNIT_PATH ]; then ( | ||
|  |   mkdir -p .generated | ||
|  |   cd .generated | ||
|  |   curl -LO https://github.com/kward/shunit2/archive/v2.1.8.zip | ||
|  |   unzip v2.1.8.zip | ||
|  | ) | ||
|  | fi | ||
|  | 
 | ||
|  | 
 | ||
|  | source $SHUNIT_PATH |