Merge pull request #2692 from lucas-clemente/travis-go-generate

add a script to check if go generated files are correct
This commit is contained in:
Marten Seemann
2020-07-29 07:58:46 +07:00
committed by GitHub
2 changed files with 25 additions and 0 deletions

View File

@@ -17,6 +17,7 @@ env:
- secure: "eb4Z/iUit+B6KTcKOKxfBQUyTUK+X2HiEXmT8pdReDnC1Q4ciq7NaW/v0nYq6aGMhbOFCVb1XEpST99+LlCxSyJYfH5ZYe/QtwT6/SoRkHyREhkk5UHxu/6CCozgZum9LN1YIi9piUMSKuC6Vh1hiRk5/DQUtTGukbiSmynj+PZddeO71f75EuZpa45cT0kd62HCcr6GRAtkx4BIH00JaMRihWwtFs6WaZG5N9pjV/FPCp+q/J5mKaSUKvCNv2sgwkKC/VqG8XOxBjrhI2Z9s/wGgpf4/BiTrN3D9+qodql2OfhHmRC65CRzOmXxdwXGj0zqWB2mtjcY3tws4XxuDkiChxTanwqDQQ92WLIgCkyazEaLDaFvfCMSkHuLcpWHSIrs1yeKJ2ko5vrvKQ1fsWgyXXtDaG+sq6YymHrCFtL83YY1aFbDt0q22+HFvhEqYdkKIglTpYdcyM+UoT57UagGwU81crXKyYqyCfvsHQM5ieNTBg01ZKEZYiie731ytB4W7duhp5dz5ZkezeZLtjX4NTbOtRRq8qhh9fDMAcuuCbLC/hkhBL9oRRlcPJaRdQKQd8QryS/pxwTrqtlNZ6X+GFjNls49kahdMThaigyocCzAsVFVXQTCUluGIqjDLTFlYxfDkGfkFK3k3bT6KkM5rQbfWIjdpkMRJyO0jR4="
matrix:
- TRAVIS_GOARCH=amd64 TESTMODE=lint
- TRAVIS_GOARCH=amd64 TESTMODE=gogenerate
- TRAVIS_GOARCH=amd64 TESTMODE=fuzz
- TRAVIS_GOARCH=amd64 TESTMODE=unit
- TRAVIS_GOARCH=amd64 TESTMODE=integration
@@ -29,6 +30,12 @@ before_install:
- travis_retry go get golang.org/x/tools/cmd/cover
- travis_retry go get github.com/onsi/ginkgo/ginkgo
- travis_retry go get github.com/onsi/gomega
- |
if [ ${TESTMODE} == "gogenerate" ]; then
travis_retry go get github.com/cheekybits/genny
travis_retry go get github.com/golang/mock/mockgen
travis_retry go get golang.org/x/tools/cmd/goimports
fi
- export GOARCH=$TRAVIS_GOARCH
- go env # for debugging
- travis_retry go get -t ./...

View File

@@ -7,6 +7,24 @@ if [ ${TESTMODE} == "lint" ]; then
./bin/golangci-lint run ./...
fi
if [ ${TESTMODE} == "gogenerate" ]; then
find . -type f -name "*.go" -exec shasum {} \; > checksums_before.txt
# delete all go-generated files generated (that adhere to the comment convention)
grep --include \*.go --exclude-dir quictrace/ -lrIZ "^// Code generated .* DO NOT EDIT\.$" . | xargs --null rm
# delete all files generated by Genny
grep --include \*.go -lrIZ "This file was automatically generated by genny." . | xargs --null rm
# first generate Genny files to make the code compile
grep --include \*.go -lrI "//go:generate genny" | xargs -L 1 go generate
# now generate everything
go generate ./...
find . -type f -name "*.go" -exec shasum {} \; > checksums_after.txt
DIFF=`diff checksums_before.txt checksums_after.txt`
echo $DIFF
if [ ! -z "$var" ]; then
exit 1
fi
fi
if [ ${TESTMODE} == "fuzz" ]; then
.travis/fuzzit.sh
fi