plugin/secondary: stop update loop on reload shutdown (#8198)

This commit is contained in:
houyuwushang
2026-07-02 21:46:03 +08:00
committed by GitHub
parent 3a4b87bdb4
commit 679f764ae1
3 changed files with 90 additions and 19 deletions

View File

@@ -3,6 +3,7 @@ package file
import (
"fmt"
"testing"
"time"
"github.com/coredns/coredns/plugin/pkg/dnstest"
"github.com/coredns/coredns/plugin/test"
@@ -121,6 +122,27 @@ func TestTransferIn(t *testing.T) {
}
}
func TestUpdateStopsBeforeInitialTransfer(t *testing.T) {
z := NewZone(testZone, "test")
updateShutdown := make(chan bool)
done := make(chan struct{})
go func() {
if err := z.Update(updateShutdown, nil); err != nil {
t.Errorf("Unexpected update error: %v", err)
}
close(done)
}()
close(updateShutdown)
select {
case <-done:
case <-time.After(200 * time.Millisecond):
t.Fatal("Update did not stop while waiting for initial SOA")
}
}
func TestIsNotify(t *testing.T) {
z := new(Zone)
z.origin = testZone