try newer versions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index bd6bb0f..c1bd2ba 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -37,7 +37,7 @@
   # combined due to slowness of Go install
   macosbuildtest:
     macos:
-      xcode: "12.5.1"
+      xcode: "13.4.1"
     steps:
       - macos_install_go
       - checkout
diff --git a/tfexec/fmt_test.go b/tfexec/fmt_test.go
index bdc5b6f..227b1c5 100644
--- a/tfexec/fmt_test.go
+++ b/tfexec/fmt_test.go
@@ -2,19 +2,20 @@
 
 import (
 	"context"
-	"errors"
 	"runtime"
 	"testing"
+
+	"github.com/hashicorp/terraform-exec/tfexec/internal/testutil"
 )
 
-func TestFormat(t *testing.T) {
+func TestFormatCmd(t *testing.T) {
 	if runtime.GOOS == "darwin" && runtime.GOARCH == "arm64" {
 		t.Skip("Terraform for darwin/arm64 is not available until v1")
 	}
 
 	td := t.TempDir()
 
-	tf, err := NewTerraform(td, tfVersion(t, "0.7.6"))
+	tf, err := NewTerraform(td, tfVersion(t, testutil.Latest_v1_1))
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -22,15 +23,34 @@
 	// empty env, to avoid environ mismatch in testing
 	tf.SetEnv(map[string]string{})
 
-	t.Run("too old version", func(t *testing.T) {
-		_, err := tf.formatCmd(context.Background(), []string{})
-		if err == nil {
-			t.Fatal("expected old version to fail")
+	t.Run("defaults", func(t *testing.T) {
+		fmtCmd, err := tf.formatCmd(context.Background(), []string{})
+		if err != nil {
+			t.Fatal(err)
 		}
 
-		var expectedErr *ErrVersionMismatch
-		if !errors.As(err, &expectedErr) {
-			t.Fatalf("error doesn't match: %#v", err)
+		assertCmd(t, []string{
+			"fmt",
+			"-no-color",
+		}, nil, fmtCmd)
+	})
+
+	t.Run("override all defaults", func(t *testing.T) {
+		fmtCmd, err := tf.formatCmd(context.Background(),
+			[]string{"string1", "string2"},
+			Recursive(true),
+			Dir("mydir"))
+		if err != nil {
+			t.Fatal(err)
 		}
+
+		assertCmd(t, []string{
+			"fmt",
+			"-no-color",
+			"string1",
+			"string2",
+			"-recursive",
+			"mydir",
+		}, nil, fmtCmd)
 	})
 }
diff --git a/tfexec/workspace_show_test.go b/tfexec/workspace_show_test.go
index 411ee6b..fac6350 100644
--- a/tfexec/workspace_show_test.go
+++ b/tfexec/workspace_show_test.go
@@ -2,40 +2,11 @@
 
 import (
 	"context"
-	"errors"
-	"runtime"
 	"testing"
 
 	"github.com/hashicorp/terraform-exec/tfexec/internal/testutil"
 )
 
-func TestWorkspaceShowCmd_v012(t *testing.T) {
-	if runtime.GOOS == "darwin" && runtime.GOARCH == "arm64" {
-		t.Skip("Terraform for darwin/arm64 is not available until v1")
-	}
-
-	td := t.TempDir()
-
-	tf, err := NewTerraform(td, tfVersion(t, "0.9.11"))
-	if err != nil {
-		t.Fatal(err)
-	}
-
-	// empty env, to avoid environ mismatch in testing
-	tf.SetEnv(map[string]string{})
-
-	_, err = tf.workspaceShowCmd(context.Background())
-	if err == nil {
-		t.Fatal("expected old version to fail")
-	}
-
-	var expectedErr *ErrVersionMismatch
-	if !errors.As(err, &expectedErr) {
-		t.Fatalf("error doesn't match: %#v", err)
-	}
-
-}
-
 func TestWorkspaceShowCmd_v1(t *testing.T) {
 	td := t.TempDir()