From af65048868a5f0466f9bc39ece8a6e3ba3af9996 Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Mon, 10 Sep 2018 14:51:44 +0200 Subject: [PATCH] test case for tfo --- transport/internet/sockopt_test.go | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 transport/internet/sockopt_test.go diff --git a/transport/internet/sockopt_test.go b/transport/internet/sockopt_test.go new file mode 100644 index 00000000..4bf6ea60 --- /dev/null +++ b/transport/internet/sockopt_test.go @@ -0,0 +1,43 @@ +package internet_test + +import ( + "context" + "testing" + + "v2ray.com/core/common" + "v2ray.com/core/common/buf" + "v2ray.com/core/common/compare" + "v2ray.com/core/testing/servers/tcp" + . "v2ray.com/core/transport/internet" +) + +func TestSockOptMark(t *testing.T) { + tcpServer := tcp.Server{ + MsgProcessor: func(b []byte) []byte { + return b + }, + } + dest, err := tcpServer.Start() + common.Must(err) + defer tcpServer.Close() + + ctx := context.Background() + ctx = ContextWithStreamSettings(ctx, &MemoryStreamConfig{ + SocketSettings: &SocketConfig{ + Tfo: SocketConfig_Enable, + }, + }) + dialer := DefaultSystemDialer{} + conn, err := dialer.Dial(ctx, nil, dest) + common.Must(err) + defer conn.Close() + + _, err = conn.Write([]byte("abcd")) + common.Must(err) + + b := buf.New() + common.Must(b.Reset(buf.ReadFrom(conn))) + if err := compare.BytesEqualWithDetail(b.Bytes(), []byte("abcd")); err != nil { + t.Fatal(err) + } +}