OSDN Git Service

libgo: Update to weekly.2012-01-20.
[pf3gnuchains/gcc-fork.git] / libgo / go / exp / ssh / transport_test.go
index b2e2a7f..ab9177f 100644 (file)
@@ -11,7 +11,7 @@ import (
 )
 
 func TestReadVersion(t *testing.T) {
-       buf := []byte(serverVersion)
+       buf := serverVersion
        result, err := readVersion(bufio.NewReader(bytes.NewBuffer(buf)))
        if err != nil {
                t.Errorf("readVersion didn't read version correctly: %s", err)
@@ -21,6 +21,20 @@ func TestReadVersion(t *testing.T) {
        }
 }
 
+func TestReadVersionWithJustLF(t *testing.T) {
+       var buf []byte
+       buf = append(buf, serverVersion...)
+       buf = buf[:len(buf)-1]
+       buf[len(buf)-1] = '\n'
+       result, err := readVersion(bufio.NewReader(bytes.NewBuffer(buf)))
+       if err != nil {
+               t.Error("readVersion failed to handle just a \n")
+       }
+       if !bytes.Equal(buf[:len(buf)-1], result) {
+               t.Errorf("version read did not match expected: got %x, want %x", result, buf[:len(buf)-1])
+       }
+}
+
 func TestReadVersionTooLong(t *testing.T) {
        buf := make([]byte, maxVersionStringBytes+1)
        if _, err := readVersion(bufio.NewReader(bytes.NewBuffer(buf))); err == nil {
@@ -29,7 +43,7 @@ func TestReadVersionTooLong(t *testing.T) {
 }
 
 func TestReadVersionWithoutCRLF(t *testing.T) {
-       buf := []byte(serverVersion)
+       buf := serverVersion
        buf = buf[:len(buf)-1]
        if _, err := readVersion(bufio.NewReader(bytes.NewBuffer(buf))); err == nil {
                t.Error("readVersion did not notice \\n was missing")