diff options
| author | Jakob Unterwurzacher | 2016-09-25 15:05:09 +0200 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2016-09-25 16:43:17 +0200 | 
| commit | 2050c7f3b3822a4a3329d4ba5b146d269ef05b4d (patch) | |
| tree | 69e5639a02498e37fa4f1aa3af6f605f756f42cc /tests/reverse | |
| parent | f8da264222f7348c6b9e6dd9d372200f850d2878 (diff) | |
reverse: add gcmsiv flag and associated tests
Diffstat (limited to 'tests/reverse')
| -rw-r--r-- | tests/reverse/correctness_test.go | 17 | ||||
| -rw-r--r-- | tests/reverse/longname_perf_test.go | 45 | ||||
| -rw-r--r-- | tests/reverse/main_test.go | 32 | 
3 files changed, 61 insertions, 33 deletions
| diff --git a/tests/reverse/correctness_test.go b/tests/reverse/correctness_test.go new file mode 100644 index 0000000..e268815 --- /dev/null +++ b/tests/reverse/correctness_test.go @@ -0,0 +1,17 @@ +package reverse_test + +import ( +	"os" +	"testing" +) + +func TestLongnameStat(t *testing.T) { +	_, err := os.Stat(dirA + "/" + "") +	if err != nil { +		t.Error(err) +	} +	_, err = os.Stat(dirA + "/" + "") +	if err != nil { +		t.Error(err) +	} +} diff --git a/tests/reverse/longname_perf_test.go b/tests/reverse/longname_perf_test.go index 43acd25..f170ad7 100644 --- a/tests/reverse/longname_perf_test.go +++ b/tests/reverse/longname_perf_test.go @@ -5,34 +5,17 @@ import (  	"fmt"  	"os"  	"testing" - -	"github.com/rfjakob/gocryptfs/tests/test_helpers"  ) -var dirA, dirB, x240 string - -func TestMain(m *testing.M) { -	x240 = string(bytes.Repeat([]byte("x"), 240)) -	dirA = test_helpers.TmpDir + "/a" -	dirB = test_helpers.TmpDir + "/b" -	os.Mkdir(dirA, 0700) -	os.Mkdir(dirB, 0700) -	generateFiles(dirA) -	test_helpers.MountOrExit(dirA, dirB, "-zerokey", "-reverse") -	r := m.Run() -	test_helpers.UnmountPanic(dirB) -	os.RemoveAll(test_helpers.TmpDir) -	os.Exit(r) -} - -func genName(i int) string { -	return fmt.Sprintf("%04d.%s", i, x240) +func genName(i int, postfix string) string { +	return fmt.Sprintf("%04d.%s", i, postfix)  }  // Create 10000 files with long names -func generateFiles(dir string) { +func generateLongnameFiles(dir string) { +	x240 := string(bytes.Repeat([]byte("x"), 240))  	for i := 0; i < 100000; i++ { -		n := genName(i) +		n := genName(i, x240)  		f, err := os.Create(dir + "/" + n)  		if err != nil {  			panic(err) @@ -41,18 +24,9 @@ func generateFiles(dir string) {  	}  } -func TestLongnameStat(t *testing.T) { -	_, err := os.Stat(dirA + "/" + genName(0)) -	if err != nil { -		t.Error(err) -	} -	_, err = os.Stat(dirA + "/" + genName(9999)) -	if err != nil { -		t.Error(err) -	} -} -  func BenchmarkLongnameStat(b *testing.B) { +	// Setup +	generateLongnameFiles(dirA)  	dirFd, err := os.Open(dirB)  	if err != nil {  		b.Fatal(err) @@ -63,6 +37,7 @@ func BenchmarkLongnameStat(b *testing.B) {  	}  	l := len(encryptedNames)  	dirFd.Close() +	// Benchmark  	b.ResetTimer()  	for i := 0; i < b.N; i++ {  		_, err := os.Stat(dirB + "/" + encryptedNames[i%l]) @@ -70,4 +45,8 @@ func BenchmarkLongnameStat(b *testing.B) {  			b.Fatal(err)  		}  	} +	// Cleanup +	b.StopTimer() +	os.RemoveAll(dirA) +	os.Mkdir(dirA, 0700)  } diff --git a/tests/reverse/main_test.go b/tests/reverse/main_test.go new file mode 100644 index 0000000..3d10750 --- /dev/null +++ b/tests/reverse/main_test.go @@ -0,0 +1,32 @@ +package reverse_test + +import ( +	"os" +	"testing" + +	"github.com/rfjakob/gocryptfs/tests/test_helpers" +) + +var dirA, dirB, dirC string + +func TestMain(m *testing.M) { +	dirA = test_helpers.TmpDir + "/a" +	dirB = test_helpers.TmpDir + "/b" +	dirC = test_helpers.TmpDir + "/c" +	if err := os.Mkdir(dirA, 0700); err != nil { +		panic(err) +	} +	if err := os.Mkdir(dirB, 0700); err != nil { +		panic(err) +	} +	if err := os.Mkdir(dirC, 0700); err != nil { +		panic(err) +	} +	test_helpers.MountOrExit(dirA, dirB, "-zerokey", "-reverse") +	test_helpers.MountOrExit(dirB, dirC, "-zerokey", "-gcmsiv") +	r := m.Run() +	test_helpers.UnmountPanic(dirC) +	test_helpers.UnmountPanic(dirB) +	os.RemoveAll(test_helpers.TmpDir) +	os.Exit(r) +} | 
