sockopt_linux_test.go 625 B

1234567891011121314151617181920212223242526272829
  1. // +build linux
  2. package tcp_test
  3. import (
  4. "context"
  5. "strings"
  6. "testing"
  7. "v2ray.com/core/testing/assert"
  8. "v2ray.com/core/testing/servers/tcp"
  9. . "v2ray.com/core/transport/internet/tcp"
  10. )
  11. func TestGetOriginalDestination(t *testing.T) {
  12. assert := assert.On(t)
  13. tcpServer := tcp.Server{}
  14. dest, err := tcpServer.Start()
  15. assert.Error(err).IsNil()
  16. defer tcpServer.Close()
  17. conn, err := Dial(context.Background(), dest)
  18. assert.Error(err).IsNil()
  19. defer conn.Close()
  20. originalDest, err := GetOriginalDestination(conn)
  21. assert.Bool(dest == originalDest || strings.Contains(err.Error(), "failed to call getsockopt"))
  22. }