reinstated rekey test

This commit is contained in:
херетик
2023-05-29 15:53:04 +01:00
parent 69de0b1d65
commit 78da495038

View File

@@ -143,106 +143,105 @@ func TestDispatcher(t *testing.T) {
cancel() cancel()
} }
// Disabled due to weird packet mangles on CI func TestDispatcher_Rekey(t *testing.T) {
//func TestDispatcher_Rekey(t *testing.T) { log2.SetLogLevel(log2.Debug)
// log2.SetLogLevel(log2.Debug) var e error
// var e error var l1, l2 *transport.Listener
// var l1, l2 *transport.Listener _ = l2
// _ = l2 var k1, k2 *crypto.Keys
// var k1, k2 *crypto.Keys ctx, cancel := context.WithCancel(context.Background())
// ctx, cancel := context.WithCancel(context.Background()) _ = cancel
// _ = cancel if k1, k2, e = crypto.Generate2Keys(); fails(e) {
// if k1, k2, e = crypto.Generate2Keys(); fails(e) { t.FailNow()
// t.FailNow() }
// } dataPath, err := os.MkdirTemp(os.TempDir(), "badger")
// dataPath, err := os.MkdirTemp(os.TempDir(), "badger") if err != nil {
// if err != nil { t.FailNow()
// t.FailNow() }
// } l1, e = transport.NewListener("", transport.LocalhostZeroIPv4TCP,
// l1, e = transport.NewListener("", transport.LocalhostZeroIPv4TCP, dataPath, k1, ctx, transport.DefaultMTU)
// dataPath, k1, ctx, transport.DefaultMTU) if fails(e) {
// if fails(e) { t.FailNow()
// t.FailNow() }
// } dataPath, err = os.MkdirTemp(os.TempDir(), "badger")
// dataPath, err = os.MkdirTemp(os.TempDir(), "badger") if err != nil {
// if err != nil { t.FailNow()
// t.FailNow() }
// } l2, e = transport.NewListener(transport.GetHostAddress(l1.Host),
// l2, e = transport.NewListener(transport.GetHostAddress(l1.Host), transport.LocalhostZeroIPv4TCP, dataPath, k2, ctx, transport.DefaultMTU)
// transport.LocalhostZeroIPv4TCP, dataPath, k2, ctx, transport.DefaultMTU) if fails(e) {
// if fails(e) { t.FailNow()
// t.FailNow() }
// } var msg1, msg2 []byte
// var msg1, msg2 []byte _ = msg2
// _ = msg2 msg1, _, e = tests.GenMessage(4096, "REQUEST")
// msg1, _, e = tests.GenMessage(4096, "REQUEST") msg2, _, e = tests.GenMessage(1024, "RESPONSE")
// msg2, _, e = tests.GenMessage(1024, "RESPONSE") _, _ = msg1, msg2
// _, _ = msg1, msg2 hn1 := transport.GetHostAddress(l2.Host)
// hn1 := transport.GetHostAddress(l2.Host) // hn2 := transport.GetHostAddress(l1.Host)
// // hn2 := transport.GetHostAddress(l1.Host) var ks *crypto.KeySet
// var ks *crypto.KeySet _, ks, e = crypto.NewSigner()
// _, ks, e = crypto.NewSigner() d1 := NewDispatcher(l1.Dial(hn1), ctx, ks)
// d1 := NewDispatcher(l1.Dial(hn1), ctx, ks) d2 := NewDispatcher(<-l2.Accept(), ctx, ks)
// d2 := NewDispatcher(<-l2.Accept(), ctx, ks) _, _ = d1, d2
// _, _ = d1, d2 var msgp1, msgp2 slice.Bytes
// var msgp1, msgp2 slice.Bytes id1, id2 := nonce.NewID(), nonce.NewID()
// id1, id2 := nonce.NewID(), nonce.NewID() on1 := onions.Skins{}.
// on1 := onions.Skins{}. Response(id1, msg1, 0).
// Response(id1, msg1, 0). Assemble()
// Assemble() on2 := onions.Skins{}.
// on2 := onions.Skins{}. Response(id2, msg2, 0).
// Response(id2, msg2, 0). Assemble()
// Assemble() s1 := onions.Encode(on1)
// s1 := onions.Encode(on1) s2 := onions.Encode(on2)
// s2 := onions.Encode(on2) x1 := s1.GetAll()
// x1 := s1.GetAll() x2 := s2.GetAll()
// x2 := s2.GetAll() xx1 := &Onion{x1}
// xx1 := &Onion{x1} xx2 := &Onion{x2}
// xx2 := &Onion{x2} sp1 := splice.New(xx1.Len())
// sp1 := splice.New(xx1.Len()) sp2 := splice.New(xx2.Len())
// sp2 := splice.New(xx2.Len()) if e = xx1.Encode(sp1); fails(e) {
// if e = xx1.Encode(sp1); fails(e) { t.FailNow()
// t.FailNow() }
// } if e = xx2.Encode(sp2); fails(e) {
// if e = xx2.Encode(sp2); fails(e) { t.FailNow()
// t.FailNow() }
// } countTo, succ := 1000, 0
// countTo, succ := 1000, 0 go func() {
// go func() { for {
// for { select {
// select { case <-ctx.Done():
// case <-ctx.Done(): return
// return case b := <-d1.Duplex.Receive():
// case b := <-d1.Duplex.Receive(): bb, xb2 := b.ToBytes(), x2.ToBytes()
// bb, xb2 := b.ToBytes(), x2.ToBytes() if string(bb) != string(xb2) {
// if string(bb) != string(xb2) { t.Error("did not receive expected message")
// t.Error("did not receive expected message") return
// return } else {
// } else { succ++
// succ++ continue
// continue }
// } case b := <-d2.Duplex.Receive():
// case b := <-d2.Duplex.Receive(): bb, xb1 := b.ToBytes(), x1.ToBytes()
// bb, xb1 := b.ToBytes(), x1.ToBytes() if string(bb) != string(xb1) {
// if string(bb) != string(xb1) { t.Error("did not receive expected message")
// t.Error("did not receive expected message") return
// return } else {
// } else { succ++
// succ++ continue
// continue }
// } }
// } }
// } }()
// }() msgp1 = sp1.GetAll()
// msgp1 = sp1.GetAll() msgp2 = sp2.GetAll()
// msgp2 = sp2.GetAll() for i := 0; i < countTo; i++ {
// for i := 0; i < countTo; i++ { d1.SendToConn(msgp1)
// d1.SendToConn(msgp1) d2.SendToConn(msgp2)
// d2.SendToConn(msgp2) }
// } time.Sleep(time.Second)
// time.Sleep(time.Second*5) cancel()
// cancel() if succ != countTo*3 {
// if succ != countTo*3 { t.Fatal("did not receive all messages correctly", succ, countTo*3)
// t.Fatal("did not receive all messages correctly", succ, countTo*3) }
// } }
//}