Documentation ¶
Overview ¶
Package e2e implements the Oasis e2e test scenarios.
Index ¶
- Variables
- func RegisterScenarios() error
- type E2E
- func (sc *E2E) Clone() E2E
- func (sc *E2E) DumpRestoreNetwork(childEnv *env.Env, fixture *oasis.NetworkFixture, doDbDump bool, ...) error
- func (sc *E2E) Fixture() (*oasis.NetworkFixture, error)
- func (sc *E2E) GetExportedGenesisFiles(skipCompute bool) ([]string, error)
- func (sc *E2E) Init(childEnv *env.Env, net *oasis.Network) error
- func (sc *E2E) Name() string
- func (sc *E2E) Parameters() *env.ParameterFlagSet
- func (sc *E2E) PreInit(childEnv *env.Env) error
- func (sc *E2E) ResetConsensusState(childEnv *env.Env) error
Constants ¶
This section is empty.
Variables ¶
var ( // ByzantineVRFBeaconHonest is the honest byzantine VRF beacon scenario. ByzantineVRFBeaconHonest scenario.Scenario = &byzantineVRFBeaconImpl{ E2E: *NewE2E("byzantine/beacon-vrf-honest"), extraArgs: []oasis.Argument{ {Name: byzantine.CfgVRFBeaconMode, Values: []string{byzantine.ModeVRFBeaconHonest.String()}}, }, identitySeed: byzantineBeaconIdentitySeed, } // ByzantineVRFBeaconEarly is the early-proof byzantine beacon scenario. ByzantineVRFBeaconEarly scenario.Scenario = &byzantineVRFBeaconImpl{ E2E: *NewE2E("byzantine/beacon-vrf-early"), extraArgs: []oasis.Argument{ {Name: byzantine.CfgVRFBeaconMode, Values: []string{byzantine.ModeVRFBeaconEarly.String()}}, }, identitySeed: byzantineBeaconIdentitySeed, } // ByzantineVRFBeaconMissing is the missing-proof byzantine beacon scenario. ByzantineVRFBeaconMissing scenario.Scenario = &byzantineVRFBeaconImpl{ E2E: *NewE2E("byzantine/beacon-vrf-missing"), extraArgs: []oasis.Argument{ {Name: byzantine.CfgVRFBeaconMode, Values: []string{byzantine.ModeVRFBeaconMissing.String()}}, }, identitySeed: byzantineBeaconIdentitySeed, } )
var ( // EarlyQuery is the early query scenario where we query a validator node before the network // has started and there are no committed blocks. EarlyQuery scenario.Scenario = &earlyQueryImpl{ E2E: *NewE2E("early-query"), } // EarlyQueryInitHeight is the same as EarlyQuery scenario but with an initial height set. EarlyQueryInitHeight scenario.Scenario = &earlyQueryImpl{ E2E: *NewE2E("early-query/init-height"), initialHeight: 42, } )
var ( // GasFeesStaking is the staking gas fees scenario. GasFeesStaking scenario.Scenario = &gasFeesImpl{ E2E: *NewE2E("gas-fees/staking"), } // GasFeesStakingDumpRestore is the staking gas fees scenario with // dump-restore. GasFeesStakingDumpRestore scenario.Scenario = &gasFeesImpl{ E2E: *NewE2E("gas-fees/staking-dump-restore"), dumpRestore: true, } )
var ( TestEntityAccount = stakingTests.AddressFromString("oasis1qq7us2p22udg2t24u6ry4m29wzql005pjsske8gt") DeterministicEntity1 = stakingTests.AddressFromString("oasis1qqncl383h8458mr9cytatygctzwsx02n4c5f8ed7") DeterministicEntity2 = stakingTests.AddressFromString("oasis1qznshq4ttrgh83d9wqvgmsuq3pfsndg3tus7lx98") DeterministicEntity3 = stakingTests.AddressFromString("oasis1qrz6kjp9lu6vc6snhlszq3p2nlx76qasaqr2auqk") DeterministicEntity4 = stakingTests.AddressFromString("oasis1qqw3ka3eeuy5qaytyhesxtj4fe5pp0xkdy954uwk") DeterministicValidator0 = stakingTests.AddressFromString("oasis1qpt202cf6t0s5ugkk34p83yf0c30gpjkny92u7dh") DeterministicValidator1 = stakingTests.AddressFromString("oasis1qryg8qf3ydzcphr328l8psz007fms9dxeuy8lgzq") DeterministicValidator2 = stakingTests.AddressFromString("oasis1qz74khszg55gfnmpxut3t3gdymn76hfchu9nhtd0") DeterministicValidator3 = stakingTests.AddressFromString("oasis1qqkspsglt3quhpkghr837trfwm048srjuv8g92jj") DeterministicCompute0 = stakingTests.AddressFromString("oasis1qp6tl30ljsrrqnw2awxxu2mtxk0qxyy2nymtsy90") DeterministicCompute1 = stakingTests.AddressFromString("oasis1qr77y0cqdzcqgz2wqkv59yz0j4vfvyryfv8vxllt") DeterministicCompute2 = stakingTests.AddressFromString("oasis1qzyw75ds6nw0af98xfmmpl3z8sgf3mdslvtzzcn6") DeterministicCompute3 = stakingTests.AddressFromString("oasis1qrp7l53vn6h2z7p242ldtkqtttz2jf9dwsgu05aa") DeterministicCompute4 = stakingTests.AddressFromString("oasis1qzpgrrd7435s2vaxr6s7xhqxusu4muq3y5qyph7u") DeterministicStorage0 = stakingTests.AddressFromString("oasis1qrhp36j49ncpaac0aufwyuvtk04nfxcj2yq7y4my") DeterministicStorage1 = stakingTests.AddressFromString("oasis1qzc2fexm30puzq2cmlm832fvpnyaxrq33cx4zukj") DeterministicStorage2 = stakingTests.AddressFromString("oasis1qq2t9c27y6kylqz4n6qmh3vn9zessh8guglsg8qc") DeterministicStorage3 = stakingTests.AddressFromString("oasis1qz359ng7waf2lp7j8c6vzd6qw4g4xtelysr0hl6x") DeterministicKeyManager0 = stakingTests.AddressFromString("oasis1qpx0k28va6n0r25qd2j4jdh9f42n5vex6s9lp780") DeterministicKeyManager1 = stakingTests.AddressFromString("oasis1qz30d8mqzrsrsu7fr0e6nxk0ze7ffdkj8ur7sqp0") )
Deterministic Test Accounts.
var ( // NodeUpgradeDummy is the node upgrade dummy scenario. NodeUpgradeDummy scenario.Scenario = newNodeUpgradeImpl(migrations.DummyUpgradeHandler, &dummyUpgradeChecker{}) // NodeUpgradeMaxAllowances is the node upgrade max allowances scenario. NodeUpgradeMaxAllowances scenario.Scenario = newNodeUpgradeImpl(migrations.ConsensusMaxAllowances16Handler, &noOpUpgradeChecker{}) // NodeUpgradeConsensus202108 is the node consensus upgrade 202108 scenario. NodeUpgradeConsensus202108 scenario.Scenario = newNodeUpgradeImpl(migrations.ConsensusParamsUpdate202108, &upgrade202108Checker{}) // NodeUpgradeEmpty is the empty node upgrade scenario. NodeUpgradeEmpty scenario.Scenario = newNodeUpgradeImpl(migrations.EmptyHandler, &noOpUpgradeChecker{}) )
var ConsensusStateSync scenario.Scenario = &consensusStateSyncImpl{ E2E: *NewE2E("consensus-state-sync"), }
ConsensusStateSync is the consensus state sync scenario.
var Debond scenario.Scenario = &debondImpl{ E2E: *NewE2E("debond"), }
Debond tests debonding records created in the genesis document.
var GenesisFile scenario.Scenario = &genesisFileImpl{ E2E: *NewE2E("genesis-file"), }
GenesisFile is the scenario for testing the correctness of marshalled genesis documents.
var IdentityCLI scenario.Scenario = &identityCLIImpl{ E2E: *NewE2E("identity-cli"), }
IdentityCLI is the identity CLI scenario.
var ( MinTransactBalance scenario.Scenario = &minTransactBalanceImpl{ E2E: *NewE2E("min-transact-balance"), } )
var MultipleSeeds scenario.Scenario = &multipleSeeds{ E2E: *NewE2E("multiple-seeds"), }
MultipleSeeds is the scenario where multiple seed nodes are used.
var NodeUpgradeCancel scenario.Scenario = newNodeUpgradeCancelImpl()
NodeUpgradeCancel is the node upgrade scenario.
var RegistryCLI scenario.Scenario = ®istryCLIImpl{ E2E: *NewE2E("registry-cli"), }
RegistryCLI is the registry CLI test scenario.
var SeedAPI scenario.Scenario = &seedAPI{ E2E: *NewE2E("seed-api"), }
SeedAPI is the scenario where seed node control and consensus APIs are tested.
var ( // StakeCLI is the staking scenario. StakeCLI scenario.Scenario = &stakeCLIImpl{ E2E: *NewE2E("stake-cli"), } )
var ValidatorEquivocation scenario.Scenario = &validatorEquivocationImpl{ E2E: *NewE2E("validator-equivocation"), }
ValidatorEquivocation is the validator equivocation scenario.
Functions ¶
func RegisterScenarios ¶
func RegisterScenarios() error
RegisterScenarios registers all end-to-end scenarios.
Types ¶
type E2E ¶
type E2E struct { Net *oasis.Network Flags *env.ParameterFlagSet Logger *logging.Logger // contains filtered or unexported fields }
E2E is a base scenario for oasis-node end-to-end tests.
E2eParamsDummy is a dummy instance of E2E used to register global e2e flags.
func (*E2E) DumpRestoreNetwork ¶
func (sc *E2E) DumpRestoreNetwork( childEnv *env.Env, fixture *oasis.NetworkFixture, doDbDump bool, genesisMapFn func(*genesis.Document), ) error
DumpRestoreNetwork first dumps the current network state and then attempts to restore it.
func (*E2E) Fixture ¶
func (sc *E2E) Fixture() (*oasis.NetworkFixture, error)
Implements scenario.Scenario.
func (*E2E) GetExportedGenesisFiles ¶ added in v0.2100.0
GetExportedGenesisFiles gathers exported genesis files and ensures all exported genesis files match.
func (*E2E) Parameters ¶
func (sc *E2E) Parameters() *env.ParameterFlagSet
Implements scenario.Scenario.