Merge pull request #15497 from hashicorp/jbardin/race

Fix a couple races
This commit is contained in:
James Bardin 2017-07-07 08:53:29 -04:00 committed by GitHub
commit ac9abf579f
2 changed files with 14 additions and 6 deletions

View File

@ -74,14 +74,14 @@ func TestWorkspace_createAndList(t *testing.T) {
t.Fatal(err)
}
newCmd := &WorkspaceNewCommand{}
envs := []string{"test_a", "test_b", "test_c"}
// create multiple workspaces
for _, env := range envs {
ui := new(cli.MockUi)
newCmd.Meta = Meta{Ui: ui}
newCmd := &WorkspaceNewCommand{
Meta: Meta{Ui: ui},
}
if code := newCmd.Run([]string{env}); code != 0 {
t.Fatalf("bad: %d\n\n%s", code, ui.ErrorWriter)
}
@ -179,14 +179,14 @@ func TestWorkspace_createInvalid(t *testing.T) {
defer os.RemoveAll(td)
defer testChdir(t, td)()
newCmd := &WorkspaceNewCommand{}
envs := []string{"test_a*", "test_b/foo", "../../../test_c", "好_d"}
// create multiple workspaces
for _, env := range envs {
ui := new(cli.MockUi)
newCmd.Meta = Meta{Ui: ui}
newCmd := &WorkspaceNewCommand{
Meta: Meta{Ui: ui},
}
if code := newCmd.Run([]string{env}); code == 0 {
t.Fatalf("expected failure: \n%s", ui.OutputWriter)
}

View File

@ -26,6 +26,14 @@ type Value struct {
valueSet bool
}
func (v *Value) Lock() {
v.lock.Lock()
}
func (v *Value) Unlock() {
v.lock.Unlock()
}
// Close closes the value. This can never fail. For a definition of
// "close" see the struct docs.
func (w *Value) Close() error {