src/pkg/os/os_test.go | 11 ++++++++--- diff --git a/src/pkg/os/os_test.go b/src/pkg/os/os_test.go index 57081afb4e3708b62226c95d5e3197fdf40e072a..8c390198108cd74a1558d3d0034e2f2d061bbd9f 100644 --- a/src/pkg/os/os_test.go +++ b/src/pkg/os/os_test.go @@ -541,13 +541,18 @@ test{5, 0, 5}, 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();