diff options
| author | Jakob Unterwurzacher | 2019-01-06 20:43:24 +0100 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2019-01-06 20:56:53 +0100 | 
| commit | 5c8e7feabd61a7db852728c9faee0ed913501b61 (patch) | |
| tree | 3910abfb2e087d2f3f1fb1a63b829ba3e597d0d9 | |
| parent | c83aa417e4396ea416b831d13e7a370ddbda5cb1 (diff) | |
tests: check that fallocate does not over-allocate space
We currently allocate 18 bytes too much:
https://github.com/rfjakob/gocryptfs/issues/311
| -rw-r--r-- | tests/matrix/fallocate_test.go | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/tests/matrix/fallocate_test.go b/tests/matrix/fallocate_test.go index 6928b4a..dde0685 100644 --- a/tests/matrix/fallocate_test.go +++ b/tests/matrix/fallocate_test.go @@ -148,6 +148,23 @@ func TestFallocate(t *testing.T) {  			}  		}  	} +	// We used to allocate 18 bytes too much: +	// https://github.com/rfjakob/gocryptfs/issues/311 +	// +	// 8110 bytes of plaintext should get us exactly 8192 bytes of ciphertext. +	err = file.Truncate(0) +	if err != nil { +		t.Fatal(err) +	} +	err = syscallcompat.Fallocate(fd, FALLOC_DEFAULT, 0, 8110) +	if err != nil { +		t.Fatal(err) +	} +	nBytes = test_helpers.Du(t, fd) +	want = 8192 +	if nBytes != want { +		t.Errorf("Expected %d allocated bytes, have %d", want, nBytes) +	}  	// Cleanup  	syscall.Unlink(fn)  	if !wellKnown { | 
