fix: Update regex to reflect 1.4 error changes (#361)
* fix: Update regex to reflect 1.4 error changes
* tests: correct darwin/arm64 edge case condition
diff --git a/tfexec/exit_errors.go b/tfexec/exit_errors.go
index ea659b4..cd84bf5 100644
--- a/tfexec/exit_errors.go
+++ b/tfexec/exit_errors.go
@@ -39,7 +39,10 @@
tfVersionMismatchErrRegexp = regexp.MustCompile(`Error: The currently running version of Terraform doesn't meet the|Error: Unsupported Terraform Core version`)
tfVersionMismatchConstraintRegexp = regexp.MustCompile(`required_version = "(.+)"|Required version: (.+)\b`)
- configInvalidErrRegexp = regexp.MustCompile(`There are some problems with the configuration, described below.`)
+ configInvalidErrRegexp = regexp.MustCompile(
+ `There are some problems with the configuration, described below.|` +
+ `Error: Unsupported block type|Error: Unsupported argument`, // v1.4+
+ )
stateLockErrRegexp = regexp.MustCompile(`Error acquiring the state lock`)
stateLockInfoRegexp = regexp.MustCompile(`Lock Info:\n\s*ID:\s*([^\n]+)\n\s*Path:\s*([^\n]+)\n\s*Operation:\s*([^\n]+)\n\s*Who:\s*([^\n]+)\n\s*Version:\s*([^\n]+)\n\s*Created:\s*([^\n]+)\n`)
diff --git a/tfexec/internal/e2etest/util_test.go b/tfexec/internal/e2etest/util_test.go
index 36959ef..49cc063 100644
--- a/tfexec/internal/e2etest/util_test.go
+++ b/tfexec/internal/e2etest/util_test.go
@@ -88,7 +88,7 @@
alreadyRunVersions := map[string]bool{}
for _, tfv := range versions {
t.Run(fmt.Sprintf("%s-%s", fixtureName, tfv), func(t *testing.T) {
- if runtime.GOOS == "darwin" && runtime.GOARCH == "arm64" {
+ if !strings.HasPrefix(tfv, "refs/") && runtime.GOOS == "darwin" && runtime.GOARCH == "arm64" {
v, err := version.NewVersion(tfv)
if err != nil {
t.Fatal(err)