(t *testing.T)
| 23 | } |
| 24 | |
| 25 | func TestServer(t *testing.T) { |
| 26 | listener := []byte("9") |
| 27 | os.Setenv("PUBLICIP", "127.0.0.1") |
| 28 | log.Init(listener[:]) |
| 29 | |
| 30 | pListener, _ := CreateP2PNetwork(listener, "9905", NoDiscover) |
| 31 | pListener.Listen() |
| 32 | |
| 33 | go receiveEvent(pListener, t) |
| 34 | |
| 35 | var wgForPeer sync.WaitGroup |
| 36 | wgForPeer.Add(1) |
| 37 | for c := 9904; c < 9905; c++ { |
| 38 | go func(c int) { |
| 39 | defer wgForPeer.Done() |
| 40 | id := []byte(strconv.Itoa(c)) |
| 41 | p, _ := CreateP2PNetwork(id, strconv.Itoa(c), NoDiscover) |
| 42 | p.Listen() |
| 43 | |
| 44 | var count uint64 |
| 45 | var wgForMsg sync.WaitGroup |
| 46 | var connected []byte |
| 47 | var err error |
| 48 | wgForMsg.Add(10) |
| 49 | for count = 0; count < 10; count++ { |
| 50 | go func(count uint64) { |
| 51 | defer wgForMsg.Done() |
| 52 | p.SetPort("9905") |
| 53 | connected, err = p.ConnectTo("127.0.0.1", nil) |
| 54 | if err != nil { |
| 55 | t.Errorf("ConnectTo ,Error %s", err) |
| 56 | } |
| 57 | cmd := &Ping{Count: count} |
| 58 | pb := proto.Message(cmd) |
| 59 | reply, _ := p.Request(connected, pb) |
| 60 | pong, _ := reply.Msg.Message.(*Pong) |
| 61 | if pong.Count-count != 10 { |
| 62 | t.Errorf("TestRequest ,Expected %d Actual %d", count+10, pong.Count) |
| 63 | } |
| 64 | p.DisConnectTo(connected) |
| 65 | }(count) |
| 66 | } |
| 67 | wgForMsg.Wait() |
| 68 | }(c) |
| 69 | } |
| 70 | wgForPeer.Wait() |
| 71 | retryLimit := 5 |
| 72 | for { |
| 73 | prNum, pcNum := pListener.numOfClient() |
| 74 | if prNum == 0 && pcNum == 0 { |
| 75 | break |
| 76 | } |
| 77 | retryLimit-- |
| 78 | if retryLimit == 0 { |
| 79 | t.Errorf("TestServer ,Expected %d Actual %d", 0, prNum) |
| 80 | } |
| 81 | time.Sleep(1 * time.Second) |
| 82 | } |
nothing calls this directly
no test coverage detected