Documentation ¶
Index ¶
- Constants
- func AddEphemeralNode(tc tests.TestContext, network *tmpnet.Network, flags tmpnet.FlagsMap) *tmpnet.Node
- func CheckBootstrapIsPossible(tc tests.TestContext, network *tmpnet.Network) *tmpnet.Node
- func DescribeCChain(text string, args ...interface{}) bool
- func DescribePChain(text string, args ...interface{}) bool
- func DescribeXChain(text string, args ...interface{}) bool
- func DescribeXChainSerial(text string, args ...interface{}) bool
- func InitSharedTestEnvironment(t require.TestingT, envBytes []byte)
- func NewEthClient(tc tests.TestContext, nodeURI tmpnet.NodeURI) ethclient.Client
- func NewPChainFeeCalculatorFromContext(context *builder.Context) fee.Calculator
- func NewPrivateKey(tc tests.TestContext) *secp256k1.PrivateKey
- func NewWallet(tc tests.TestContext, keychain *secp256k1fx.Keychain, nodeURI tmpnet.NodeURI) primary.Wallet
- func SendEthTransaction(tc tests.TestContext, ethClient ethclient.Client, signedTx *types.Transaction) *types.Receipt
- func StartNetwork(tc tests.TestContext, network *tmpnet.Network, avalancheGoExecPath string, ...)
- func SuggestGasPrice(tc tests.TestContext, ethClient ethclient.Client) *big.Int
- func WaitForHealthy(t require.TestingT, node *tmpnet.Node)
- func WithSuggestedGasPrice(tc tests.TestContext, ethClient ethclient.Client) common.Option
- type FlagVars
- func (v *FlagVars) ActivateEtna() bool
- func (v *FlagVars) AvalancheGoExecPath() string
- func (v *FlagVars) NetworkDir() string
- func (v *FlagVars) NetworkShutdownDelay() time.Duration
- func (v *FlagVars) NodeCount() int
- func (v *FlagVars) PluginDir() string
- func (v *FlagVars) RestartNetwork() bool
- func (v *FlagVars) ReuseNetwork() bool
- func (v *FlagVars) StopNetwork() bool
- type GinkgoTestContext
- func (*GinkgoTestContext) By(text string, callback ...func())
- func (*GinkgoTestContext) Cleanup()
- func (tc *GinkgoTestContext) ContextWithTimeout(duration time.Duration) context.Context
- func (tc *GinkgoTestContext) DefaultContext() context.Context
- func (*GinkgoTestContext) DeferCleanup(cleanup func())
- func (*GinkgoTestContext) Errorf(format string, args ...interface{})
- func (*GinkgoTestContext) Eventually(condition func() bool, waitFor time.Duration, tick time.Duration, msg string)
- func (*GinkgoTestContext) FailNow()
- func (*GinkgoTestContext) GetWriter() io.Writer
- func (*GinkgoTestContext) Outf(format string, args ...interface{})
- func (tc *GinkgoTestContext) WithDefaultContext() common.Option
- type TestEnvironment
Constants ¶
const ( DefaultTimeout = tests.DefaultTimeout DefaultPollingInterval = tmpnet.DefaultPollingInterval // Setting this env will disable post-test bootstrap // checks. Useful for speeding up iteration during test // development. SkipBootstrapChecksEnvName = "E2E_SKIP_BOOTSTRAP_CHECKS" DefaultValidatorStartTimeDiff = tmpnet.DefaultValidatorStartTimeDiff DefaultGasLimit = uint64(21000) // Standard gas limit // An empty string prompts the use of the default path which ensures a // predictable target for github's upload-artifact action. DefaultNetworkDir = "" // Directory used to store private networks (specific to a single test) // under the shared network dir. PrivateNetworksDirName = "private_networks" )
const ( // Label for filtering a test that is not primarily a C-Chain test // but nonentheless uses the C-Chain. Intended to support // execution of all C-Chain tests by the coreth repo in an e2e job. UsesCChainLabel = "uses-c" )
Variables ¶
This section is empty.
Functions ¶
func AddEphemeralNode ¶
func AddEphemeralNode(tc tests.TestContext, network *tmpnet.Network, flags tmpnet.FlagsMap) *tmpnet.Node
Adds an ephemeral node intended to be used by a single test.
func CheckBootstrapIsPossible ¶
Verify that a new node can bootstrap into the network. If the check wasn't skipped, the node will be returned to the caller.
func DescribeCChain ¶
DescribeCChain annotates the tests for C-Chain.
func DescribePChain ¶
DescribePChain annotates the tests for P-Chain.
func DescribeXChain ¶
DescribeXChain annotates the tests for X-Chain.
func DescribeXChainSerial ¶
DescribeXChainSerial annotates serial tests for X-Chain.
func NewEthClient ¶
Create a new eth client targeting the specified node URI.
func NewPChainFeeCalculatorFromContext ¶ added in v1.11.11
func NewPChainFeeCalculatorFromContext(context *builder.Context) fee.Calculator
NewPChainFeeCalculatorFromContext returns either a static or dynamic fee calculator depending on the provided context.
func NewPrivateKey ¶ added in v1.11.11
func NewPrivateKey(tc tests.TestContext) *secp256k1.PrivateKey
NewPrivateKey returns a new private key.
func NewWallet ¶
func NewWallet(tc tests.TestContext, keychain *secp256k1fx.Keychain, nodeURI tmpnet.NodeURI) primary.Wallet
Create a new wallet for the provided keychain against the specified node URI.
func SendEthTransaction ¶
func SendEthTransaction(tc tests.TestContext, ethClient ethclient.Client, signedTx *types.Transaction) *types.Receipt
Sends an eth transaction, waits for the transaction receipt to be issued and checks that the receipt indicates success.
func StartNetwork ¶ added in v1.10.18
func StartNetwork( tc tests.TestContext, network *tmpnet.Network, avalancheGoExecPath string, pluginDir string, shutdownDelay time.Duration, reuseNetwork bool, )
Start a temporary network with the provided avalanchego binary.
func SuggestGasPrice ¶
Determines the suggested gas price for the configured client that will maximize the chances of transaction acceptance.
func WaitForHealthy ¶
Wait for the given node to report healthy.
func WithSuggestedGasPrice ¶
Helper simplifying use via an option of a gas price appropriate for testing.
Types ¶
type FlagVars ¶
type FlagVars struct {
// contains filtered or unexported fields
}
func RegisterFlags ¶
func RegisterFlags() *FlagVars
func (*FlagVars) ActivateEtna ¶ added in v1.11.11
func (*FlagVars) AvalancheGoExecPath ¶
func (*FlagVars) NetworkDir ¶ added in v1.10.17
func (*FlagVars) NetworkShutdownDelay ¶ added in v1.11.3
func (*FlagVars) RestartNetwork ¶ added in v1.11.11
func (*FlagVars) ReuseNetwork ¶ added in v1.11.5
func (*FlagVars) StopNetwork ¶ added in v1.11.5
type GinkgoTestContext ¶ added in v1.11.11
type GinkgoTestContext struct{}
func NewTestContext ¶ added in v1.11.11
func NewTestContext() *GinkgoTestContext
func (*GinkgoTestContext) By ¶ added in v1.11.11
func (*GinkgoTestContext) By(text string, callback ...func())
func (*GinkgoTestContext) Cleanup ¶ added in v1.11.11
func (*GinkgoTestContext) Cleanup()
func (*GinkgoTestContext) ContextWithTimeout ¶ added in v1.11.11
func (tc *GinkgoTestContext) ContextWithTimeout(duration time.Duration) context.Context
Helper simplifying use of a timed context by canceling the context on ginkgo teardown.
func (*GinkgoTestContext) DefaultContext ¶ added in v1.11.11
func (tc *GinkgoTestContext) DefaultContext() context.Context
Helper simplifying use of a timed context configured with the default timeout.
func (*GinkgoTestContext) DeferCleanup ¶ added in v1.11.11
func (*GinkgoTestContext) DeferCleanup(cleanup func())
func (*GinkgoTestContext) Errorf ¶ added in v1.11.11
func (*GinkgoTestContext) Errorf(format string, args ...interface{})
func (*GinkgoTestContext) Eventually ¶ added in v1.11.11
func (*GinkgoTestContext) Eventually(condition func() bool, waitFor time.Duration, tick time.Duration, msg string)
Re-implementation of testify/require.Eventually that is compatible with ginkgo. testify's version calls the condition function with a goroutine and ginkgo assertions don't work properly in goroutines.
func (*GinkgoTestContext) FailNow ¶ added in v1.11.11
func (*GinkgoTestContext) FailNow()
func (*GinkgoTestContext) GetWriter ¶ added in v1.11.11
func (*GinkgoTestContext) GetWriter() io.Writer
func (*GinkgoTestContext) Outf ¶ added in v1.11.11
func (*GinkgoTestContext) Outf(format string, args ...interface{})
Outputs to stdout.
Examples:
- Out("{{green}}{{bold}}hi there %q{{/}}", "aa")
- Out("{{magenta}}{{bold}}hi therea{{/}} {{cyan}}{{underline}}b{{/}}")
See https://github.com/onsi/ginkgo/blob/v2.0.0/formatter/formatter.go#L52-L73 for an exhaustive list of color options.
func (*GinkgoTestContext) WithDefaultContext ¶ added in v1.11.11
func (tc *GinkgoTestContext) WithDefaultContext() common.Option
Helper simplifying use via an option of a timed context configured with the default timeout.
type TestEnvironment ¶
type TestEnvironment struct { // The directory where the test network configuration is stored NetworkDir string // URIs used to access the API endpoints of nodes of the network URIs []tmpnet.NodeURI // Pre-funded key for this ginkgo process PreFundedKey *secp256k1.PrivateKey // The duration to wait before shutting down private networks. A // non-zero value may be useful to ensure all metrics can be // scraped before shutdown. PrivateNetworkShutdownDelay time.Duration // contains filtered or unexported fields }
func GetEnv ¶ added in v1.11.11
func GetEnv(tc tests.TestContext) *TestEnvironment
Retrieve the test environment configured with the provided test context.
func NewTestEnvironment ¶
func NewTestEnvironment(tc tests.TestContext, flagVars *FlagVars, desiredNetwork *tmpnet.Network) *TestEnvironment
Initialize a new test environment with a shared network (either pre-existing or newly created).
func (*TestEnvironment) GetNetwork ¶
func (te *TestEnvironment) GetNetwork() *tmpnet.Network
Retrieve the network to target for testing.
func (*TestEnvironment) GetRandomNodeURI ¶
func (te *TestEnvironment) GetRandomNodeURI() tmpnet.NodeURI
Retrieve a random URI to naively attempt to spread API load across nodes.
func (*TestEnvironment) Marshal ¶
func (te *TestEnvironment) Marshal() []byte
func (*TestEnvironment) NewKeychain ¶
func (te *TestEnvironment) NewKeychain() *secp256k1fx.Keychain
Create a new keychain with the process's pre-funded key.
func (*TestEnvironment) StartPrivateNetwork ¶ added in v1.11.3
func (te *TestEnvironment) StartPrivateNetwork(network *tmpnet.Network)
Create a new private network that is not shared with other tests.