From d212b246c5e24e6151bef45ad5a8185fdd12a28f Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sun, 16 Aug 2020 19:58:47 +0200 Subject: v2api/reverse: implement Lseek --- tests/reverse/correctness_test.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'tests/reverse') diff --git a/tests/reverse/correctness_test.go b/tests/reverse/correctness_test.go index 78c9c4b..9d7a1c8 100644 --- a/tests/reverse/correctness_test.go +++ b/tests/reverse/correctness_test.go @@ -5,6 +5,7 @@ import ( "fmt" "io/ioutil" "os" + "path/filepath" "syscall" "testing" @@ -257,3 +258,40 @@ func TestStatfs(t *testing.T) { t.Errorf("statfs reports size zero: %#v", st) } } + +// TestSeekData tests that fs.FileLseeker is implemented +func TestSeekData(t *testing.T) { + if !plaintextnames { + t.Skip() + } + + fn := filepath.Join(dirA, t.Name()) + f, err := os.Create(fn) + if err != nil { + t.Fatal(err) + } + var oneTiB int64 = 1024 * 1024 * 1024 * 1024 + if _, err = f.Seek(oneTiB, 0); err != nil { + t.Fatal(err) + } + if _, err = f.Write([]byte("foo")); err != nil { + t.Fatal(err) + } + f.Close() + + const SEEK_DATA = 3 + + fn2 := filepath.Join(dirB, t.Name()) + f, err = os.Open(fn2) + if err != nil { + t.Fatal(err) + } + off, err := f.Seek(1024*1024, SEEK_DATA) + if err != nil { + t.Fatal(err) + } + if off < oneTiB-1024*1024 { + t.Errorf("off=%d, expected=%d\n", off, oneTiB) + } + f.Close() +} -- cgit v1.2.3