diff --git a/hcl2template/parser.go b/hcl2template/parser.go index 0bf4ce261..b79c8e3bb 100644 --- a/hcl2template/parser.go +++ b/hcl2template/parser.go @@ -127,8 +127,6 @@ func (p *Parser) parseFile(f *hcl.File, cfg *PackerConfig) hcl.Diagnostics { } cfg.Builds = append(cfg.Builds, build) - default: - panic(fmt.Sprintf("unexpected block type %q", block.Type)) // TODO(azr): err } } diff --git a/hcl2template/testdata/unknown/block_type.pkr.hcl b/hcl2template/testdata/unknown/block_type.pkr.hcl new file mode 100644 index 000000000..8ae2c40a3 --- /dev/null +++ b/hcl2template/testdata/unknown/block_type.pkr.hcl @@ -0,0 +1,3 @@ + +potato { +} diff --git a/hcl2template/types.packer_config_test.go b/hcl2template/types.packer_config_test.go index 38afe10da..0e410a850 100644 --- a/hcl2template/types.packer_config_test.go +++ b/hcl2template/types.packer_config_test.go @@ -90,6 +90,13 @@ func TestParser_complete(t *testing.T) { getBuildsWantBuilds: []packer.Build{}, getBuildsWantDiags: true, }, + {name: "unknown block type", + parser: defaultParser, + args: parseTestArgs{"testdata/unknown"}, + parseWantCfg: &PackerConfig{}, + parseWantDiags: true, + parseWantDiagHasErrors: true, + }, } testParse(t, tests) }