diff --git a/testing/endtoend/evaluators/metrics.go b/testing/endtoend/evaluators/metrics.go index 5bb5b57f4e..cdfd38284d 100644 --- a/testing/endtoend/evaluators/metrics.go +++ b/testing/endtoend/evaluators/metrics.go @@ -119,8 +119,8 @@ func metricsTest(_ *types.EvaluationContext, conns ...*grpc.ClientConn) error { timeSlot := slots.CurrentSlot(genesisResp.GenesisTime.AsTime()) // Allow 1 slot tolerance due to race between calculating current slot // and fetching chain head - a slot boundary may occur between these calls. - slotDiff := int64(timeSlot) - int64(chainHead.HeadSlot) - if slotDiff < 0 || slotDiff > 1 { + // Check: chainHead.HeadSlot <= timeSlot <= chainHead.HeadSlot + 1 + if uint64(chainHead.HeadSlot) > uint64(timeSlot) || uint64(timeSlot) > uint64(chainHead.HeadSlot)+1 { return fmt.Errorf("expected metrics slot to equal chain head slot, expected %d, received %d", timeSlot, chainHead.HeadSlot) }