d59db52f06
The implementation was attempting to capture the error using a scoped variable reference, but the error value is already exposed via the return value of `WaitForState()`. Using that instead fixes the data race. Fixes the following data race: ``` ================== WARNING: DATA RACE Read by goroutine 74: github.com/hashicorp/terraform/helper/resource.Retry() /Users/phinze/go/src/github.com/hashicorp/terraform/helper/resource/wait.go:35 +0x284 github.com/hashicorp/terraform/helper/resource.TestRetry_timeout() /Users/phinze/go/src/github.com/hashicorp/terraform/helper/resource/wait_test.go:35 +0x60 testing.tRunner() /private/var/folders/vd/7l9ys5k57l91x63sh28wl_kc0000gn/T/workdir/go/src/testing/testing.go:456 +0xdc Previous write by goroutine 90: github.com/hashicorp/terraform/helper/resource.Retry.func1() /Users/phinze/go/src/github.com/hashicorp/terraform/helper/resource/wait.go:20 +0x87 github.com/hashicorp/terraform/helper/resource.(*StateChangeConf).WaitForState.func1() /Users/phinze/go/src/github.com/hashicorp/terraform/helper/resource/state.go:83 +0x284 Goroutine 74 (running) created at: testing.RunTests() /private/var/folders/vd/7l9ys5k57l91x63sh28wl_kc0000gn/T/workdir/go/src/testing/testing.go:561 +0xaa3 testing.(*M).Run() /private/var/folders/vd/7l9ys5k57l91x63sh28wl_kc0000gn/T/workdir/go/src/testing/testing.go:494 +0xe4 main.main() github.com/hashicorp/terraform/helper/resource/_test/_testmain.go:84 +0x20f Goroutine 90 (running) created at: github.com/hashicorp/terraform/helper/resource.(*StateChangeConf).WaitForState() /Users/phinze/go/src/github.com/hashicorp/terraform/helper/resource/state.go:127 +0x283 github.com/hashicorp/terraform/helper/resource.Retry() /Users/phinze/go/src/github.com/hashicorp/terraform/helper/resource/wait.go:34 +0x276 github.com/hashicorp/terraform/helper/resource.TestRetry_timeout() /Users/phinze/go/src/github.com/hashicorp/terraform/helper/resource/wait_test.go:35 +0x60 testing.tRunner() /private/var/folders/vd/7l9ys5k57l91x63sh28wl_kc0000gn/T/workdir/go/src/testing/testing.go:456 +0xdc ================== ``` |
||
---|---|---|
.. | ||
acctest | ||
config | ||
diff | ||
hashcode | ||
logging | ||
mutexkv | ||
pathorcontents | ||
resource | ||
schema | ||
README.md |
README.md
Helper Libraries
This folder contains helper libraries for Terraform plugins. A running joke is that this is "Terraform standard library" for plugins. The goal of the packages in this directory are to provide high-level helpers to make it easier to implement the various aspects of writing a plugin for Terraform.