mirror of
https://github.com/hashicorp/packer.git
synced 2026-09-28 18:54:07 -04:00
backport of commit b366ff28ff
This commit is contained in:
@@ -177,3 +177,18 @@ func Test_fmt_pipe(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const malformedTemplate = "test-fixtures/fmt_errs/malformed.pkr.hcl"
|
||||
|
||||
func TestFmtParseError(t *testing.T) {
|
||||
p := helperCommand(t, "fmt", malformedTemplate)
|
||||
outs, err := p.CombinedOutput()
|
||||
if err == nil {
|
||||
t.Errorf("Expected failure to format file, but command did not fail")
|
||||
}
|
||||
strLogs := string(outs)
|
||||
|
||||
if !strings.Contains(strLogs, "An argument or block definition is required here.") {
|
||||
t.Errorf("Expected some diags about parse error, found none")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
variable "region" {
|
||||
type =string
|
||||
}
|
||||
|
||||
invalid
|
||||
|
||||
source "amazon-ebs" "example" {
|
||||
region = var.region
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.amazon-ebs.example"]
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/go-multierror"
|
||||
"github.com/hashicorp/hcl/v2"
|
||||
"github.com/hashicorp/hcl/v2/hclparse"
|
||||
"github.com/hashicorp/hcl/v2/hclwrite"
|
||||
@@ -135,7 +136,7 @@ func (f *HCL2Formatter) processFile(filename string) ([]byte, error) {
|
||||
|
||||
_, diags := f.parser.ParseHCL(inSrc, filename)
|
||||
if diags.HasErrors() {
|
||||
return nil, fmt.Errorf("failed to parse HCL %s", filename)
|
||||
return nil, multierror.Append(nil, diags.Errs()...)
|
||||
}
|
||||
|
||||
outSrc := hclwrite.Format(inSrc)
|
||||
|
||||
Reference in New Issue
Block a user