From 44ae89542f42d39d867ae8ec5ff54b0aa1a3c365 Mon Sep 17 00:00:00 2001 From: Yordan Miladinov Date: Mon, 26 Jul 2021 05:31:47 +0300 Subject: [PATCH] connchecker: initialCheck() now also respects CheckInterval (#719) --- connchecker/connchecker.go | 9 +++++++-- connchecker/connchecker_test.go | 7 ++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/connchecker/connchecker.go b/connchecker/connchecker.go index a8952ad3..d061f59e 100644 --- a/connchecker/connchecker.go +++ b/connchecker/connchecker.go @@ -1,6 +1,7 @@ package connchecker import ( + "context" "net" "strings" "sync" @@ -169,13 +170,17 @@ func (c *Checker) connectionTest() { // CheckDNS checks current dns for connectivity func (c *Checker) CheckDNS(dns string) error { - _, err := net.LookupAddr(dns) + ctx, cancel := context.WithTimeout(context.Background(), c.CheckInterval) + defer cancel() + _, err := net.DefaultResolver.LookupAddr(ctx, dns) return err } // CheckHost checks current host name for connectivity func (c *Checker) CheckHost(host string) error { - _, err := net.LookupHost(host) + ctx, cancel := context.WithTimeout(context.Background(), c.CheckInterval) + defer cancel() + _, err := net.DefaultResolver.LookupHost(ctx, host) return err } diff --git a/connchecker/connchecker_test.go b/connchecker/connchecker_test.go index 1ff3dfd7..0a129344 100644 --- a/connchecker/connchecker_test.go +++ b/connchecker/connchecker_test.go @@ -2,22 +2,23 @@ package connchecker import ( "testing" + "time" ) func TestConnection(t *testing.T) { faultyDomain := []string{"faultyIP"} faultyHost := []string{"faultyHost"} - _, err := New(faultyDomain, nil, 100000) + _, err := New(faultyDomain, nil, 1*time.Second) if err == nil { t.Fatal("New error cannot be nil") } - _, err = New(DefaultDNSList, nil, 100000) + _, err = New(DefaultDNSList, nil, 1*time.Second) if err != nil { t.Fatal("New error", err) } - _, err = New(nil, faultyHost, 100000) + _, err = New(nil, faultyHost, 1*time.Second) if err != nil { t.Fatal("New error cannot be nil", err) }