mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 04:47:18 +00:00
a9a4bb9163
* move testutil * util pkg * build * gaz Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package bls
|
|
|
|
import (
|
|
"encoding/hex"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/ghodss/yaml"
|
|
"github.com/prysmaticlabs/prysm/crypto/bls"
|
|
"github.com/prysmaticlabs/prysm/crypto/bls/common"
|
|
"github.com/prysmaticlabs/prysm/testing/bls/utils"
|
|
"github.com/prysmaticlabs/prysm/testing/require"
|
|
)
|
|
|
|
func TestDeserializationG1(t *testing.T) {
|
|
t.Run("blst", testDeserializationG1)
|
|
}
|
|
|
|
func testDeserializationG1(t *testing.T) {
|
|
fNames, fContent := utils.RetrieveFiles("deserialization_G1", t)
|
|
|
|
for i, file := range fNames {
|
|
content := fContent[i]
|
|
t.Run(file, func(t *testing.T) {
|
|
test := &DeserializationG1Test{}
|
|
require.NoError(t, yaml.Unmarshal(content, test))
|
|
rawKey, err := hex.DecodeString(test.Input.Pubkey)
|
|
require.NoError(t, err)
|
|
|
|
_, err = bls.PublicKeyFromBytes(rawKey)
|
|
// Exit early if we encounter an infinite key here.
|
|
if strings.Contains(file, "deserialization_succeeds_infinity_with_true_b_flag") &&
|
|
err == common.ErrInfinitePubKey {
|
|
t.Log("Success")
|
|
return
|
|
}
|
|
require.Equal(t, test.Output, err == nil)
|
|
t.Log("Success")
|
|
})
|
|
}
|
|
}
|