aboutsummaryrefslogtreecommitdiff
path: root/internal/prefer_openssl/prefer_test.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2016-05-11 23:36:57 +0200
committerJakob Unterwurzacher2016-05-12 00:42:42 +0200
commit49b597f07c07bde6a2feb1f32f02fcaf34daf365 (patch)
tree3e2458fd8245c5610e3dcdf439f6da96e20ac06a /internal/prefer_openssl/prefer_test.go
parent384342fa5bde0f1d94da2eae865617f5ea936546 (diff)
prefer_openssl: autodetect whether to use OpenSSL or Go GCM
Go GCM is faster than OpenSSL if the CPU has AES instructions and you are running Go 1.6+. The "-openssl" option now defaults to "auto". "gocryptfs -debug -version" displays the result of the autodetection. See https://github.com/rfjakob/gocryptfs/issues/23 for details and benchmarks.
Diffstat (limited to 'internal/prefer_openssl/prefer_test.go')
-rw-r--r--internal/prefer_openssl/prefer_test.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/internal/prefer_openssl/prefer_test.go b/internal/prefer_openssl/prefer_test.go
new file mode 100644
index 0000000..a2ed737
--- /dev/null
+++ b/internal/prefer_openssl/prefer_test.go
@@ -0,0 +1,23 @@
+package prefer_openssl
+
+import (
+ "testing"
+)
+
+func TestCurrentCPU(t *testing.T) {
+ t.Logf("PreferOpenSSL=%v", PreferOpenSSL())
+}
+
+// Has AES instructions
+func TestXeonE312xx(t *testing.T) {
+ if filePreferOpenSSL("cpuinfo.xeon_e312xx.txt") == true {
+ t.Fail()
+ }
+}
+
+// Pentium G do not have AES instructions
+func TestPentiumG630(t *testing.T) {
+ if filePreferOpenSSL("cpuinfo.pentium_g630.txt") == false {
+ t.Fail()
+ }
+}