From: Russ Cox Date: Thu, 12 Nov 2009 22:55:04 +0000 (-0800) Subject: os.TestSeek: use a smaller but still 64-bit seek offset. X-Git-Tag: weekly.2009-11-12~1 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=b0c7d680525d46d40fab09a4c68131ccbcd3254d;p=gostls13.git os.TestSeek: use a smaller but still 64-bit seek offset. Might fix issue 91. R=r https://golang.org/cl/152108 --- diff --git a/src/pkg/os/os_test.go b/src/pkg/os/os_test.go index 57081afb4e..8c39019810 100644 --- a/src/pkg/os/os_test.go +++ b/src/pkg/os/os_test.go @@ -541,13 +541,18 @@ func TestSeek(t *testing.T) { test{0, 2, int64(len(data))}, test{0, 0, 0}, test{-1, 2, int64(len(data)) - 1}, - test{1 << 40, 0, 1 << 40}, - test{1 << 40, 2, 1<<40 + int64(len(data))}, + test{1 << 33, 0, 1 << 33}, + test{1 << 33, 2, 1<<33 + int64(len(data))}, }; for i, tt := range tests { off, err := f.Seek(tt.in, tt.whence); if off != tt.out || err != nil { - t.Errorf("#%d: Seek(%v, %v) = %v, %v want %v, nil", i, tt.in, tt.whence, off, err, tt.out) + if e, ok := err.(*PathError); ok && e.Error == EINVAL && tt.out > 1<<32 { + // Reiserfs rejects the big seeks. + // http://code.google.com/p/go/issues/detail?id=91 + break + } + t.Errorf("#%d: Seek(%v, %v) = %v, %v want %v, nil", i, tt.in, tt.whence, off, err, tt.out); } } f.Close();