You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
791 B

  1. // Copyright 2012 The Go Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. // +build !windows
  5. package test
  6. // direct-tcpip functional tests
  7. import (
  8. "io"
  9. "net"
  10. "testing"
  11. )
  12. func TestDial(t *testing.T) {
  13. server := newServer(t)
  14. defer server.Shutdown()
  15. sshConn := server.Dial(clientConfig())
  16. defer sshConn.Close()
  17. l, err := net.Listen("tcp", "127.0.0.1:0")
  18. if err != nil {
  19. t.Fatalf("Listen: %v", err)
  20. }
  21. defer l.Close()
  22. go func() {
  23. for {
  24. c, err := l.Accept()
  25. if err != nil {
  26. break
  27. }
  28. io.WriteString(c, c.RemoteAddr().String())
  29. c.Close()
  30. }
  31. }()
  32. conn, err := sshConn.Dial("tcp", l.Addr().String())
  33. if err != nil {
  34. t.Fatalf("Dial: %v", err)
  35. }
  36. defer conn.Close()
  37. }