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  }