Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First take of applying assertion funcs to shared tests #6666

Merged
merged 39 commits into from
Aug 25, 2020
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
15c689c
cmd tests
terencechain Jul 19, 2020
f2b5062
deposit util tests
terencechain Jul 19, 2020
0430e45
feature config tests
terencechain Jul 19, 2020
4440404
hashutil tests
terencechain Jul 19, 2020
7d5a7ba
htr util tests
terencechain Jul 19, 2020
c6840a9
interop tests
terencechain Jul 19, 2020
aa4db40
ip util tests
terencechain Jul 19, 2020
149d2ec
Update BLS
terencechain Jul 21, 2020
1781304
Update cmd
terencechain Jul 21, 2020
2345836
Update bytesutil and depositutil
terencechain Jul 21, 2020
e826b6b
Update event
terencechain Jul 21, 2020
6338fb8
Update keystore
terencechain Jul 21, 2020
62d2753
Update mathutil
terencechain Jul 21, 2020
8402f9d
Update mputil
terencechain Jul 21, 2020
ecedde6
Update pagination
terencechain Jul 21, 2020
9ced290
Update params
terencechain Jul 21, 2020
aa1c7e9
Upate prome
terencechain Jul 21, 2020
e6af28b
Update testutil
terencechain Jul 21, 2020
811e482
Update trieutil
terencechain Jul 21, 2020
a056b24
Merge branch 'master' of github.com:prysmaticlabs/prysm into testutil…
terencechain Jul 21, 2020
1ac94bf
Sync with master
terencechain Aug 23, 2020
a456cd9
Mod
terencechain Aug 23, 2020
6028f11
Typo
terencechain Aug 23, 2020
56305b8
Revert
terencechain Aug 23, 2020
e450a70
gazelle
terencechain Aug 23, 2020
80742e6
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
8c8ff91
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
71ec541
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
1c87bcc
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
3692dee
Gaz
terencechain Aug 24, 2020
37f2a6a
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
823584c
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
4f52aa0
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
9bc2388
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
0c7d257
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
3479204
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 24, 2020
b223818
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 25, 2020
de56d6c
fixes build error
farazdagi Aug 25, 2020
fe569ff
Merge refs/heads/master into testutil-shared
prylabs-bulldozer[bot] Aug 25, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions beacon-chain/core/blocks/spectest/block_header_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ func runBlockHeaderTest(t *testing.T, config string) {
postSSZExists := true
if err != nil && strings.Contains(err.Error(), "could not locate file") {
postSSZExists = false
} else if err != nil {
t.Fatal(err)
} else {
require.NoError(t, err)
}

// Spectest blocks are not signed, so we'll call NoVerify to skip sig verification.
Expand Down
1 change: 1 addition & 0 deletions shared/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ go_test(
size = "small",
srcs = ["service_registry_test.go"],
embed = [":go_default_library"],
deps = ["//shared/testutil/require:go_default_library"],
)
24 changes: 6 additions & 18 deletions shared/bls/herumi/signature_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/bls/herumi"
"github.com/prysmaticlabs/prysm/shared/bls/iface"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
)

func TestSignVerify(t *testing.T) {
Expand Down Expand Up @@ -88,15 +89,9 @@ func TestMultipleSignatureVerification_FailsCorrectly(t *testing.T) {
secondLastSig := sigs[len(sigs)-2]
// Convert to bls object
rawSig := new(bls12.Sign)
if err := rawSig.Deserialize(secondLastSig.Marshal()); err != nil {
t.Fatal(err)
}

require.NoError(t, rawSig.Deserialize(secondLastSig.Marshal()))
rawSig2 := new(bls12.Sign)
if err := rawSig2.Deserialize(lastSig.Marshal()); err != nil {
t.Fatal(err)
}

require.NoError(t, rawSig2.Deserialize(lastSig.Marshal()))
// set random field prime value
fprime := new(bls12.Fp)
fprime.SetInt64(100)
Expand All @@ -110,10 +105,7 @@ func TestMultipleSignatureVerification_FailsCorrectly(t *testing.T) {
fp2.D = [2]bls12.Fp{*fprime, *fprime2}

g2Point := new(bls12.G2)
if err := bls12.MapToG2(g2Point, fp2); err != nil {
t.Fatal(err)
}

require.NoError(t, bls12.MapToG2(g2Point, fp2))
// We now add/subtract the respective g2 points by a fixed
// value. This would cause singluar verification to fail but
// not aggregate verification.
Expand All @@ -123,13 +115,9 @@ func TestMultipleSignatureVerification_FailsCorrectly(t *testing.T) {
bls12.G2Sub(secondG2, secondG2, g2Point)

lastSig, err := herumi.SignatureFromBytes(rawSig.Serialize())
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
secondLastSig, err = herumi.SignatureFromBytes(rawSig2.Serialize())
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
sigs[len(sigs)-1] = lastSig
sigs[len(sigs)-2] = secondLastSig

Expand Down
1 change: 1 addition & 0 deletions shared/bls/spectest/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ go_test(
"//shared/bls/iface:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/testutil:go_default_library",
"//shared/testutil/require:go_default_library",
"@com_github_ghodss_yaml//:go_default_library",
],
)
26 changes: 7 additions & 19 deletions shared/bls/spectest/aggregate_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package spectest

import (
"bytes"
"encoding/hex"
"path"
"strings"
Expand All @@ -11,6 +10,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/bls/iface"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
)

func TestAggregateYaml(t *testing.T) {
Expand All @@ -19,23 +19,15 @@ func TestAggregateYaml(t *testing.T) {
for _, folder := range testFolders {
t.Run(folder.Name(), func(t *testing.T) {
file, err := testutil.BazelFileBytes(path.Join(testFolderPath, folder.Name(), "data.yaml"))
if err != nil {
t.Fatalf("Failed to read file: %v", err)
}
require.NoError(t, err)
test := &AggregateTest{}
if err := yaml.Unmarshal(file, test); err != nil {
t.Fatalf("Failed to unmarshal: %v", err)
}
require.NoError(t, yaml.Unmarshal(file, test))
var sigs []iface.Signature
for _, s := range test.Input {
sigBytes, err := hex.DecodeString(s[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)
sig, err := bls.SignatureFromBytes(sigBytes)
if err != nil {
t.Fatalf("Unable to unmarshal signature from bytes: %v", err)
}
require.NoError(t, err)
sigs = append(sigs, sig)
}
if len(test.Input) == 0 {
Expand All @@ -52,12 +44,8 @@ func TestAggregateYaml(t *testing.T) {
return
}
outputBytes, err := hex.DecodeString(test.Output[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
if !bytes.Equal(outputBytes, sig.Marshal()) {
t.Fatal("Output does not equal marshaled aggregated sig bytes")
}
require.NoError(t, err)
require.DeepEqual(t, outputBytes, sig.Marshal())
})
}
}
30 changes: 8 additions & 22 deletions shared/bls/spectest/aggregate_verify_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/bls/iface"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
)

func TestAggregateVerifyYaml(t *testing.T) {
Expand All @@ -18,41 +19,26 @@ func TestAggregateVerifyYaml(t *testing.T) {
for i, folder := range testFolders {
t.Run(folder.Name(), func(t *testing.T) {
file, err := testutil.BazelFileBytes(path.Join(testFolderPath, folder.Name(), "data.yaml"))
if err != nil {
t.Fatalf("Failed to read file: %v", err)
}
require.NoError(t, err)
test := &AggregateVerifyTest{}
if err := yaml.Unmarshal(file, test); err != nil {
t.Fatalf("Failed to unmarshal: %v", err)
}

require.NoError(t, yaml.Unmarshal(file, test))
pubkeys := make([]iface.PublicKey, 0, len(test.Input.Pubkeys))
msgs := make([][32]byte, 0, len(test.Input.Messages))
for _, pubKey := range test.Input.Pubkeys {
pkBytes, err := hex.DecodeString(pubKey[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)
pk, err := bls.PublicKeyFromBytes(pkBytes)
if err != nil {
t.Fatalf("Cannot unmarshal input to secret key: %v", err)
}
require.NoError(t, err)
pubkeys = append(pubkeys, pk)
}
for _, msg := range test.Input.Messages {
msgBytes, err := hex.DecodeString(msg[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
if len(msgBytes) != 32 {
t.Fatalf("Message: %#x is not 32 bytes", msgBytes)
}
require.NoError(t, err)
require.Equal(t, 32, len(msgBytes))
msgs = append(msgs, bytesutil.ToBytes32(msgBytes))
}
sigBytes, err := hex.DecodeString(test.Input.Signature[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)
sig, err := bls.SignatureFromBytes(sigBytes)
if err != nil {
if test.Output == false {
Expand Down
26 changes: 7 additions & 19 deletions shared/bls/spectest/fast_aggregate_verify_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/bls/iface"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
)

func TestFastAggregateVerifyYaml(t *testing.T) {
Expand All @@ -18,36 +19,23 @@ func TestFastAggregateVerifyYaml(t *testing.T) {
for i, folder := range testFolders {
t.Run(folder.Name(), func(t *testing.T) {
file, err := testutil.BazelFileBytes(path.Join(testFolderPath, folder.Name(), "data.yaml"))
if err != nil {
t.Fatalf("Failed to read file: %v", err)
}
require.NoError(t, err)
test := &FastAggregateVerifyTest{}
if err := yaml.Unmarshal(file, test); err != nil {
t.Fatalf("Failed to unmarshal: %v", err)
}
require.NoError(t, yaml.Unmarshal(file, test))

pubkeys := make([]iface.PublicKey, len(test.Input.Pubkeys))
for j, raw := range test.Input.Pubkeys {
pkBytes, err := hex.DecodeString(raw[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)
pk, err := bls.PublicKeyFromBytes(pkBytes)
if err != nil {
t.Fatalf("Cannot unmarshal input to secret key: %v", err)
}
require.NoError(t, err)
pubkeys[j] = pk
}

msgBytes, err := hex.DecodeString(test.Input.Message[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}

require.NoError(t, err)
sigBytes, err := hex.DecodeString(test.Input.Signature[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)
sig, err := bls.SignatureFromBytes(sigBytes)
if err != nil {
if test.Output == false {
Expand Down
26 changes: 7 additions & 19 deletions shared/bls/spectest/sign_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/ghodss/yaml"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
)

func TestSignMessageYaml(t *testing.T) {
Expand All @@ -19,37 +20,24 @@ func TestSignMessageYaml(t *testing.T) {
for i, folder := range testFolders {
t.Run(folder.Name(), func(t *testing.T) {
file, err := testutil.BazelFileBytes(path.Join(testFolderPath, folder.Name(), "data.yaml"))
if err != nil {
t.Fatalf("Failed to read file: %v", err)
}
require.NoError(t, err)
test := &SignMsgTest{}
if err := yaml.Unmarshal(file, test); err != nil {
t.Fatalf("Failed to unmarshal: %v", err)
}

require.NoError(t, yaml.Unmarshal(file, test))
pkBytes, err := hex.DecodeString(test.Input.Privkey[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)
sk, err := bls.SecretKeyFromBytes(pkBytes)
if err != nil {
t.Fatalf("Cannot unmarshal input to secret key: %v", err)
}
require.NoError(t, err)

msgBytes, err := hex.DecodeString(test.Input.Message[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)
sig := sk.Sign(msgBytes)

if !sig.Verify(sk.PublicKey(), msgBytes) {
t.Fatal("could not verify signature")
}

outputBytes, err := hex.DecodeString(test.Output[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)

if !bytes.Equal(outputBytes, sig.Marshal()) {
t.Fatalf("Test Case %d: Signature does not match the expected output. "+
Expand Down
25 changes: 7 additions & 18 deletions shared/bls/spectest/verify_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"github.com/ghodss/yaml"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
)

func TestVerifyMessageYaml(t *testing.T) {
Expand All @@ -16,32 +17,20 @@ func TestVerifyMessageYaml(t *testing.T) {
for i, folder := range testFolders {
t.Run(folder.Name(), func(t *testing.T) {
file, err := testutil.BazelFileBytes(path.Join(testFolderPath, folder.Name(), "data.yaml"))
if err != nil {
t.Fatalf("Failed to read file: %v", err)
}
require.NoError(t, err)
test := &VerifyMsgTest{}
if err := yaml.Unmarshal(file, test); err != nil {
t.Fatalf("Failed to unmarshal: %v", err)
}
require.NoError(t, yaml.Unmarshal(file, test))

pkBytes, err := hex.DecodeString(test.Input.Pubkey[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)
pk, err := bls.PublicKeyFromBytes(pkBytes)
if err != nil {
t.Fatalf("Cannot unmarshal input to secret key: %v", err)
}
require.NoError(t, err)

msgBytes, err := hex.DecodeString(test.Input.Message[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)

sigBytes, err := hex.DecodeString(test.Input.Signature[2:])
if err != nil {
t.Fatalf("Cannot decode string to bytes: %v", err)
}
require.NoError(t, err)
sig, err := bls.SignatureFromBytes(sigBytes)
if err != nil {
if test.Output == false {
Expand Down
4 changes: 1 addition & 3 deletions shared/bytesutil/bytes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -311,9 +311,7 @@ func TestHighestBitIndex(t *testing.T) {
for _, tt := range tests {
i, err := bytesutil.HighestBitIndex(tt.a)
if !tt.error {
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
require.NoError(t, err)
assert.DeepEqual(t, tt.b, i)
} else {
Expand Down