github.com/prysmaticlabs/prysm@v1.4.4/endtoend/minimal_e2e_test.go (about) 1 package endtoend 2 3 import ( 4 "fmt" 5 "os" 6 "strconv" 7 "testing" 8 9 ev "github.com/prysmaticlabs/prysm/endtoend/evaluators" 10 e2eParams "github.com/prysmaticlabs/prysm/endtoend/params" 11 "github.com/prysmaticlabs/prysm/endtoend/types" 12 "github.com/prysmaticlabs/prysm/shared/params" 13 "github.com/prysmaticlabs/prysm/shared/testutil/require" 14 ) 15 16 func TestEndToEnd_MinimalConfig(t *testing.T) { 17 e2eMinimal(t, false /*usePrysmSh*/) 18 } 19 20 // Run minimal e2e config with the current release validator against latest beacon node. 21 func TestEndToEnd_MinimalConfig_ValidatorAtCurrentRelease(t *testing.T) { 22 e2eMinimal(t, true /*usePrysmSh*/) 23 } 24 25 func e2eMinimal(t *testing.T, usePrysmSh bool) { 26 params.UseE2EConfig() 27 require.NoError(t, e2eParams.Init(e2eParams.StandardBeaconCount)) 28 29 // Run for 10 epochs if not in long-running to confirm long-running has no issues. 30 epochsToRun := 10 31 var err error 32 epochStr, longRunning := os.LookupEnv("E2E_EPOCHS") 33 if longRunning { 34 epochsToRun, err = strconv.Atoi(epochStr) 35 require.NoError(t, err) 36 } 37 38 testConfig := &types.E2EConfig{ 39 BeaconFlags: []string{ 40 fmt.Sprintf("--slots-per-archive-point=%d", params.BeaconConfig().SlotsPerEpoch*16), 41 }, 42 ValidatorFlags: []string{}, 43 EpochsToRun: uint64(epochsToRun), 44 TestSync: true, 45 TestDeposits: true, 46 TestSlasher: true, 47 UsePrysmShValidator: usePrysmSh, 48 UsePprof: !longRunning, 49 Evaluators: []types.Evaluator{ 50 ev.PeersConnect, 51 ev.HealthzCheck, 52 ev.MetricsCheck, 53 ev.ValidatorsAreActive, 54 ev.ValidatorsParticipating, 55 ev.FinalizationOccurs, 56 ev.ProcessesDepositsInBlocks, 57 ev.VerifyBlockGraffiti, 58 ev.ActivatesDepositedValidators, 59 ev.DepositedValidatorsAreActive, 60 ev.ProposeVoluntaryExit, 61 ev.ValidatorHasExited, 62 ev.ValidatorsVoteWithTheMajority, 63 ev.ColdStateCheckpoint, 64 ev.ApiVerifyValidators, 65 }, 66 } 67 68 newTestRunner(t, testConfig).run() 69 }