fix: clarify coalesce warnings about maps vs non-maps

Signed-off-by: rishabh <rishank69@gmail.com>
pull/31838/head
rishabh 1 month ago
parent 4a91f3ad5c
commit 56466916e2

@ -245,7 +245,7 @@ func coalesceValues(printf printFn, c chart.Charter, v map[string]any, prefix st
// If the original value is nil, there is nothing to coalesce, so we don't print
// the warning
if val != nil {
printf("warning: skipped value for %s.%s: Not a table.", subPrefix, key)
printf("warning: skipped value for %s.%s: Not a map/object.", subPrefix, key)
}
} else {
// If the key is a child chart, coalesce tables with Merge set to true
@ -332,10 +332,10 @@ func coalesceTablesFullKey(printf printFn, dst, src map[string]any, prefix strin
if istable(dv) {
coalesceTablesFullKey(printf, dv.(map[string]any), val.(map[string]any), fullkey, merge)
} else {
printf("warning: cannot overwrite table with non table for %s (%v)", fullkey, val)
printf("warning: cannot overwrite map/object with non-map value for %s (%v)", fullkey, val)
}
} else if istable(dv) && val != nil {
printf("warning: destination for %s is a table. Ignoring non-table value (%v)", fullkey, val)
printf("warning: destination for %s is a map/object. Ignoring non-map value (%v)", fullkey, val)
}
}
return dst

@ -721,9 +721,9 @@ func TestCoalesceValuesWarnings(t *testing.T) {
}
t.Logf("vals: %v", vals)
assert.Contains(t, warnings, "warning: skipped value for level1.level2.level3.boat: Not a table.")
assert.Contains(t, warnings, "warning: destination for level1.level2.level3.spear.tip is a table. Ignoring non-table value (true)")
assert.Contains(t, warnings, "warning: cannot overwrite table with non table for level1.level2.level3.spear.sail (map[cotton:true])")
assert.Contains(t, warnings, "warning: skipped value for level1.level2.level3.boat: Not a map/object.")
assert.Contains(t, warnings, "warning: destination for level1.level2.level3.spear.tip is a map/object. Ignoring non-map value (true)")
assert.Contains(t, warnings, "warning: cannot overwrite map/object with non-map value for level1.level2.level3.spear.sail (map[cotton:true])")
}

Loading…
Cancel
Save