diff --git a/http2_test.go b/http2_test.go index 4157b99..49c0662 100644 --- a/http2_test.go +++ b/http2_test.go @@ -41,22 +41,19 @@ func TestHTTP2Proxy(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := http2ProxyRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := http2ProxyRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -162,22 +159,19 @@ func TestHTTPOverH2(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpOverH2Roundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpOverH2Roundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -283,24 +277,21 @@ func TestSOCKS5OverH2(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5OverH2Roundtrip(httpSrv.URL, sendData, - nil, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5OverH2Roundtrip(httpSrv.URL, sendData, + nil, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -409,22 +400,6 @@ func TestSSOverH2(t *testing.T) { sendData := make([]byte, 128) rand.Read(sendData) - var ssProxyTests = []struct { - clientCipher *url.Userinfo - serverCipher *url.Userinfo - pass bool - }{ - {nil, nil, false}, - {&url.Userinfo{}, &url.Userinfo{}, false}, - {url.User("abc"), url.User("abc"), false}, - {url.UserPassword("abc", "def"), url.UserPassword("abc", "def"), false}, - - {url.User("aes-128-cfb"), url.User("aes-128-cfb"), false}, - {url.User("aes-128-cfb"), url.UserPassword("aes-128-cfb", "123456"), false}, - {url.UserPassword("aes-128-cfb", "123456"), url.User("aes-128-cfb"), false}, - {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-128-cfb", "abc"), false}, - {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-128-cfb", "123456"), true}, - } for i, tc := range ssProxyTests { tc := tc t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { diff --git a/http_test.go b/http_test.go index 251aa52..14f6106 100644 --- a/http_test.go +++ b/http_test.go @@ -158,22 +158,19 @@ func TestHTTPProxy(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpProxyRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpProxyRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } diff --git a/kcp_test.go b/kcp_test.go index 73fae6e..d9d3e5c 100644 --- a/kcp_test.go +++ b/kcp_test.go @@ -290,22 +290,19 @@ func TestSSOverKCP(t *testing.T) { rand.Read(sendData) for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssOverKCPRoundtrip(httpSrv.URL, sendData, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := ssOverKCPRoundtrip(httpSrv.URL, sendData, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } diff --git a/quic_test.go b/quic_test.go index bce853f..79dd7d2 100644 --- a/quic_test.go +++ b/quic_test.go @@ -2,7 +2,6 @@ package gost import ( "crypto/rand" - "fmt" "net/http/httptest" "net/url" "testing" @@ -42,22 +41,19 @@ func TestHTTPOverQUIC(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpOverQUICRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpOverQUICRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -163,23 +159,20 @@ func TestSOCKS5OverQUIC(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5OverQUICRoundtrip(httpSrv.URL, sendData, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5OverQUICRoundtrip(httpSrv.URL, sendData, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -290,22 +283,19 @@ func TestSSOverQUIC(t *testing.T) { rand.Read(sendData) for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssOverQUICRoundtrip(httpSrv.URL, sendData, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := ssOverQUICRoundtrip(httpSrv.URL, sendData, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } diff --git a/socks_test.go b/socks_test.go index 5ca20a4..21be11c 100644 --- a/socks_test.go +++ b/socks_test.go @@ -3,7 +3,6 @@ package gost import ( "crypto/rand" "crypto/tls" - "fmt" "net/http/httptest" "net/url" "testing" @@ -67,23 +66,20 @@ func TestSOCKS5Proxy(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5ProxyRoundtrip(httpSrv.URL, sendData, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5ProxyRoundtrip(httpSrv.URL, sendData, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } diff --git a/ss_test.go b/ss_test.go index c35ae36..dd96b69 100644 --- a/ss_test.go +++ b/ss_test.go @@ -2,13 +2,12 @@ package gost import ( "crypto/rand" - "fmt" "net/http/httptest" "net/url" "testing" ) -var ssProxyTests = []struct { +var ssTests = []struct { clientCipher *url.Userinfo serverCipher *url.Userinfo pass bool @@ -23,54 +22,18 @@ var ssProxyTests = []struct { {url.UserPassword("aes-128-cfb", "123456"), url.User("aes-128-cfb"), false}, {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-128-cfb", "abc"), false}, {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-128-cfb", "123456"), true}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-192-cfb", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-256-cfb", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-128-ctr", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-192-ctr", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-256-ctr", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("des-cfb", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("bf-cfb", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("cast5-cfb", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("rc4-md5", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("chacha20", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("chacha20-ietf", "123456"), false}, - // {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("salsa20", "123456"), false}, {url.User("aes-192-cfb"), url.User("aes-192-cfb"), false}, {url.User("aes-192-cfb"), url.UserPassword("aes-192-cfb", "123456"), false}, {url.UserPassword("aes-192-cfb", "123456"), url.User("aes-192-cfb"), false}, {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("aes-192-cfb", "abc"), false}, {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("aes-192-cfb", "123456"), true}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("aes-128-cfb", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("aes-256-cfb", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("aes-128-ctr", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("aes-192-ctr", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("aes-256-ctr", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("des-cfb", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("bf-cfb", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("cast5-cfb", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("rc4-md5", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("chacha20", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("chacha20-ietf", "123456"), false}, - // {url.UserPassword("aes-192-cfb", "123456"), url.UserPassword("salsa20", "123456"), false}, {url.User("aes-256-cfb"), url.User("aes-256-cfb"), false}, {url.User("aes-256-cfb"), url.UserPassword("aes-256-cfb", "123456"), false}, {url.UserPassword("aes-256-cfb", "123456"), url.User("aes-256-cfb"), false}, {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("aes-256-cfb", "abc"), false}, {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("aes-256-cfb", "123456"), true}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("aes-128-cfb", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("aes-192-cfb", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("aes-128-ctr", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("aes-192-ctr", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("aes-256-ctr", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("des-cfb", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("bf-cfb", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("cast5-cfb", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("rc4-md5", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("chacha20", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("chacha20-ietf", "123456"), false}, - // {url.UserPassword("aes-256-cfb", "123456"), url.UserPassword("salsa20", "123456"), false}, {url.User("aes-128-ctr"), url.User("aes-128-ctr"), false}, {url.User("aes-128-ctr"), url.UserPassword("aes-128-ctr", "123456"), false}, @@ -133,6 +96,23 @@ var ssProxyTests = []struct { {url.UserPassword("salsa20", "123456"), url.UserPassword("salsa20", "123456"), true}, } +var ssProxyTests = []struct { + clientCipher *url.Userinfo + serverCipher *url.Userinfo + pass bool +}{ + {nil, nil, false}, + {&url.Userinfo{}, &url.Userinfo{}, false}, + {url.User("abc"), url.User("abc"), false}, + {url.UserPassword("abc", "def"), url.UserPassword("abc", "def"), false}, + + {url.User("aes-128-cfb"), url.User("aes-128-cfb"), false}, + {url.User("aes-128-cfb"), url.UserPassword("aes-128-cfb", "123456"), false}, + {url.UserPassword("aes-128-cfb", "123456"), url.User("aes-128-cfb"), false}, + {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-128-cfb", "abc"), false}, + {url.UserPassword("aes-128-cfb", "123456"), url.UserPassword("aes-128-cfb", "123456"), true}, +} + func ssProxyRoundtrip(targetURL string, data []byte, clientInfo *url.Userinfo, serverInfo *url.Userinfo) error { ln, err := TCPListener("") if err != nil { @@ -162,24 +142,21 @@ func TestSSProxy(t *testing.T) { sendData := make([]byte, 128) rand.Read(sendData) - for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssProxyRoundtrip(httpSrv.URL, sendData, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + for i, tc := range ssTests { + err := ssProxyRoundtrip(httpSrv.URL, sendData, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } diff --git a/ssh_test.go b/ssh_test.go index 5efb008..5d043d5 100644 --- a/ssh_test.go +++ b/ssh_test.go @@ -3,7 +3,6 @@ package gost import ( "crypto/rand" "crypto/tls" - "fmt" "net/http/httptest" "net/url" "testing" @@ -43,22 +42,19 @@ func TestHTTPOverSSHTunnel(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpOverSSHTunnelRoundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpOverSSHTunnelRoundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -164,24 +160,21 @@ func TestSOCKS5OverSSHTunnel(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5OverSSHTunnelRoundtrip(httpSrv.URL, sendData, - nil, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5OverSSHTunnelRoundtrip(httpSrv.URL, sendData, + nil, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -291,23 +284,20 @@ func TestSSOverSSHTunnel(t *testing.T) { rand.Read(sendData) for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssOverSSHTunnelRoundtrip(httpSrv.URL, sendData, - nil, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := ssOverSSHTunnelRoundtrip(httpSrv.URL, sendData, + nil, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } diff --git a/tls_test.go b/tls_test.go index fc396ff..f571f36 100644 --- a/tls_test.go +++ b/tls_test.go @@ -3,7 +3,6 @@ package gost import ( "crypto/rand" "crypto/tls" - "fmt" "net/http/httptest" "net/url" "testing" @@ -43,22 +42,19 @@ func TestHTTPOverTLS(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpOverTLSRoundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpOverTLSRoundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -164,24 +160,21 @@ func TestSOCKS5OverTLS(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5OverTLSRoundtrip(httpSrv.URL, sendData, - nil, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5OverTLSRoundtrip(httpSrv.URL, sendData, + nil, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -291,24 +284,21 @@ func TestSSOverTLS(t *testing.T) { rand.Read(sendData) for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssOverTLSRoundtrip(httpSrv.URL, sendData, - nil, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := ssOverTLSRoundtrip(httpSrv.URL, sendData, + nil, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -346,22 +336,19 @@ func TestHTTPOverMTLS(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpOverMTLSRoundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpOverMTLSRoundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -467,24 +454,21 @@ func TestSOCKS5OverMTLS(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5OverMTLSRoundtrip(httpSrv.URL, sendData, - nil, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5OverMTLSRoundtrip(httpSrv.URL, sendData, + nil, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -594,23 +578,20 @@ func TestSSOverMTLS(t *testing.T) { rand.Read(sendData) for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssOverMTLSRoundtrip(httpSrv.URL, sendData, - nil, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := ssOverMTLSRoundtrip(httpSrv.URL, sendData, + nil, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } diff --git a/ws_test.go b/ws_test.go index 0617e5e..da2e13a 100644 --- a/ws_test.go +++ b/ws_test.go @@ -2,7 +2,6 @@ package gost import ( "crypto/rand" - "fmt" "net/http/httptest" "net/url" "testing" @@ -42,22 +41,19 @@ func TestHTTPOverWS(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpOverWSRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpOverWSRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -163,23 +159,20 @@ func TestSOCKS5OverWS(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5OverWSRoundtrip(httpSrv.URL, sendData, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5OverWSRoundtrip(httpSrv.URL, sendData, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -290,23 +283,20 @@ func TestSSOverWS(t *testing.T) { rand.Read(sendData) for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssOverWSRoundtrip(httpSrv.URL, sendData, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := ssOverWSRoundtrip(httpSrv.URL, sendData, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -344,22 +334,19 @@ func TestHTTPOverMWS(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpOverMWSRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpOverMWSRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -466,23 +453,20 @@ func TestSOCKS5OverMWS(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5OverMWSRoundtrip(httpSrv.URL, sendData, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5OverMWSRoundtrip(httpSrv.URL, sendData, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -593,22 +577,19 @@ func TestSSOverMWS(t *testing.T) { rand.Read(sendData) for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssOverMWSRoundtrip(httpSrv.URL, sendData, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := ssOverMWSRoundtrip(httpSrv.URL, sendData, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } diff --git a/wss_test.go b/wss_test.go index f8b2ada..7f5ae71 100644 --- a/wss_test.go +++ b/wss_test.go @@ -3,7 +3,6 @@ package gost import ( "crypto/rand" "crypto/tls" - "fmt" "net/http/httptest" "net/url" "testing" @@ -43,22 +42,19 @@ func TestHTTPOverWSS(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpOverWSSRoundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpOverWSSRoundtrip(httpSrv.URL, sendData, nil, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -164,23 +160,20 @@ func TestSOCKS5OverWSS(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5OverWSSRoundtrip(httpSrv.URL, sendData, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5OverWSSRoundtrip(httpSrv.URL, sendData, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -291,23 +284,20 @@ func TestSSOverWSS(t *testing.T) { rand.Read(sendData) for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssOverWSSRoundtrip(httpSrv.URL, sendData, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := ssOverWSSRoundtrip(httpSrv.URL, sendData, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -345,22 +335,19 @@ func TestHTTPOverMWSS(t *testing.T) { rand.Read(sendData) for i, tc := range httpProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := httpOverMWSSRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) - if err == nil { - if tc.errStr != "" { - t.Errorf("#%d should failed with error %s", i, tc.errStr) - } - } else { - if tc.errStr == "" { - t.Errorf("#%d got error %v", i, err) - } - if err.Error() != tc.errStr { - t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) - } + err := httpOverMWSSRoundtrip(httpSrv.URL, sendData, tc.cliUser, tc.srvUsers) + if err == nil { + if tc.errStr != "" { + t.Errorf("#%d should failed with error %s", i, tc.errStr) } - }) + } else { + if tc.errStr == "" { + t.Errorf("#%d got error %v", i, err) + } + if err.Error() != tc.errStr { + t.Errorf("#%d got error %v, want %v", i, err, tc.errStr) + } + } } } @@ -467,23 +454,20 @@ func TestSOCKS5OverMWSS(t *testing.T) { rand.Read(sendData) for i, tc := range socks5ProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := socks5OverMWSSRoundtrip(httpSrv.URL, sendData, - tc.cliUser, - tc.srvUsers, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := socks5OverMWSSRoundtrip(httpSrv.URL, sendData, + tc.cliUser, + tc.srvUsers, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } } @@ -594,22 +578,19 @@ func TestSSOverMWSS(t *testing.T) { rand.Read(sendData) for i, tc := range ssProxyTests { - tc := tc - t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) { - err := ssOverMWSSRoundtrip(httpSrv.URL, sendData, - tc.clientCipher, - tc.serverCipher, - ) - if err == nil { - if !tc.pass { - t.Errorf("#%d should failed", i) - } - } else { - // t.Logf("#%d %v", i, err) - if tc.pass { - t.Errorf("#%d got error: %v", i, err) - } + err := ssOverMWSSRoundtrip(httpSrv.URL, sendData, + tc.clientCipher, + tc.serverCipher, + ) + if err == nil { + if !tc.pass { + t.Errorf("#%d should failed", i) } - }) + } else { + // t.Logf("#%d %v", i, err) + if tc.pass { + t.Errorf("#%d got error: %v", i, err) + } + } } }