Xray-core/transport/internet/tcp/sockopt_linux_test.go

34 lines
777 B
Go
Raw Normal View History

2021-09-20 16:00:55 +03:00
//go:build linux
2020-11-25 13:01:53 +02:00
// +build linux
package tcp_test
import (
"context"
"strings"
"testing"
2020-12-04 03:36:16 +02:00
"github.com/xtls/xray-core/common"
"github.com/xtls/xray-core/testing/servers/tcp"
"github.com/xtls/xray-core/transport/internet"
. "github.com/xtls/xray-core/transport/internet/tcp"
2020-11-25 13:01:53 +02:00
)
func TestGetOriginalDestination(t *testing.T) {
tcpServer := tcp.Server{}
dest, err := tcpServer.Start()
common.Must(err)
defer tcpServer.Close()
config, err := internet.ToMemoryStreamConfig(nil)
common.Must(err)
conn, err := Dial(context.Background(), dest, config)
common.Must(err)
defer conn.Close()
originalDest, err := GetOriginalDestination(conn)
if !(dest == originalDest || strings.Contains(err.Error(), "failed to call getsockopt")) {
t.Error("unexpected state")
}
}