33 lines
		
	
	
		
			692 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			692 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
# Script that runs tests, code coverage, and benchmarks all at once.
 | 
						|
# Builds a symlink in /tmp, mostly to avoid messing with GOPATH at the user's shell level.
 | 
						|
 | 
						|
TEMPORARY_PATH="/tmp/govaluate_test"
 | 
						|
SRC_PATH="${TEMPORARY_PATH}/src"
 | 
						|
FULL_PATH="${TEMPORARY_PATH}/src/govaluate"
 | 
						|
 | 
						|
# set up temporary directory
 | 
						|
rm -rf "${FULL_PATH}"
 | 
						|
mkdir -p "${SRC_PATH}"
 | 
						|
 | 
						|
ln -s $(pwd) "${FULL_PATH}"
 | 
						|
export GOPATH="${TEMPORARY_PATH}"
 | 
						|
 | 
						|
pushd "${TEMPORARY_PATH}/src/govaluate"
 | 
						|
 | 
						|
# run the actual tests.
 | 
						|
export GOVALUATE_TORTURE_TEST="true"
 | 
						|
go test -bench=. -benchmem -coverprofile coverage.out
 | 
						|
status=$?
 | 
						|
 | 
						|
if [ "${status}" != 0 ];
 | 
						|
then
 | 
						|
	exit $status
 | 
						|
fi
 | 
						|
 | 
						|
# coverage
 | 
						|
go tool cover -func=coverage.out
 | 
						|
 | 
						|
popd
 |