testsuite

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateSeed added in v0.15.0

func GenerateSeed() int64

Types

type OverrideStringer added in v0.17.0

type OverrideStringer struct {
	// contains filtered or unexported fields
}

func NewOverrideStringer added in v0.17.0

func NewOverrideStringer(name string, obj fmt.Stringer) *OverrideStringer

func (*OverrideStringer) String added in v0.17.0

func (o *OverrideStringer) String() string

type TestSuite

type TestSuite struct {
	Seed int64
	Rand *rand.Rand
}

TestSuite provides a set of helper functions for testing purposes. All the random values are generated based on a logged seed. By using a pre-generated seed, it is possible to reproduce failed tests by re-evaluating all the random values. This helps in identifying and debugging failures in testing conditions.

func NewTestSuite

func NewTestSuite(t *testing.T) *TestSuite

NewTestSuite creates a new TestSuite by generating new seed.

func NewTestSuiteForSeed

func NewTestSuiteForSeed(seed int64) *TestSuite

NewTestSuiteForSeed creates a new TestSuite with the given seed.

func (*TestSuite) DecodingHex

func (ts *TestSuite) DecodingHex(in string) []byte

DecodingHex decodes the input string from hexadecimal format and returns the resulting byte slice.

func (*TestSuite) GenerateTestAccount

func (ts *TestSuite) GenerateTestAccount(number int32) (*account.Account, crypto.Address)

GenerateTestAccount generates an account for testing purposes.

func (*TestSuite) GenerateTestBlock

func (ts *TestSuite) GenerateTestBlock(height uint32) (*block.Block, *certificate.Certificate)

GenerateTestBlock generates a block for testing purposes.

func (*TestSuite) GenerateTestBlockWithProposer added in v0.15.0

func (ts *TestSuite) GenerateTestBlockWithProposer(height uint32, proposer crypto.Address,
) (*block.Block, *certificate.Certificate)

GenerateTestBlockWithProposer generates a block with the give proposer address for testing purposes.

func (*TestSuite) GenerateTestBlockWithTime added in v0.15.0

func (ts *TestSuite) GenerateTestBlockWithTime(height uint32, tme time.Time,
) (*block.Block, *certificate.Certificate)

GenerateTestBlockWithTime generates a block with the given time for testing purposes.

func (*TestSuite) GenerateTestBondTx

func (ts *TestSuite) GenerateTestBondTx() (*tx.Tx, *bls.PrivateKey)

GenerateTestBondTx generates a bond transaction for testing purposes.

func (*TestSuite) GenerateTestCertificate

func (ts *TestSuite) GenerateTestCertificate(height uint32) *certificate.Certificate

GenerateTestCertificate generates a certificate for testing purposes.

func (*TestSuite) GenerateTestCommittee

func (ts *TestSuite) GenerateTestCommittee(num int) (committee.Committee, []*bls.ValidatorKey)

GenerateTestCommittee generates a committee for testing purposes. All committee members have the same power.

func (*TestSuite) GenerateTestPrecommitVote

func (ts *TestSuite) GenerateTestPrecommitVote(height uint32, round int16) (*vote.Vote, *bls.ValidatorKey)

GenerateTestPrecommitVote generates a precommit vote for testing purposes.

func (*TestSuite) GenerateTestPrepareVote

func (ts *TestSuite) GenerateTestPrepareVote(height uint32, round int16) (*vote.Vote, *bls.ValidatorKey)

GenerateTestPrepareVote generates a prepare vote for testing purposes.

func (*TestSuite) GenerateTestProposal

func (ts *TestSuite) GenerateTestProposal(height uint32, round int16) (*proposal.Proposal, *bls.ValidatorKey)

GenerateTestProposal generates a proposal for testing purposes.

func (*TestSuite) GenerateTestSortitionTx

func (ts *TestSuite) GenerateTestSortitionTx() (*tx.Tx, *bls.PrivateKey)

GenerateTestSortitionTx generates a sortition transaction for testing purposes.

func (*TestSuite) GenerateTestTransferTx

func (ts *TestSuite) GenerateTestTransferTx() (*tx.Tx, *bls.PrivateKey)

GenerateTestTransferTx generates a transfer transaction for testing purposes.

func (*TestSuite) GenerateTestUnbondTx

func (ts *TestSuite) GenerateTestUnbondTx() (*tx.Tx, *bls.PrivateKey)

GenerateTestUnbondTx generates an unbond transaction for testing purposes.

func (*TestSuite) GenerateTestValidator

func (ts *TestSuite) GenerateTestValidator(number int32) (*validator.Validator, *bls.ValidatorKey)

GenerateTestValidator generates a validator for testing purposes.

func (*TestSuite) GenerateTestWithdrawTx

func (ts *TestSuite) GenerateTestWithdrawTx() (*tx.Tx, *bls.PrivateKey)

GenerateTestWithdrawTx generates a withdraw transaction for testing purposes.

func (*TestSuite) HelperSignProposal added in v0.15.0

func (ts *TestSuite) HelperSignProposal(valKey *bls.ValidatorKey, p *proposal.Proposal)

func (*TestSuite) HelperSignTransaction added in v0.15.0

func (ts *TestSuite) HelperSignTransaction(prv crypto.PrivateKey, trx *tx.Tx)

func (*TestSuite) HelperSignVote added in v0.15.0

func (ts *TestSuite) HelperSignVote(valKey *bls.ValidatorKey, v *vote.Vote)

func (*TestSuite) RandAccAddress added in v0.15.0

func (ts *TestSuite) RandAccAddress() crypto.Address

RandAccAddress generates a random account address for testing purposes.

func (*TestSuite) RandAmount added in v0.19.0

func (ts *TestSuite) RandAmount() amount.Amount

RandAmount returns a random amount between [0, 100^e9).

func (*TestSuite) RandBLSKeyPair added in v0.15.0

func (ts *TestSuite) RandBLSKeyPair() (*bls.PublicKey, *bls.PrivateKey)

RandBLSKeyPair generates a random BLS key pair for testing purposes.

func (*TestSuite) RandBLSSignature added in v0.15.0

func (ts *TestSuite) RandBLSSignature() *bls.Signature

RandBLSSignature generates a random BLS signature for testing purposes.

func (*TestSuite) RandBool added in v0.15.0

func (ts *TestSuite) RandBool() bool

RandBool returns a random boolean value.

func (*TestSuite) RandBytes added in v0.15.0

func (ts *TestSuite) RandBytes(length int) []byte

RandBytes returns a slice of random bytes of the given length.

func (*TestSuite) RandHash added in v0.15.0

func (ts *TestSuite) RandHash() hash.Hash

RandHash generates a random hash for testing purposes.

func (*TestSuite) RandHeight added in v0.15.0

func (ts *TestSuite) RandHeight() uint32

RandHeight returns a random number between [1000, 1000000] for block height.

func (*TestSuite) RandInt

func (ts *TestSuite) RandInt(max int) int

RandInt returns a random int between 0 and max: [0, max).

func (*TestSuite) RandInt16

func (ts *TestSuite) RandInt16(max int16) int16

RandInt16 returns a random int16 between 0 and max: [0, max).

func (*TestSuite) RandInt16NonZero

func (ts *TestSuite) RandInt16NonZero(max int16) int16

RandInt16NonZero returns a random int16 between 1 and max+1: [1, max+1).

func (*TestSuite) RandInt32

func (ts *TestSuite) RandInt32(max int32) int32

RandInt32 returns a random int32 between 0 and max: [0, max).

func (*TestSuite) RandInt32NonZero

func (ts *TestSuite) RandInt32NonZero(max int32) int32

RandInt32NonZero returns a random int32 between 1 and max+1: [1, max+1).

func (*TestSuite) RandInt64

func (ts *TestSuite) RandInt64(max int64) int64

RandInt64 returns a random int64 between 0 and max: [0, max).

func (*TestSuite) RandInt64NonZero

func (ts *TestSuite) RandInt64NonZero(max int64) int64

RandInt64NonZero returns a random int64 between 1 and max+1: [1, max+1).

func (*TestSuite) RandIntNonZero

func (ts *TestSuite) RandIntNonZero(max int) int

RandIntNonZero returns a random int between 1 and max+1: [1, max+1).

func (*TestSuite) RandPeerID added in v0.15.0

func (ts *TestSuite) RandPeerID() peer.ID

RandPeerID returns a random peer ID.

func (*TestSuite) RandProof added in v0.15.0

func (ts *TestSuite) RandProof() sortition.Proof

RandProof generates a random Proof for testing purposes.

func (*TestSuite) RandRound added in v0.15.0

func (ts *TestSuite) RandRound() int16

RandRound returns a random number between [0, 10) for block round.

func (*TestSuite) RandSeed added in v0.15.0

func (ts *TestSuite) RandSeed() sortition.VerifiableSeed

RandSeed generates a random VerifiableSeed for testing purposes.

func (*TestSuite) RandString added in v0.15.0

func (ts *TestSuite) RandString(length int) string

RandString generates a random string of the given length.

func (*TestSuite) RandUint16

func (ts *TestSuite) RandUint16(max uint16) uint16

RandUint16 returns a random uint16 between 0 and max: [0, max).

func (*TestSuite) RandUint16NonZero

func (ts *TestSuite) RandUint16NonZero(max uint16) uint16

RandUint16NonZero returns a random uint16 between 1 and max+1: [1, max+1).

func (*TestSuite) RandUint32

func (ts *TestSuite) RandUint32(max uint32) uint32

RandUint32 returns a random uint32 between 0 and max: [0, max).

func (*TestSuite) RandUint32NonZero

func (ts *TestSuite) RandUint32NonZero(max uint32) uint32

RandUint32NonZero returns a random uint32 between 1 and max+1: [1, max+1).

func (*TestSuite) RandUint64

func (ts *TestSuite) RandUint64(max uint64) uint64

RandUint64 returns a random uint64 between 0 and max: [0, max).

func (*TestSuite) RandUint64NonZero

func (ts *TestSuite) RandUint64NonZero(max uint64) uint64

RandUint64NonZero returns a random uint64 between 1 and max+1: [1, max+1).

func (*TestSuite) RandValAddress added in v0.15.0

func (ts *TestSuite) RandValAddress() crypto.Address

RandValAddress generates a random validator address for testing purposes.

func (*TestSuite) RandValKey added in v0.15.0

func (ts *TestSuite) RandValKey() *bls.ValidatorKey

RandValKey generates a random validator key for testing purposes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL