Merge pull request #4373 from hashicorp/f-gofmt-fail
Fail builds if gofmt reports non-compliance
This commit is contained in:
commit
3ff7635b64
22
Makefile
22
Makefile
|
@ -4,12 +4,12 @@ VETARGS?=-asmdecl -atomic -bool -buildtags -copylocks -methods -nilfunc -printf
|
|||
default: test
|
||||
|
||||
# bin generates the releaseable binaries for Terraform
|
||||
bin: generate
|
||||
bin: fmtcheck generate
|
||||
@sh -c "'$(CURDIR)/scripts/build.sh'"
|
||||
|
||||
# dev creates binaries for testing Terraform locally. These are put
|
||||
# into ./bin/ as well as $GOPATH/bin
|
||||
dev: generate
|
||||
dev: fmtcheck generate
|
||||
@TF_DEV=1 sh -c "'$(CURDIR)/scripts/build.sh'"
|
||||
|
||||
quickdev: generate
|
||||
|
@ -18,22 +18,22 @@ quickdev: generate
|
|||
# Shorthand for quickly building the core of Terraform. Note that some
|
||||
# changes will require a rebuild of everything, in which case the dev
|
||||
# target should be used.
|
||||
core-dev: generate
|
||||
core-dev: fmtcheck generate
|
||||
go install github.com/hashicorp/terraform
|
||||
|
||||
# Shorthand for building and installing just one plugin for local testing.
|
||||
# Run as (for example): make plugin-dev PLUGIN=provider-aws
|
||||
plugin-dev: generate
|
||||
plugin-dev: fmtcheck generate
|
||||
go install github.com/hashicorp/terraform/builtin/bins/$(PLUGIN)
|
||||
mv $(GOPATH)/bin/$(PLUGIN) $(GOPATH)/bin/terraform-$(PLUGIN)
|
||||
|
||||
# test runs the unit tests and vets the code
|
||||
test: generate
|
||||
test: fmtcheck generate
|
||||
TF_ACC= go test $(TEST) $(TESTARGS) -timeout=30s -parallel=4
|
||||
@$(MAKE) vet
|
||||
|
||||
# testacc runs acceptance tests
|
||||
testacc: generate
|
||||
testacc: fmtcheck generate
|
||||
@if [ "$(TEST)" = "./..." ]; then \
|
||||
echo "ERROR: Set TEST to a specific package. For example,"; \
|
||||
echo " make testacc TEST=./builtin/providers/aws"; \
|
||||
|
@ -42,7 +42,7 @@ testacc: generate
|
|||
TF_ACC=1 go test $(TEST) -v $(TESTARGS) -timeout 90m
|
||||
|
||||
# testrace runs the race checker
|
||||
testrace: generate
|
||||
testrace: fmtcheck generate
|
||||
TF_ACC= go test -race $(TEST) $(TESTARGS)
|
||||
|
||||
# updatedeps installs all the dependencies that Terraform needs to run
|
||||
|
@ -84,4 +84,10 @@ vet:
|
|||
generate:
|
||||
go generate ./...
|
||||
|
||||
.PHONY: bin default generate test updatedeps vet
|
||||
fmt:
|
||||
gofmt -w .
|
||||
|
||||
fmtcheck:
|
||||
@sh -c "'$(CURDIR)/scripts/gofmtcheck.sh'"
|
||||
|
||||
.PHONY: bin default generate test updatedeps vet fmt fmtcheck
|
||||
|
|
|
@ -67,7 +67,6 @@ func resourceVSphereFolderCreate(d *schema.ResourceData, meta interface{}) error
|
|||
return resourceVSphereFolderRead(d, meta)
|
||||
}
|
||||
|
||||
|
||||
func createFolder(client *govmomi.Client, f *folder) error {
|
||||
|
||||
finder := find.NewFinder(client.Client, true)
|
||||
|
@ -113,7 +112,6 @@ func createFolder(client *govmomi.Client, f *folder) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
|
||||
func resourceVSphereFolderRead(d *schema.ResourceData, meta interface{}) error {
|
||||
|
||||
log.Printf("[DEBUG] reading folder: %#v", d)
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
"os"
|
||||
"testing"
|
||||
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
"github.com/vmware/govmomi"
|
||||
|
@ -171,7 +170,6 @@ func testAccCheckVSphereFolderExists(n string, f *folder) resource.TestCheckFunc
|
|||
|
||||
_, err = object.NewSearchIndex(client.Client).FindChild(context.TODO(), dcFolders.VmFolder, rs.Primary.Attributes["path"])
|
||||
|
||||
|
||||
*f = folder{
|
||||
path: rs.Primary.Attributes["path"],
|
||||
}
|
||||
|
@ -206,7 +204,6 @@ func testAccCheckVSphereFolderExistingPathExists(n string, f *folder) resource.T
|
|||
|
||||
_, err = object.NewSearchIndex(client.Client).FindChild(context.TODO(), dcFolders.VmFolder, rs.Primary.Attributes["existing_path"])
|
||||
|
||||
|
||||
*f = folder{
|
||||
path: rs.Primary.Attributes["path"],
|
||||
}
|
||||
|
@ -235,7 +232,7 @@ func createVSphereFolder(datacenter string, folder_name string) error {
|
|||
|
||||
client := testAccProvider.Meta().(*govmomi.Client)
|
||||
|
||||
f := folder{path: folder_name, datacenter: datacenter,}
|
||||
f := folder{path: folder_name, datacenter: datacenter}
|
||||
|
||||
folder, err := object.NewSearchIndex(client.Client).FindByInventoryPath(
|
||||
context.TODO(), fmt.Sprintf("%v/vm/%v", datacenter, folder_name))
|
||||
|
@ -254,7 +251,7 @@ func createVSphereFolder(datacenter string, folder_name string) error {
|
|||
|
||||
func removeVSphereFolder(datacenter string, folder_name string, existing_path string) resource.TestCheckFunc {
|
||||
|
||||
f := folder{path: folder_name, datacenter: datacenter, existingPath: existing_path,}
|
||||
f := folder{path: folder_name, datacenter: datacenter, existingPath: existing_path}
|
||||
|
||||
return func(s *terraform.State) error {
|
||||
|
||||
|
|
|
@ -344,7 +344,6 @@ func testAccCheckVSphereVirtualMachineDestroy(s *terraform.State) error {
|
|||
return fmt.Errorf("error %s", err)
|
||||
}
|
||||
|
||||
|
||||
folder := dcFolders.VmFolder
|
||||
if len(rs.Primary.Attributes["folder"]) > 0 {
|
||||
si := object.NewSearchIndex(client.Client)
|
||||
|
@ -370,7 +369,6 @@ func testAccCheckVSphereVirtualMachineDestroy(s *terraform.State) error {
|
|||
func testAccCheckVSphereVirtualMachineExistsHasCustomConfig(n string, vm *virtualMachine) resource.TestCheckFunc {
|
||||
return func(s *terraform.State) error {
|
||||
|
||||
|
||||
rs, ok := s.RootModule().Resources[n]
|
||||
if !ok {
|
||||
return fmt.Errorf("Not found: %s", n)
|
||||
|
@ -393,7 +391,6 @@ func testAccCheckVSphereVirtualMachineExistsHasCustomConfig(n string, vm *virtua
|
|||
return fmt.Errorf("error %s", err)
|
||||
}
|
||||
|
||||
|
||||
_, err = object.NewSearchIndex(client.Client).FindChild(context.TODO(), dcFolders.VmFolder, rs.Primary.Attributes["name"])
|
||||
if err != nil {
|
||||
return fmt.Errorf("error %s", err)
|
||||
|
@ -493,7 +490,6 @@ func testAccCheckVSphereVirtualMachineExists(n string, vm *virtualMachine) resou
|
|||
|
||||
_, err = object.NewSearchIndex(client.Client).FindChild(context.TODO(), folder, rs.Primary.Attributes["name"])
|
||||
|
||||
|
||||
*vm = virtualMachine{
|
||||
name: rs.Primary.ID,
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ GIT_DIRTY=$(test -n "`git status --porcelain`" && echo "+CHANGES" || true)
|
|||
XC_ARCH=${XC_ARCH:-"386 amd64 arm"}
|
||||
XC_OS=${XC_OS:-linux darwin windows freebsd openbsd}
|
||||
|
||||
|
||||
# Get dependencies unless running in quick mode
|
||||
if [ "${TF_QUICKDEV}x" == "x" ]; then
|
||||
echo "==> Getting dependencies..."
|
||||
|
@ -30,6 +31,7 @@ rm -f bin/*
|
|||
rm -rf pkg/*
|
||||
mkdir -p bin/
|
||||
|
||||
|
||||
# If its dev mode, only build for ourself
|
||||
if [ "${TF_DEV}x" != "x" ]; then
|
||||
XC_OS=$(go env GOOS)
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Check gofmt
|
||||
echo "==> Checking that code complies with gofmt requirements..."
|
||||
gofmt_files=$(gofmt -l .)
|
||||
if [[ -n ${gofmt_files} ]]; then
|
||||
echo 'gofmt needs running on the following files:'
|
||||
echo "${gofmt_files}"
|
||||
echo "You can use the command: \`make fmt\` to reformat code."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue