]> Sergey Matveev's repositories - btrtrc.git/commitdiff
tracker: Skip DNS error in UDP test
authorMatt Joiner <anacrolix@gmail.com>
Sat, 7 May 2016 08:17:40 +0000 (18:17 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Sat, 7 May 2016 08:17:40 +0000 (18:17 +1000)
tracker/udp_test.go

index c9328f7e7e2d3468910eb28215b1e2d354038cb9..d01830f68c28db4d582d0aac23760185095f0dbc 100644 (file)
@@ -125,27 +125,25 @@ func TestUDPTracker(t *testing.T) {
        if testing.Short() {
                t.SkipNow()
        }
-       // if err := tr.Connect(); err != nil {
-       //      if strings.Contains(err.Error(), "no such host") {
-       //              t.Skip(err)
-       //      }
-       //      if strings.Contains(err.Error(), "i/o timeout") {
-       //              t.Skip(err)
-       //      }
-       //      t.Fatal(err)
-       // }
        req := AnnounceRequest{
                NumWant: -1,
-               // Event:   Started,
        }
        rand.Read(req.PeerId[:])
        copy(req.InfoHash[:], []uint8{0xa3, 0x56, 0x41, 0x43, 0x74, 0x23, 0xe6, 0x26, 0xd9, 0x38, 0x25, 0x4a, 0x6b, 0x80, 0x49, 0x10, 0xa6, 0x67, 0xa, 0xc1})
        ar, err := Announce("udp://tracker.openbittorrent.com:80/announce", &req)
+       // Skip temporary errors as we don't control the server.
        if ne, ok := err.(net.Error); ok {
                if ne.Timeout() {
                        t.Skip(err)
                }
        }
+       // Skip DNS errors because the network might not be available, and we
+       // don't control the domains we're testing.
+       if oe, ok := err.(*net.OpError); ok {
+               if _, ok := oe.Err.(*net.DNSError); ok {
+                       t.Skip(err)
+               }
+       }
        require.NoError(t, err)
        t.Log(ar)
 }