macos: make testing without openssl work properly
On MacOS, building and testing without openssl is much easier. The tests should skip tests that fail because of missing openssl instead of aborting. Fixes https://github.com/rfjakob/gocryptfs/issues/123
This commit is contained in:
parent
61e964457d
commit
ccf1a84e41
|
@ -23,7 +23,7 @@ func TestSplitRange(t *testing.T) {
|
||||||
testRange{6654, 8945})
|
testRange{6654, 8945})
|
||||||
|
|
||||||
key := make([]byte, cryptocore.KeyLen)
|
key := make([]byte, cryptocore.KeyLen)
|
||||||
cc := cryptocore.New(key, cryptocore.BackendOpenSSL, DefaultIVBits, true, false)
|
cc := cryptocore.New(key, cryptocore.BackendGoGCM, DefaultIVBits, true, false)
|
||||||
f := New(cc, DefaultBS, false)
|
f := New(cc, DefaultBS, false)
|
||||||
|
|
||||||
for _, r := range ranges {
|
for _, r := range ranges {
|
||||||
|
@ -51,7 +51,7 @@ func TestCiphertextRange(t *testing.T) {
|
||||||
testRange{6654, 8945})
|
testRange{6654, 8945})
|
||||||
|
|
||||||
key := make([]byte, cryptocore.KeyLen)
|
key := make([]byte, cryptocore.KeyLen)
|
||||||
cc := cryptocore.New(key, cryptocore.BackendOpenSSL, DefaultIVBits, true, false)
|
cc := cryptocore.New(key, cryptocore.BackendGoGCM, DefaultIVBits, true, false)
|
||||||
f := New(cc, DefaultBS, false)
|
f := New(cc, DefaultBS, false)
|
||||||
|
|
||||||
for _, r := range ranges {
|
for _, r := range ranges {
|
||||||
|
@ -74,7 +74,7 @@ func TestCiphertextRange(t *testing.T) {
|
||||||
|
|
||||||
func TestBlockNo(t *testing.T) {
|
func TestBlockNo(t *testing.T) {
|
||||||
key := make([]byte, cryptocore.KeyLen)
|
key := make([]byte, cryptocore.KeyLen)
|
||||||
cc := cryptocore.New(key, cryptocore.BackendOpenSSL, DefaultIVBits, true, false)
|
cc := cryptocore.New(key, cryptocore.BackendGoGCM, DefaultIVBits, true, false)
|
||||||
f := New(cc, DefaultBS, false)
|
f := New(cc, DefaultBS, false)
|
||||||
|
|
||||||
b := f.CipherOffToBlockNo(788)
|
b := f.CipherOffToBlockNo(788)
|
||||||
|
|
|
@ -2,17 +2,15 @@ package cryptocore
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/rfjakob/gocryptfs/internal/stupidgcm"
|
||||||
)
|
)
|
||||||
|
|
||||||
// "New" should accept at least these param combinations
|
// "New" should accept at least these param combinations
|
||||||
func TestCryptoCoreNew(t *testing.T) {
|
func TestCryptoCoreNew(t *testing.T) {
|
||||||
key := make([]byte, 32)
|
key := make([]byte, 32)
|
||||||
for _, useHKDF := range []bool{true, false} {
|
for _, useHKDF := range []bool{true, false} {
|
||||||
c := New(key, BackendOpenSSL, 128, useHKDF, false)
|
c := New(key, BackendGoGCM, 96, useHKDF, false)
|
||||||
if c.IVLen != 16 {
|
|
||||||
t.Fail()
|
|
||||||
}
|
|
||||||
c = New(key, BackendGoGCM, 96, useHKDF, false)
|
|
||||||
if c.IVLen != 12 {
|
if c.IVLen != 12 {
|
||||||
t.Fail()
|
t.Fail()
|
||||||
}
|
}
|
||||||
|
@ -20,6 +18,13 @@ func TestCryptoCoreNew(t *testing.T) {
|
||||||
if c.IVLen != 16 {
|
if c.IVLen != 16 {
|
||||||
t.Fail()
|
t.Fail()
|
||||||
}
|
}
|
||||||
|
if stupidgcm.BuiltWithoutOpenssl {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
c = New(key, BackendOpenSSL, 128, useHKDF, false)
|
||||||
|
if c.IVLen != 16 {
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// +build !without_openssl
|
||||||
|
|
||||||
// We compare against Go's built-in GCM implementation. Since stupidgcm only
|
// We compare against Go's built-in GCM implementation. Since stupidgcm only
|
||||||
// supports 128-bit IVs and Go only supports that from 1.5 onward, we cannot
|
// supports 128-bit IVs and Go only supports that from 1.5 onward, we cannot
|
||||||
// run these tests on older Go versions.
|
// run these tests on older Go versions.
|
||||||
|
|
Loading…
Reference in New Issue