mirror of
https://github.com/coredns/coredns.git
synced 2026-07-21 23:20:13 -04:00
plugin/auto: fix inverted arguments in duplicate-origin warning (#8317)
The warning added in #8216 passed the skipped file where the kept file belongs and vice versa, so it logged "using <skipped> instead of <kept>" — the reverse of what Walk actually does. Swap the arguments (and use cleanPath for both) so the message names the file that is being used. Strengthen TestWalkWarnsForDuplicateOrigin to assert the direction; it only checked that both names appeared, so the inversion passed before. Signed-off-by: maximilize <3752128+maximilize@users.noreply.github.com>
This commit is contained in:
@@ -43,7 +43,7 @@ func (a Auto) Walk() error {
|
||||
|
||||
cleanPath := filepath.Clean(path)
|
||||
if previous, ok := seen[origin]; ok && previous != cleanPath {
|
||||
log.Warningf("Multiple zone files match origin %q: using %q instead of %q", origin, path, previous)
|
||||
log.Warningf("Multiple zone files match origin %q: using %q instead of %q", origin, previous, cleanPath)
|
||||
toDelete[origin] = false
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -141,6 +141,15 @@ func TestWalkWarnsForDuplicateOrigin(t *testing.T) {
|
||||
t.Fatalf("Expected log to contain %q, got %q", want, got)
|
||||
}
|
||||
}
|
||||
// The warning must name the kept (first, live) file in the "using" slot and
|
||||
// the skipped backup in the "instead of" slot — not the other way around.
|
||||
// Walk keeps example.org.zone (visited first) and skips the .bak file.
|
||||
if !strings.Contains(got, `example.org.zone" instead of "`) {
|
||||
t.Errorf("Warning names the wrong file as used; want the live zone in the \"using\" slot, got %q", got)
|
||||
}
|
||||
if strings.Contains(got, `example.org.zone.bak-20260528" instead of "`) {
|
||||
t.Errorf("Warning claims the skipped backup is being used, got %q", got)
|
||||
}
|
||||
|
||||
logBuf.Reset()
|
||||
a.Walk()
|
||||
|
||||
Reference in New Issue
Block a user