"testing"
)
+func testHandshake(t *testing.T, cl, srv *Handshake) {
+ var err error
+ if _, err = srv.Server(testCt); err != nil {
+ t.Error(err)
+ }
+ if _, err = cl.Client(testCt); err != nil {
+ t.Error(err)
+ }
+ p, err := srv.Server(testCt)
+ if p == nil {
+ t.Fail()
+ }
+ if err != nil {
+ t.Error(err)
+ }
+ p, err = cl.Client(testCt)
+ if p == nil {
+ t.Fail()
+ }
+ if err != nil {
+ t.Error(err)
+ }
+}
+
func TestHandshakeSymmetric(t *testing.T) {
+ var err error
// initial values are taken from peer_test.go's init()
v := VerifierNew(1<<10, 1<<4, 1, &testPeerID)
testConf.Verifier = v
- testConf.DSAPriv = v.PasswordApply("does not matter")
- hsS := NewHandshake("server", Dummy{&testCt}, testConf)
- hsC := HandshakeStart("client", Dummy{&testCt}, testConf)
- hsS.Server(testCt)
- hsC.Client(testCt)
- if hsS.Server(testCt) == nil {
- t.Fail()
+ testConf.DSAPriv, err = v.PasswordApply("does not matter")
+ if err != nil {
+ t.Error(err)
}
- if hsC.Client(testCt) == nil {
- t.Fail()
+ hsS := NewHandshake("server", Dummy{&testCt}, testConf)
+ hsC, err := HandshakeStart("client", Dummy{&testCt}, testConf)
+ if err != nil {
+ t.Error(err)
}
+ testHandshake(t, hsC, hsS)
}
func TestHandshakeNoiseSymmetric(t *testing.T) {
+ var err error
// initial values are taken from peer_test.go's init()
v := VerifierNew(1<<10, 1<<4, 1, &testPeerID)
testConf.Verifier = v
- testConf.DSAPriv = v.PasswordApply("does not matter")
+ testConf.DSAPriv, err = v.PasswordApply("does not matter")
+ if err != nil {
+ t.Error(err)
+ }
testConf.Noise = true
hsS := NewHandshake("server", Dummy{&testCt}, testConf)
- hsC := HandshakeStart("client", Dummy{&testCt}, testConf)
- hsS.Server(testCt)
- hsC.Client(testCt)
- if hsS.Server(testCt) == nil {
- t.Fail()
- }
- if hsC.Client(testCt) == nil {
- t.Fail()
+ hsC, err := HandshakeStart("client", Dummy{&testCt}, testConf)
+ if err != nil {
+ t.Error(err)
}
+ testHandshake(t, hsC, hsS)
testConf.Noise = false
}
+
func TestHandshakeEnclessSymmetric(t *testing.T) {
+ var err error
// initial values are taken from peer_test.go's init()
v := VerifierNew(1<<10, 1<<4, 1, &testPeerID)
testConf.Verifier = v
- testConf.DSAPriv = v.PasswordApply("does not matter")
+ testConf.DSAPriv, err = v.PasswordApply("does not matter")
+ if err != nil {
+ t.Error(err)
+ }
testConf.Encless = true
testConf.Noise = true
hsS := NewHandshake("server", Dummy{&testCt}, testConf)
- hsC := HandshakeStart("client", Dummy{&testCt}, testConf)
- hsS.Server(testCt)
- hsC.Client(testCt)
- if hsS.Server(testCt) == nil {
- t.Fail()
- }
- if hsC.Client(testCt) == nil {
- t.Fail()
+ hsC, err := HandshakeStart("client", Dummy{&testCt}, testConf)
+ if err != nil {
+ t.Error(err)
}
+ testHandshake(t, hsC, hsS)
testConf.Encless = false
testConf.Noise = false
}