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
 |