wip
diff --git a/tfexec/init_test.go b/tfexec/init_test.go
index cafa5db..a288d08 100644
--- a/tfexec/init_test.go
+++ b/tfexec/init_test.go
@@ -2,6 +2,7 @@
import (
"context"
+ "errors"
"testing"
"github.com/hashicorp/terraform-exec/tfexec/internal/testutil"
@@ -68,3 +69,49 @@
}, nil, initCmd)
})
}
+
+func TestInitCmd_compatible(t *testing.T) {
+ // Options -lock, -lock-timeout, -verify-plugins, and -get-plugins were
+ // removed in 0.15.
+ //
+ // The -lock and -lock-timeout options were then reinstated in 1.0.10.
+ //
+ // We do some grey box testing here to come up with meaningful test
+ // combinations of options.
+
+ td := t.TempDir()
+
+ t.Run("options not compatible with 0.15", func(t *testing.T) {
+ tf, err := NewTerraform(td, tfVersion(t, testutil.Latest015))
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var expectedErr *ErrVersionMismatch
+
+ _, err := tf.initCmd(
+ context.Background(),
+ VerifyPlugins(false),
+ )
+ if err == nil {
+ t.Fatalf("expected -verify-plugins to be unsupported in 0.15")
+ }
+ if !errors.As(err, &expectedErr) {
+ t.Fatalf("expected %#v but got %#v", expectedErr, err)
+ }
+
+ // TODO getplugins
+
+ // TODO lock
+
+ // TODO locktimeout
+ })
+
+ t.Run("options reinstated in 1.0.10", func(t *testing.T) {
+
+ })
+
+ t.Run("options not reinstated in 1.0.10", func(t *testing.T) {
+
+ })
+}