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 | |
| parent | 58a2726977a1b1f92063a1e51c0769af71833e72 (diff) | |
v2api/reverse: implement Lseek
Diffstat (limited to 'tests/reverse')
| -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() +}  | 
