Merge pull request #199 from qur/builder-name

packer: builder name should be removed from rawConfig
This commit is contained in:
Mitchell Hashimoto 2013-07-19 11:02:05 -07:00
commit cad6789704
2 changed files with 17 additions and 0 deletions

View File

@ -161,6 +161,10 @@ func ParseTemplate(data []byte) (t *Template, err error) {
continue continue
} }
// Now that we have the name, remove it from the config - as the builder
// itself doesn't know about, and it will cause a validation error.
delete(v, "name")
raw.rawConfig = v raw.rawConfig = v
t.Builders[raw.Name] = raw t.Builders[raw.Name] = raw

View File

@ -128,6 +128,19 @@ func TestParseTemplate_BuilderWithName(t *testing.T) {
builder, ok := result.Builders["bob"] builder, ok := result.Builders["bob"]
assert.True(ok, "should have bob builder") assert.True(ok, "should have bob builder")
assert.Equal(builder.Type, "amazon-ebs", "builder should be amazon-ebs") assert.Equal(builder.Type, "amazon-ebs", "builder should be amazon-ebs")
rawConfig := builder.rawConfig
if rawConfig == nil {
t.Fatal("missing builder raw config")
}
expected := map[string]interface{}{
"type": "amazon-ebs",
}
if !reflect.DeepEqual(rawConfig, expected) {
t.Fatalf("bad raw: %#v", rawConfig)
}
} }
func TestParseTemplate_BuilderWithConflictingName(t *testing.T) { func TestParseTemplate_BuilderWithConflictingName(t *testing.T) {