]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/cypherpunks.ru/govpn/handshake_test.go
evaluate error in tests
[govpn.git] / src / cypherpunks.ru / govpn / handshake_test.go
index 077146583c654c5fb726aaab70e03430b14cf104..a0908a517a9dbfae1b927a4e34ac4e774aeeb7aa 100644 (file)
@@ -22,58 +22,83 @@ import (
        "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
 }