| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | // Copyright 2012 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 agentimport (	"testing"	"github.com/gogits/gogs/modules/crypto/ssh")func TestServer(t *testing.T) {	c1, c2, err := netPipe()	if err != nil {		t.Fatalf("netPipe: %v", err)	}	defer c1.Close()	defer c2.Close()	client := NewClient(c1)	go ServeAgent(NewKeyring(), c2)	testAgentInterface(t, client, testPrivateKeys["rsa"], nil, 0)}func TestLockServer(t *testing.T) {	testLockAgent(NewKeyring(), t)}func TestSetupForwardAgent(t *testing.T) {	a, b, err := netPipe()	if err != nil {		t.Fatalf("netPipe: %v", err)	}	defer a.Close()	defer b.Close()	_, socket, cleanup := startAgent(t)	defer cleanup()	serverConf := ssh.ServerConfig{		NoClientAuth: true,	}	serverConf.AddHostKey(testSigners["rsa"])	incoming := make(chan *ssh.ServerConn, 1)	go func() {		conn, _, _, err := ssh.NewServerConn(a, &serverConf)		if err != nil {			t.Fatalf("Server: %v", err)		}		incoming <- conn	}()	conf := ssh.ClientConfig{}	conn, chans, reqs, err := ssh.NewClientConn(b, "", &conf)	if err != nil {		t.Fatalf("NewClientConn: %v", err)	}	client := ssh.NewClient(conn, chans, reqs)	if err := ForwardToRemote(client, socket); err != nil {		t.Fatalf("SetupForwardAgent: %v", err)	}	server := <-incoming	ch, reqs, err := server.OpenChannel(channelType, nil)	if err != nil {		t.Fatalf("OpenChannel(%q): %v", channelType, err)	}	go ssh.DiscardRequests(reqs)	agentClient := NewClient(ch)	testAgentInterface(t, agentClient, testPrivateKeys["rsa"], nil, 0)	conn.Close()}
 |