From 61502ee2828c2bda0d5fcfa7304ed18f57467363 Mon Sep 17 00:00:00 2001 From: rauljordan Date: Wed, 1 Apr 2020 17:57:33 -0500 Subject: [PATCH 1/5] double time for flakey test --- beacon-chain/p2p/discovery_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beacon-chain/p2p/discovery_test.go b/beacon-chain/p2p/discovery_test.go index 3f3118314999..bc0f8959246a 100644 --- a/beacon-chain/p2p/discovery_test.go +++ b/beacon-chain/p2p/discovery_test.go @@ -188,7 +188,7 @@ func TestStaticPeering_PeersAreAdded(t *testing.T) { } s.Start() - time.Sleep(2 * time.Second) + time.Sleep(4 * time.Second) peers := s.host.Network().Peers() if len(peers) != 5 { t.Errorf("Not all peers added to peerstore, wanted %d but got %d", 5, len(peers)) From 696979df476505c9b0723ca3d3a0e19754475a10 Mon Sep 17 00:00:00 2001 From: rauljordan Date: Wed, 1 Apr 2020 20:09:10 -0500 Subject: [PATCH 2/5] fix test flakeyness in p2p: --- beacon-chain/p2p/fork_test.go | 40 ++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/beacon-chain/p2p/fork_test.go b/beacon-chain/p2p/fork_test.go index b4310a03d2df..0f00df9a3e9f 100644 --- a/beacon-chain/p2p/fork_test.go +++ b/beacon-chain/p2p/fork_test.go @@ -11,8 +11,11 @@ import ( "github.com/ethereum/go-ethereum/p2p/discover" "github.com/ethereum/go-ethereum/p2p/enode" + "github.com/ethereum/go-ethereum/p2p/enr" + "github.com/prysmaticlabs/go-ssz" "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" + pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" "github.com/sirupsen/logrus" @@ -193,22 +196,30 @@ func TestDiscv5_AddRetrieveForkEntryENR(t *testing.T) { c.ForkVersionSchedule = map[uint64][]byte{ 0: params.BeaconConfig().GenesisForkVersion, 1: {0, 0, 0, 1}, - 2: {0, 0, 0, 2}, - 3: {0, 0, 0, 3}, } - nextForkEpoch := uint64(2) - nextForkVersion := []byte{0, 0, 0, 2} + nextForkEpoch := uint64(1) + nextForkVersion := []byte{0, 0, 0, 1} c.NextForkEpoch = nextForkEpoch c.NextForkVersion = nextForkVersion params.OverrideBeaconConfig(c) defer params.OverrideBeaconConfig(originalConfig) - // We simulate being in epoch 1. - secondsPerEpoch := params.BeaconConfig().SlotsPerEpoch * params.BeaconConfig().SecondsPerSlot - additionalBuffer := 2 * time.Second - durationPerEpoch := (time.Duration(secondsPerEpoch) * time.Second) + additionalBuffer - genesisTime := time.Now().Add(-durationPerEpoch) - + genesisTime := time.Now() + genesisValidatorsRoot := make([]byte, 32) + digest, err := createForkDigest(genesisTime, make([]byte, 32)) + if err != nil { + t.Fatal(err) + } + enrForkID := &pb.ENRForkID{ + CurrentForkDigest: digest[:], + NextForkVersion: nextForkVersion, + NextForkEpoch: nextForkEpoch, + } + enc, err := ssz.Marshal(enrForkID) + if err != nil { + t.Fatal(err) + } + forkEntry := enr.WithEntry(eth2ENRKey, enc) // In epoch 1 of current time, the fork version should be // {0, 0, 0, 1} according to the configuration override above. temp := testutil.TempDir() @@ -226,14 +237,9 @@ func TestDiscv5_AddRetrieveForkEntryENR(t *testing.T) { t.Fatal(err) } localNode := enode.NewLocalNode(db, pkey) + localNode.Set(forkEntry) - genesisValidatorsRoot := make([]byte, 32) - localNode, err = addForkEntry(localNode, genesisTime, genesisValidatorsRoot) - if err != nil { - t.Fatal(err) - } - - want, err := helpers.ComputeForkDigest([]byte{0, 0, 0, 1}, genesisValidatorsRoot) + want, err := helpers.ComputeForkDigest([]byte{0, 0, 0, 0}, genesisValidatorsRoot) if err != nil { t.Fatal(err) } From 542ac582dd7c691ec9a1a1a8ac026aa9756e7e9c Mon Sep 17 00:00:00 2001 From: rauljordan Date: Wed, 1 Apr 2020 20:11:09 -0500 Subject: [PATCH 3/5] flakey --- beacon-chain/p2p/BUILD.bazel | 2 ++ 1 file changed, 2 insertions(+) diff --git a/beacon-chain/p2p/BUILD.bazel b/beacon-chain/p2p/BUILD.bazel index ae2ba4bc4c99..724732499d4c 100644 --- a/beacon-chain/p2p/BUILD.bazel +++ b/beacon-chain/p2p/BUILD.bazel @@ -106,6 +106,7 @@ go_test( "//beacon-chain/core/helpers:go_default_library", "//beacon-chain/db/testing:go_default_library", "//beacon-chain/p2p/testing:go_default_library", + "//proto/beacon/p2p/v1:go_default_library", "//proto/testing:go_default_library", "//shared/iputils:go_default_library", "//shared/params:go_default_library", @@ -125,6 +126,7 @@ go_test( "@com_github_multiformats_go_multiaddr//:go_default_library", "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library", "@com_github_prysmaticlabs_go_bitfield//:go_default_library", + "@com_github_prysmaticlabs_go_ssz//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", "@com_github_sirupsen_logrus//hooks/test:go_default_library", ], From 53828b86eb9296d06cd0dbac4c8eead3db451557 Mon Sep 17 00:00:00 2001 From: rauljordan Date: Wed, 1 Apr 2020 20:24:28 -0500 Subject: [PATCH 4/5] time tolerance --- beacon-chain/p2p/discovery_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beacon-chain/p2p/discovery_test.go b/beacon-chain/p2p/discovery_test.go index bc0f8959246a..d9df17825fb0 100644 --- a/beacon-chain/p2p/discovery_test.go +++ b/beacon-chain/p2p/discovery_test.go @@ -188,7 +188,7 @@ func TestStaticPeering_PeersAreAdded(t *testing.T) { } s.Start() - time.Sleep(4 * time.Second) + time.Sleep(5 * time.Second) peers := s.host.Network().Peers() if len(peers) != 5 { t.Errorf("Not all peers added to peerstore, wanted %d but got %d", 5, len(peers)) From 63249ac55b8a2843e8b9fa27f05bcbab1cf169c7 Mon Sep 17 00:00:00 2001 From: rauljordan Date: Wed, 1 Apr 2020 20:28:58 -0500 Subject: [PATCH 5/5] greater tolerance --- beacon-chain/p2p/discovery_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beacon-chain/p2p/discovery_test.go b/beacon-chain/p2p/discovery_test.go index d9df17825fb0..df05221ded0f 100644 --- a/beacon-chain/p2p/discovery_test.go +++ b/beacon-chain/p2p/discovery_test.go @@ -188,7 +188,7 @@ func TestStaticPeering_PeersAreAdded(t *testing.T) { } s.Start() - time.Sleep(5 * time.Second) + time.Sleep(10 * time.Second) peers := s.host.Network().Peers() if len(peers) != 5 { t.Errorf("Not all peers added to peerstore, wanted %d but got %d", 5, len(peers))