diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-03 21:58:02 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-03 21:58:02 +0000 |
commit | 0694cef2844753fb80be4f71f7d2eb82eb5ba464 (patch) | |
tree | 2f8da9862a9c1fe0df138917f997b03439c02773 /libgo/go/net/dnsclient_test.go | |
parent | 397fecd695789eccab667bf771a354df71d843e8 (diff) | |
download | gcc-0694cef2844753fb80be4f71f7d2eb82eb5ba464.tar.gz |
libgo: Update to go1.6rc1.
Reviewed-on: https://go-review.googlesource.com/19200
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233110 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/net/dnsclient_test.go')
-rw-r--r-- | libgo/go/net/dnsclient_test.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/libgo/go/net/dnsclient_test.go b/libgo/go/net/dnsclient_test.go index 3ab2b836ef6..7308fb03fa1 100644 --- a/libgo/go/net/dnsclient_test.go +++ b/libgo/go/net/dnsclient_test.go @@ -67,3 +67,51 @@ func testWeighting(t *testing.T, margin float64) { func TestWeighting(t *testing.T) { testWeighting(t, 0.05) } + +// Issue 8434: verify that Temporary returns true on an error when rcode +// is SERVFAIL +func TestIssue8434(t *testing.T) { + msg := &dnsMsg{ + dnsMsgHdr: dnsMsgHdr{ + rcode: dnsRcodeServerFailure, + }, + } + + _, _, err := answer("golang.org", "foo:53", msg, uint16(dnsTypeSRV)) + if err == nil { + t.Fatal("expected an error") + } + if ne, ok := err.(Error); !ok { + t.Fatalf("err = %#v; wanted something supporting net.Error", err) + } else if !ne.Temporary() { + t.Fatalf("Temporary = false for err = %#v; want Temporary == true", err) + } + if de, ok := err.(*DNSError); !ok { + t.Fatalf("err = %#v; wanted a *net.DNSError", err) + } else if !de.IsTemporary { + t.Fatalf("IsTemporary = false for err = %#v; want IsTemporary == true", err) + } +} + +// Issue 12778: verify that NXDOMAIN without RA bit errors as +// "no such host" and not "server misbehaving" +func TestIssue12778(t *testing.T) { + msg := &dnsMsg{ + dnsMsgHdr: dnsMsgHdr{ + rcode: dnsRcodeNameError, + recursion_available: false, + }, + } + + _, _, err := answer("golang.org", "foo:53", msg, uint16(dnsTypeSRV)) + if err == nil { + t.Fatal("expected an error") + } + de, ok := err.(*DNSError) + if !ok { + t.Fatalf("err = %#v; wanted a *net.DNSError", err) + } + if de.Err != errNoSuchHost.Error() { + t.Fatalf("Err = %#v; wanted %q", de.Err, errNoSuchHost.Error()) + } +} |