#!/bin/bash set -ex BRANCH=$(git symbolic-ref --short HEAD) TEMPDIR=(`mktemp -d -t crossversion-$(date +%Y-%m-%d-%H-%M-%S)-XXXXXXXXXX`) VERSIONS="" for branch in "$@" do git checkout "$branch" sha=`git rev-parse --short HEAD` # If the branch name has a "-", pull off the suffix. With the # crl-release-{XX.X} release branch naming scheme, this will extract the # {XX.X}. version=`cut -d- -f3 <<< "$branch"` echo "Building $version ($sha)" go test -c -o "$TEMPDIR/meta.$version.test" ./internal/metamorphic VERSIONS="$VERSIONS -version $version,$sha,$TEMPDIR/meta.$version.test" done # Return to whence we came. git checkout $BRANCH if [[ -z "${STRESS}" ]]; then go test ./internal/metamorphic/crossversion \ -test.v \ -test.timeout "${TIMEOUT:-30m}" \ -test.run 'TestMetaCrossVersion$' \ -seed ${SEED:-0} \ -factor ${FACTOR:-10} \ $(echo $VERSIONS) else stress -p 1 go test ./internal/metamorphic/crossversion \ -test.v \ -test.timeout "${TIMEOUT:-30m}" \ -test.run 'TestMetaCrossVersion$' \ -seed ${SEED:-0} \ -factor ${FACTOR:-10} \ $(echo $VERSIONS) fi rm -rf $TEMPDIR