diff --git a/command/clistate/state.go b/command/clistate/state.go index 7e5d32e60..2620c62f2 100644 --- a/command/clistate/state.go +++ b/command/clistate/state.go @@ -149,9 +149,7 @@ func (l *locker) Unlock(parentErr error) error { l.ui.Output(l.color.Color(fmt.Sprintf( "\n"+strings.TrimSpace(UnlockErrorMessage)+"\n", err))) - if parentErr != nil { - parentErr = multierror.Append(parentErr, err) - } + parentErr = multierror.Append(parentErr, err) } return parentErr diff --git a/command/clistate/state_test.go b/command/clistate/state_test.go new file mode 100644 index 000000000..f1ba88ab8 --- /dev/null +++ b/command/clistate/state_test.go @@ -0,0 +1,25 @@ +package clistate + +import ( + "context" + "fmt" + "testing" + + "github.com/hashicorp/terraform/states/statemgr" + "github.com/mitchellh/cli" + "github.com/mitchellh/colorstring" +) + +func TestUnlock(t *testing.T) { + ui := new(cli.MockUi) + + l := NewLocker(context.Background(), 0, ui, &colorstring.Colorize{Disable: true}) + l.Lock(statemgr.NewUnlockErrorFull(nil, nil), "test-lock") + + err := l.Unlock(nil) + if err != nil { + fmt.Printf(err.Error()) + } else { + t.Error("expected error") + } +}