Blame


1 0fc4e74a 2021-12-09 o package dns
2 0fc4e74a 2021-12-09 o
3 0fc4e74a 2021-12-09 o import (
4 7e5b6601 2021-12-16 o "crypto/rand"
5 7e5b6601 2021-12-16 o "io"
6 7e5b6601 2021-12-16 o "net"
7 0fc4e74a 2021-12-09 o "testing"
8 b141f119 2021-12-18 o "time"
9 0fc4e74a 2021-12-09 o )
10 0fc4e74a 2021-12-09 o
11 0fc4e74a 2021-12-09 o func TestServer(t *testing.T) {
12 0fc4e74a 2021-12-09 o go func() {
13 34b7ff68 2021-12-11 o t.Fatal(ListenAndServe("udp", "127.0.0.1:51111", nil))
14 0fc4e74a 2021-12-09 o }()
15 7e5b6601 2021-12-16 o time.Sleep(time.Millisecond)
16 7e5b6601 2021-12-16 o rmsg, err := Ask(testq, "127.0.0.1:51111")
17 0fc4e74a 2021-12-09 o if err != nil {
18 0fc4e74a 2021-12-09 o t.Errorf("exchange: %v", err)
19 0fc4e74a 2021-12-09 o }
20 0fc4e74a 2021-12-09 o t.Log("response:", rmsg)
21 0fc4e74a 2021-12-09 o }
22 0fc4e74a 2021-12-09 o
23 0fc4e74a 2021-12-09 o func TestStreamServer(t *testing.T) {
24 0fc4e74a 2021-12-09 o go func() {
25 34b7ff68 2021-12-11 o t.Fatal(ListenAndServe("tcp", "127.0.0.1:51112", nil))
26 0fc4e74a 2021-12-09 o }()
27 7e5b6601 2021-12-16 o time.Sleep(time.Millisecond)
28 7e5b6601 2021-12-16 o rmsg, err := AskTCP(testq, "127.0.0.1:51112")
29 0fc4e74a 2021-12-09 o if err != nil {
30 0fc4e74a 2021-12-09 o t.Errorf("exchange: %v", err)
31 0fc4e74a 2021-12-09 o }
32 0fc4e74a 2021-12-09 o t.Log("response:", rmsg)
33 0fc4e74a 2021-12-09 o }
34 a978f917 2021-12-09 o
35 7e5b6601 2021-12-16 o func TestJunk(t *testing.T) {
36 7e5b6601 2021-12-16 o addr := "127.0.0.1:5361"
37 7e5b6601 2021-12-16 o go func() {
38 7e5b6601 2021-12-16 o t.Fatal(ListenAndServe("tcp", addr, nil))
39 7e5b6601 2021-12-16 o }()
40 7e5b6601 2021-12-16 o time.Sleep(time.Millisecond)
41 7e5b6601 2021-12-16 o for i := 0; i <= 30; i++ {
42 7e5b6601 2021-12-16 o conn, err := net.Dial("tcp", addr)
43 7e5b6601 2021-12-16 o if err != nil {
44 7e5b6601 2021-12-16 o t.Fatal(err)
45 7e5b6601 2021-12-16 o }
46 7e5b6601 2021-12-16 o defer conn.Close()
47 7e5b6601 2021-12-16 o if _, err := io.CopyN(conn, rand.Reader, 8192); err != nil {
48 7e5b6601 2021-12-16 o t.Fatal(err)
49 7e5b6601 2021-12-16 o }
50 7e5b6601 2021-12-16 o }
51 7e5b6601 2021-12-16 o }
52 7e5b6601 2021-12-16 o
53 7e5b6601 2021-12-16 o func BenchmarkPacketVsStream(b *testing.B) {
54 7e5b6601 2021-12-16 o addr := "127.0.0.1:51113"
55 7e5b6601 2021-12-16 o var networks = []string{"udp", "tcp"}
56 7e5b6601 2021-12-16 o for _, net := range networks {
57 b141f119 2021-12-18 o go func() {
58 7e5b6601 2021-12-16 o b.Fatal(ListenAndServe(net, addr, nil))
59 7e5b6601 2021-12-16 o }()
60 7e5b6601 2021-12-16 o b.Run(net, func(b *testing.B) {
61 b141f119 2021-12-18 o for i := 0; i <= b.N; i++ {
62 7e5b6601 2021-12-16 o if net == "udp" {
63 7e5b6601 2021-12-16 o if rmsg, err := Ask(testq, addr); err != nil {
64 7e5b6601 2021-12-16 o b.Log(rmsg)
65 7e5b6601 2021-12-16 o b.Fatal(err)
66 7e5b6601 2021-12-16 o }
67 7e5b6601 2021-12-16 o } else {
68 7e5b6601 2021-12-16 o if rmsg, err := AskTCP(testq, addr); err != nil {
69 7e5b6601 2021-12-16 o b.Log(rmsg)
70 7e5b6601 2021-12-16 o b.Fatal(err)
71 7e5b6601 2021-12-16 o }
72 7e5b6601 2021-12-16 o }
73 7e5b6601 2021-12-16 o }
74 7e5b6601 2021-12-16 o })
75 7e5b6601 2021-12-16 o }
76 7e5b6601 2021-12-16 o }