diff options
author | Jakob Unterwurzacher | 2020-08-16 19:58:47 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2020-08-16 19:58:47 +0200 |
commit | d212b246c5e24e6151bef45ad5a8185fdd12a28f (patch) | |
tree | d1d2eecd9fb289b674c426d0ba2bddc6c21b60ff /tests/reverse/correctness_test.go | |
parent | 58a2726977a1b1f92063a1e51c0769af71833e72 (diff) |
v2api/reverse: implement Lseek
Diffstat (limited to 'tests/reverse/correctness_test.go')
-rw-r--r-- | tests/reverse/correctness_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
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() +} |