fix tests for fransfomer

This commit is contained in:
Christian Goll
2022-11-29 10:53:53 +01:00
parent abeab3ee22
commit 53be931f87

View File

@@ -72,7 +72,8 @@ func (nodeConf *NodeConf) getterFrom(nodeInfo NodeInfo,
for key, val := range entryMap {
confMap[key] = getter(val)
}
} else if nodeInfoVal.Field(i).Type().Kind() == reflect.Ptr {
} else if nodeInfoVal.Field(i).Type().Kind() == reflect.Ptr && !nodeInfoVal.Field(i).IsNil() {
// initialize the nested NodeConf structs, but only if these will be set
if confField.Addr().Elem().IsZero() {
switch confField.Addr().Elem().Type() {
case reflect.TypeOf((*KernelConf)(nil)):
@@ -341,6 +342,11 @@ func (node *NodeInfo) setterFrom(n *NodeConf, nameArg string,
if node.Ipmi == nil {
node.Ipmi = new(IpmiEntry)
}
// also n could be nil
if n == nil {
myn := NewConf()
n = &myn
}
nodeInfoVal := reflect.ValueOf(node)
nodeInfoType := reflect.TypeOf(node)
nodeConfVal := reflect.ValueOf(n)
@@ -509,6 +515,10 @@ Abstract function for setting a NetDevEntry from a NetDevs
func (netDev *NetDevEntry) setterFrom(netYaml *NetDevs, nameArg string,
setter func(*Entry, string, string),
setterSlice func(*Entry, []string, string)) {
// check if netYaml is empty
if netYaml == nil {
netYaml = new(NetDevs)
}
netValues := reflect.ValueOf(netDev)
netInfoType := reflect.TypeOf(*netYaml)
netInfoVal := reflect.ValueOf(*netYaml)