Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 24 additions & 2 deletions devenv/tests/automation/load_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
geth "github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"github.com/onsi/gomega"
"github.com/pelletier/go-toml/v2"
"github.com/stretchr/testify/require"

Expand Down Expand Up @@ -324,14 +325,35 @@ func TestLoad(t *testing.T) {
startTimeTestEx := time.Now()
l.Info().Str("START_TIME", startTimeTestEx.String()).Msg("Test execution started")

preLoadCounters := make([]*big.Int, len(consumerContracts))
for i := range consumerContracts {
c, err := consumerContracts[i].Counter(t.Context())
require.NoError(t, err, "failed to read pre-load counter")
preLoadCounters[i] = new(big.Int).Set(c)
}

l.Info().Msg("Starting load generators")
_, err = p.Run(true)
require.NoError(t, err, "Error running load generators")

l.Info().Msg("Finished load generators")
l.Info().Str("STOP_WAIT_TIME", StopWaitTime.String()).Msg("Waiting for upkeeps to be performed")
time.Sleep(StopWaitTime)
l.Info().Msg("Finished waiting 60s for upkeeps to be performed")
// Poll until all upkeeps have been performed by checking that each
// consumer counter has increased past the pre-load baseline.
require.Eventually(t, func() bool {
for i := range consumerContracts {
counter, err := consumerContracts[i].Counter(t.Context())
if err != nil {
l.Error().Err(err).Msg("Failed to get counter")
return false
}
if counter.Cmp(preLoadCounters[i]) <= 0 {
return false
}
}
return true
}, testutils.WaitTimeout(t), time.Second*5).Should(gomega.BeTrue())
l.Info().Msg("All upkeeps confirmed performed after load")
endTimeTestEx := time.Now()
testExDuration := endTimeTestEx.Sub(startTimeTestEx)
l.Info().
Expand Down
Loading