Skip to content

Commit

Permalink
Merge pull request #74 from onflow/tarak/4870-crypto-testing-syntax
Browse files Browse the repository at this point in the history
Crypto: refactor the tests
  • Loading branch information
Kay-Zee committed Oct 30, 2020
2 parents a6f1c11 + ace6e5a commit 5b42992
Show file tree
Hide file tree
Showing 6 changed files with 438 additions and 359 deletions.
72 changes: 35 additions & 37 deletions crypto/bls12381_utils_test.go
Expand Up @@ -59,40 +59,34 @@ func TestG1(t *testing.T) {

}

// G1 bench
func BenchmarkG1(b *testing.B) {
// G1 and G2 scalar multiplication
func BenchmarkScalarMult(b *testing.B) {
blsInstance.reInit()
seed := make([]byte, securityBits/8)
rand.Read(seed)
seedRelic(seed)
var expo scalar
randZr(&expo)
var res pointG1

b.ResetTimer()
for i := 0; i < b.N; i++ {
genScalarMultG1(&res, &expo)
}
b.StopTimer()
return
}

// G2 bench
func BenchmarkG2(b *testing.B) {
blsInstance.reInit()
seed := make([]byte, securityBits/8)
rand.Read(seed)
seedRelic(seed)
var expo scalar
randZr(&expo)
var res pointG2

b.ResetTimer()
for i := 0; i < b.N; i++ {
genScalarMultG2(&res, &expo)
}
b.StopTimer()
return
// G1 bench
b.Run("G1", func(b *testing.B) {
var res pointG1
b.ResetTimer()
for i := 0; i < b.N; i++ {
genScalarMultG1(&res, &expo)
}
b.StopTimer()
})

// G2 bench
b.Run("G2", func(b *testing.B) {
var res pointG2
b.ResetTimer()
for i := 0; i < b.N; i++ {
genScalarMultG2(&res, &expo)
}
b.StopTimer()
})
}

// Hashing to G1 bench
Expand Down Expand Up @@ -146,19 +140,23 @@ func TestSubgroupCheckG1(t *testing.T) {
rand.Read(seed)
seedRelic(seed)

simple := 0
bowe := 1
// tests for simple membership check
check := checkG1Test(1, simple) // point in G1
assert.True(t, check)
check = checkG1Test(0, simple) // point in E1\G1
assert.False(t, check)
t.Run("simple check", func(t *testing.T) {
simple := 0
check := checkG1Test(1, simple) // point in G1
assert.True(t, check)
check = checkG1Test(0, simple) // point in E1\G1
assert.False(t, check)
})

// tests for Bowe membership check
check = checkG1Test(1, bowe) // point in G1
assert.True(t, check)
check = checkG1Test(0, bowe) // point in E1\G1
assert.False(t, check)
t.Run("bowe check", func(t *testing.T) {
bowe := 1
check := checkG1Test(1, bowe) // point in G1
assert.True(t, check)
check = checkG1Test(0, bowe) // point in E1\G1
assert.False(t, check)
})
}

// G1 membership check bench
Expand Down

0 comments on commit 5b42992

Please sign in to comment.