Refactored testing approach to use 'vendorized' libraries at test time.
This commit is contained in:
@@ -1,11 +1,28 @@
|
||||
#!/bin/bash
|
||||
# fail out of the script if anything here fails
|
||||
set -e
|
||||
|
||||
# Run basic go unit tests
|
||||
go test -v ./...
|
||||
result=$?
|
||||
# set the path to the present working directory
|
||||
export GOPATH=`pwd`
|
||||
|
||||
# Run example-based toml tests
|
||||
cd test_program && ./go-test.sh
|
||||
result="$(( result || $? ))"
|
||||
# Vendorize the BurntSushi test suite
|
||||
# NOTE: this gets a specific release to avoid versioning issues
|
||||
if [ ! -d 'src/github.com/BurntSushi/toml-test' ]; then
|
||||
mkdir -p src/github.com/BurntSushi
|
||||
git clone https://github.com/BurntSushi/toml-test.git src/github.com/BurntSushi/toml-test
|
||||
fi
|
||||
pushd src/github.com/BurntSushi/toml-test
|
||||
git reset --hard '0.2.0' # use the released version, NOT tip
|
||||
popd
|
||||
go build -o toml-test github.com/BurntSushi/toml-test
|
||||
|
||||
exit $result
|
||||
# vendorize the current lib for testing
|
||||
# NOTE: this basically mocks an install without having to go back out to github for code
|
||||
mkdir -p src/github.com/pelletier/go-toml/cmd
|
||||
cp *.go *.toml src/github.com/pelletier/go-toml
|
||||
cp cmd/*.go src/github.com/pelletier/go-toml/cmd
|
||||
go build -o test_program_bin src/github.com/pelletier/go-toml/cmd/test_program.go
|
||||
|
||||
# Run basic unit tests and then the BurntSushi test suite
|
||||
go test -v github.com/pelletier/go-toml
|
||||
./toml-test ./test_program_bin | tee test_out
|
||||
|
||||
Reference in New Issue
Block a user