| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // Copyright 2014 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- package ssh
- import (
- "context"
- "net"
- "testing"
- "time"
- )
- func TestAutoPortListenBroken(t *testing.T) {
- broken := "SSH-2.0-OpenSSH_5.9hh11"
- works := "SSH-2.0-OpenSSH_6.1"
- if !isBrokenOpenSSHVersion(broken) {
- t.Errorf("version %q not marked as broken", broken)
- }
- if isBrokenOpenSSHVersion(works) {
- t.Errorf("version %q marked as broken", works)
- }
- }
- func TestClientImplementsDialContext(t *testing.T) {
- type ContextDialer interface {
- DialContext(context.Context, string, string) (net.Conn, error)
- }
- // Belt and suspenders assertion, since package net does not
- // declare a ContextDialer type.
- var _ ContextDialer = &net.Dialer{}
- var _ ContextDialer = &Client{}
- }
- func TestClientDialContextWithCancel(t *testing.T) {
- c := &Client{}
- ctx, cancel := context.WithCancel(context.Background())
- cancel()
- _, err := c.DialContext(ctx, "tcp", "localhost:1000")
- if err != context.Canceled {
- t.Errorf("DialContext: got nil error, expected %v", context.Canceled)
- }
- }
- func TestClientDialContextWithDeadline(t *testing.T) {
- c := &Client{}
- ctx, cancel := context.WithDeadline(context.Background(), time.Now())
- defer cancel()
- _, err := c.DialContext(ctx, "tcp", "localhost:1000")
- if err != context.DeadlineExceeded {
- t.Errorf("DialContext: got nil error, expected %v", context.DeadlineExceeded)
- }
- }
|