diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-25 20:56:26 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-25 20:56:26 +0000 |
commit | 422eaae5fe0038ad189b8fd28cfd6a7094d67ae1 (patch) | |
tree | c68d6b2a9f5b82a23171b0a488a4b7e5c63ad860 /libgo/go/exp/ssh/server_shell_test.go | |
parent | e0f3ea3ed4b9d0bce9f4c14762e4257ba62c8fba (diff) | |
download | ppe42-gcc-422eaae5fe0038ad189b8fd28cfd6a7094d67ae1.tar.gz ppe42-gcc-422eaae5fe0038ad189b8fd28cfd6a7094d67ae1.zip |
libgo: Update to weekly.2012-01-15.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183539 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/exp/ssh/server_shell_test.go')
-rw-r--r-- | libgo/go/exp/ssh/server_shell_test.go | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/libgo/go/exp/ssh/server_shell_test.go b/libgo/go/exp/ssh/server_shell_test.go deleted file mode 100644 index aa69ef7fedb..00000000000 --- a/libgo/go/exp/ssh/server_shell_test.go +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright 2011 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 ( - "io" - "testing" -) - -type MockChannel struct { - toSend []byte - bytesPerRead int - received []byte -} - -func (c *MockChannel) Accept() error { - return nil -} - -func (c *MockChannel) Reject(RejectionReason, string) error { - return nil -} - -func (c *MockChannel) Read(data []byte) (n int, err error) { - n = len(data) - if n == 0 { - return - } - if n > len(c.toSend) { - n = len(c.toSend) - } - if n == 0 { - return 0, io.EOF - } - if c.bytesPerRead > 0 && n > c.bytesPerRead { - n = c.bytesPerRead - } - copy(data, c.toSend[:n]) - c.toSend = c.toSend[n:] - return -} - -func (c *MockChannel) Write(data []byte) (n int, err error) { - c.received = append(c.received, data...) - return len(data), nil -} - -func (c *MockChannel) Close() error { - return nil -} - -func (c *MockChannel) AckRequest(ok bool) error { - return nil -} - -func (c *MockChannel) ChannelType() string { - return "" -} - -func (c *MockChannel) ExtraData() []byte { - return nil -} - -func TestClose(t *testing.T) { - c := &MockChannel{} - ss := NewServerShell(c, "> ") - line, err := ss.ReadLine() - if line != "" { - t.Errorf("Expected empty line but got: %s", line) - } - if err != io.EOF { - t.Errorf("Error should have been EOF but got: %s", err) - } -} - -var keyPressTests = []struct { - in string - line string - err error -}{ - { - "", - "", - io.EOF, - }, - { - "\r", - "", - nil, - }, - { - "foo\r", - "foo", - nil, - }, - { - "a\x1b[Cb\r", // right - "ab", - nil, - }, - { - "a\x1b[Db\r", // left - "ba", - nil, - }, - { - "a\177b\r", // backspace - "b", - nil, - }, -} - -func TestKeyPresses(t *testing.T) { - for i, test := range keyPressTests { - for j := 0; j < len(test.in); j++ { - c := &MockChannel{ - toSend: []byte(test.in), - bytesPerRead: j, - } - ss := NewServerShell(c, "> ") - line, err := ss.ReadLine() - if line != test.line { - t.Errorf("Line resulting from test %d (%d bytes per read) was '%s', expected '%s'", i, j, line, test.line) - break - } - if err != test.err { - t.Errorf("Error resulting from test %d (%d bytes per read) was '%v', expected '%v'", i, j, err, test.err) - break - } - } - } -} |