]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Rearrange some tracker tests and files
authorMatt Joiner <anacrolix@gmail.com>
Tue, 22 Jun 2021 13:32:27 +0000 (23:32 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 22 Jun 2021 13:32:27 +0000 (23:32 +1000)
tracker/expvar.go [deleted file]
tracker/peer.go [deleted file]
tracker/udp-server_test.go [moved from tracker/server_test.go with 100% similarity]
tracker/udp/udp_test.go [new file with mode: 0644]
tracker/udp_test.go

diff --git a/tracker/expvar.go b/tracker/expvar.go
deleted file mode 100644 (file)
index bf03173..0000000
+++ /dev/null
@@ -1 +0,0 @@
-package tracker
diff --git a/tracker/peer.go b/tracker/peer.go
deleted file mode 100644 (file)
index bf03173..0000000
+++ /dev/null
@@ -1 +0,0 @@
-package tracker
diff --git a/tracker/udp/udp_test.go b/tracker/udp/udp_test.go
new file mode 100644 (file)
index 0000000..862aec7
--- /dev/null
@@ -0,0 +1,75 @@
+package udp
+
+import (
+       "bytes"
+       "encoding/binary"
+       "io"
+       "net"
+       "testing"
+
+       "github.com/anacrolix/dht/v2/krpc"
+       "github.com/stretchr/testify/require"
+)
+
+// Ensure net.IPs are stored big-endian, to match the way they're read from
+// the wire.
+func TestNetIPv4Bytes(t *testing.T) {
+       ip := net.IP([]byte{127, 0, 0, 1})
+       if ip.String() != "127.0.0.1" {
+               t.FailNow()
+       }
+       if string(ip) != "\x7f\x00\x00\x01" {
+               t.Fatal([]byte(ip))
+       }
+}
+
+func TestMarshalAnnounceResponse(t *testing.T) {
+       peers := krpc.CompactIPv4NodeAddrs{
+               {[]byte{127, 0, 0, 1}, 2},
+               {[]byte{255, 0, 0, 3}, 4},
+       }
+       b, err := peers.MarshalBinary()
+       require.NoError(t, err)
+       require.EqualValues(t,
+               "\x7f\x00\x00\x01\x00\x02\xff\x00\x00\x03\x00\x04",
+               b)
+       require.EqualValues(t, 12, binary.Size(AnnounceResponseHeader{}))
+}
+
+// Failure to write an entire packet to UDP is expected to given an error.
+func TestLongWriteUDP(t *testing.T) {
+       t.Parallel()
+       l, err := net.ListenUDP("udp4", nil)
+       require.NoError(t, err)
+       defer l.Close()
+       c, err := net.DialUDP("udp", nil, l.LocalAddr().(*net.UDPAddr))
+       if err != nil {
+               t.Fatal(err)
+       }
+       defer c.Close()
+       for msgLen := 1; ; msgLen *= 2 {
+               n, err := c.Write(make([]byte, msgLen))
+               if err != nil {
+                       require.Contains(t, err.Error(), "message too long")
+                       return
+               }
+               if n < msgLen {
+                       t.FailNow()
+               }
+       }
+}
+
+func TestShortBinaryRead(t *testing.T) {
+       var data ResponseHeader
+       err := binary.Read(bytes.NewBufferString("\x00\x00\x00\x01"), binary.BigEndian, &data)
+       if err != io.ErrUnexpectedEOF {
+               t.FailNow()
+       }
+}
+
+func TestConvertInt16ToInt(t *testing.T) {
+       i := 50000
+       if int(uint16(int16(i))) != 50000 {
+               t.FailNow()
+       }
+}
index 639eede6a15d683ed02a6f222188b350ea1fe96f..323047306f02c6f7ac60cfc1b6e698b712de5f79 100644 (file)
@@ -4,10 +4,8 @@ import (
        "bytes"
        "context"
        "crypto/rand"
-       "encoding/binary"
        "errors"
        "fmt"
-       "io"
        "io/ioutil"
        "net"
        "net/url"
@@ -27,69 +25,6 @@ var trackers = []string{
        "udp://tracker.openbittorrent.com:6969/announce",
 }
 
-// Ensure net.IPs are stored big-endian, to match the way they're read from
-// the wire.
-func TestNetIPv4Bytes(t *testing.T) {
-       ip := net.IP([]byte{127, 0, 0, 1})
-       if ip.String() != "127.0.0.1" {
-               t.FailNow()
-       }
-       if string(ip) != "\x7f\x00\x00\x01" {
-               t.Fatal([]byte(ip))
-       }
-}
-
-func TestMarshalAnnounceResponse(t *testing.T) {
-       peers := krpc.CompactIPv4NodeAddrs{
-               {[]byte{127, 0, 0, 1}, 2},
-               {[]byte{255, 0, 0, 3}, 4},
-       }
-       b, err := peers.MarshalBinary()
-       require.NoError(t, err)
-       require.EqualValues(t,
-               "\x7f\x00\x00\x01\x00\x02\xff\x00\x00\x03\x00\x04",
-               b)
-       require.EqualValues(t, 12, binary.Size(udp.AnnounceResponseHeader{}))
-}
-
-// Failure to write an entire packet to UDP is expected to given an error.
-func TestLongWriteUDP(t *testing.T) {
-       t.Parallel()
-       l, err := net.ListenUDP("udp4", nil)
-       require.NoError(t, err)
-       defer l.Close()
-       c, err := net.DialUDP("udp", nil, l.LocalAddr().(*net.UDPAddr))
-       if err != nil {
-               t.Fatal(err)
-       }
-       defer c.Close()
-       for msgLen := 1; ; msgLen *= 2 {
-               n, err := c.Write(make([]byte, msgLen))
-               if err != nil {
-                       require.Contains(t, err.Error(), "message too long")
-                       return
-               }
-               if n < msgLen {
-                       t.FailNow()
-               }
-       }
-}
-
-func TestShortBinaryRead(t *testing.T) {
-       var data udp.ResponseHeader
-       err := binary.Read(bytes.NewBufferString("\x00\x00\x00\x01"), binary.BigEndian, &data)
-       if err != io.ErrUnexpectedEOF {
-               t.FailNow()
-       }
-}
-
-func TestConvertInt16ToInt(t *testing.T) {
-       i := 50000
-       if int(uint16(int16(i))) != 50000 {
-               t.FailNow()
-       }
-}
-
 func TestAnnounceLocalhost(t *testing.T) {
        t.Parallel()
        srv := server{