diff --git a/terraform/parser.go b/terraform/parser.go index 768519c..1c2bf0d 100644 --- a/terraform/parser.go +++ b/terraform/parser.go @@ -50,7 +50,7 @@ func NewDefaultParser() *DefaultParser { // NewFmtParser is FmtParser initialized with its Regexp func NewFmtParser() *FmtParser { return &FmtParser{ - Fail: regexp.MustCompile(`(?m)^(diff a/)`), + Fail: regexp.MustCompile(`(?m)^@@[^@]+@@`), } } diff --git a/terraform/parser_test.go b/terraform/parser_test.go index 9e6d2a2..a741ade 100644 --- a/terraform/parser_test.go +++ b/terraform/parser_test.go @@ -6,7 +6,8 @@ import ( "testing" ) -const fmtSuccessResult = ` +// terraform fmt -diff=true -write=false (version 0.11.x) +const fmtFailResult0_11 = ` google_spanner_database.tf diff a/google_spanner_database.tf b/google_spanner_database.tf --- /tmp/398669432 @@ -28,6 +29,19 @@ diff a/google_spanner_instance.tf b/google_spanner_instance.tf + ` +// terraform fmt -diff=true -write=false (version 0.12.x) +const fmtFailResult0_12 = ` +versions.tf +--- old/versions.tf ++++ new/versions.tf +@@ -1,4 +1,4 @@ + + terraform { +- required_version = ">= 0.12" ++ required_version = ">= 0.12" + } +` + const planSuccessResult = ` Refreshing Terraform state in-memory prior to plan... The refreshed state will be used to calculate this plan, but will not be @@ -260,7 +274,16 @@ func TestFmtParserParse(t *testing.T) { }{ { name: "diff", - body: fmtSuccessResult, + body: fmtFailResult0_11, + result: ParseResult{ + Result: "There is diff in your .tf file (need to be formatted)", + ExitCode: 1, + Error: nil, + }, + }, + { + name: "diff", + body: fmtFailResult0_12, result: ParseResult{ Result: "There is diff in your .tf file (need to be formatted)", ExitCode: 1,