diff --git a/command/test-fixtures/hcl/validation/wrong_pause_before.pkr.hcl b/command/test-fixtures/hcl/validation/wrong_pause_before.pkr.hcl new file mode 100644 index 000000000..a30aa55c2 --- /dev/null +++ b/command/test-fixtures/hcl/validation/wrong_pause_before.pkr.hcl @@ -0,0 +1,12 @@ +source "null" "example1" { + communicator = "none" +} + +build { + sources = ["source.null.example1"] + + provisioner "shell-local" { + pause_before = "5" + inline = ["echo Did I wait a bit?"] + } +} diff --git a/command/validate_test.go b/command/validate_test.go index 1644f4395..6c05c5297 100644 --- a/command/validate_test.go +++ b/command/validate_test.go @@ -22,6 +22,8 @@ func TestValidateCommand(t *testing.T) { {path: filepath.Join(testFixture("validate"), "null_var.json"), exitCode: 1}, {path: filepath.Join(testFixture("validate"), "var_foo_with_no_default.pkr.hcl"), exitCode: 1}, + {path: testFixture("hcl", "validation", "wrong_pause_before.pkr.hcl"), exitCode: 1}, + // wrong version fails {path: filepath.Join(testFixture("version_req", "base_failure")), exitCode: 1}, {path: filepath.Join(testFixture("version_req", "base_success")), exitCode: 0}, diff --git a/hcl2template/types.build.provisioners.go b/hcl2template/types.build.provisioners.go index 818d05be1..e5d3420e1 100644 --- a/hcl2template/types.build.provisioners.go +++ b/hcl2template/types.build.provisioners.go @@ -119,8 +119,9 @@ func (p *Parser) decodeProvisioner(block *hcl.Block, cfg *PackerConfig) (*Provis pauseBefore, err := time.ParseDuration(b.PauseBefore) if err != nil { return nil, append(diags, &hcl.Diagnostic{ - Summary: "Failed to parse pause_before duration", - Detail: err.Error(), + Summary: "Failed to parse pause_before duration", + Severity: hcl.DiagError, + Detail: err.Error(), }) } provisioner.PauseBefore = pauseBefore