1234567891011121314151617181920212223242526272829303132333435 |
- #!/bin/bash
- set -e
- # Compile phase run by parallel in test-unit. No support for coverpkg
- dir=$1
- in_file="$dir/$(basename "$dir").test"
- out_file="$DEST/precompiled/$dir.test"
- # we want to use binary_extension() here, but we can't because it's in main.sh and this file gets re-execed
- if [ "$(go env GOOS)" = 'windows' ]; then
- in_file+='.exe'
- out_file+='.exe'
- fi
- testcover=()
- if [ "$HAVE_GO_TEST_COVER" ]; then
- # if our current go install has -cover, we want to use it :)
- mkdir -p "$DEST/coverprofiles"
- coverprofile="docker${dir#.}"
- coverprofile="$DEST/coverprofiles/${coverprofile//\//-}"
- testcover=( -cover -coverprofile "$coverprofile" ) # missing $coverpkg
- fi
- if [ "$BUILDFLAGS_FILE" ]; then
- readarray -t BUILDFLAGS < "$BUILDFLAGS_FILE"
- fi
- if ! (
- cd "$dir"
- go test "${testcover[@]}" -ldflags "$LDFLAGS" "${BUILDFLAGS[@]}" $TESTFLAGS -c
- ); then
- exit 1
- fi
- mkdir -p "$(dirname "$out_file")"
- mv "$in_file" "$out_file"
- echo "Precompiled: ${DOCKER_PKG}${dir#.}"
|