diff --git a/tests/e2e/banff/suites.go b/tests/e2e/banff/suites.go index f89203cd510e..cb68ca877c28 100644 --- a/tests/e2e/banff/suites.go +++ b/tests/e2e/banff/suites.go @@ -127,5 +127,7 @@ var _ = ginkgo.Describe("[Banff]", func() { tc.Outf("{{green}}issued X-chain import{{/}}: %s\n", tx.ID()) }) + + _ = e2e.CheckBootstrapIsPossible(tc, env.GetNetwork()) }) }) diff --git a/tests/e2e/p/elastic_subnets.go b/tests/e2e/p/elastic_subnets.go index 6fdd8966c302..ed5a228cdd2a 100644 --- a/tests/e2e/p/elastic_subnets.go +++ b/tests/e2e/p/elastic_subnets.go @@ -190,5 +190,7 @@ var _ = e2e.DescribePChain("[Elastic Subnets]", func() { ) require.NoError(err) }) + + _ = e2e.CheckBootstrapIsPossible(tc, env.GetNetwork()) }) }) diff --git a/tests/e2e/p/owner_retrieval.go b/tests/e2e/p/owner_retrieval.go index a92c256a2c93..dc3e9e0a42ff 100644 --- a/tests/e2e/p/owner_retrieval.go +++ b/tests/e2e/p/owner_retrieval.go @@ -91,5 +91,7 @@ var _ = e2e.DescribePChain("[P-Chain Wallet]", func() { require.Equal(newOwner.Threshold, subnetOwner.Threshold) require.Equal(newOwner.Addrs, subnetOwner.Addrs) }) + + _ = e2e.CheckBootstrapIsPossible(tc, env.GetNetwork()) }) }) diff --git a/tests/e2e/p/permissionless_layer_one.go b/tests/e2e/p/permissionless_layer_one.go index 844b3a257341..edd1dbf7f9e4 100644 --- a/tests/e2e/p/permissionless_layer_one.go +++ b/tests/e2e/p/permissionless_layer_one.go @@ -96,5 +96,7 @@ var _ = e2e.DescribePChain("[Permissionless L1]", func() { ManagerChainID: chainID, ManagerAddress: address, }, res) + + _ = e2e.CheckBootstrapIsPossible(tc, env.GetNetwork()) }) }) diff --git a/tests/e2e/p/workflow.go b/tests/e2e/p/workflow.go index c3d654393ffb..ae21bae227dc 100644 --- a/tests/e2e/p/workflow.go +++ b/tests/e2e/p/workflow.go @@ -200,5 +200,7 @@ var _ = e2e.DescribePChain("[Workflow]", func() { require.Equal(initialAVAXBalance+toTransfer-xContext.BaseTxFee, finalAVAXBalance) }) + + _ = e2e.CheckBootstrapIsPossible(tc, env.GetNetwork()) }) }) diff --git a/tests/e2e/x/transfer/virtuous.go b/tests/e2e/x/transfer/virtuous.go index 20b7896a14be..337e2aeed2f5 100644 --- a/tests/e2e/x/transfer/virtuous.go +++ b/tests/e2e/x/transfer/virtuous.go @@ -305,5 +305,7 @@ RECEIVER NEW BALANCE (AFTER) : %21d AVAX runFunc(i) time.Sleep(time.Second) } + + _ = e2e.CheckBootstrapIsPossible(tc, env.GetNetwork()) }) }) diff --git a/tests/fixture/e2e/helpers.go b/tests/fixture/e2e/helpers.go index 9a088acbbddd..dcf68cb94657 100644 --- a/tests/fixture/e2e/helpers.go +++ b/tests/fixture/e2e/helpers.go @@ -221,6 +221,17 @@ func CheckBootstrapIsPossible(tc tests.TestContext, network *tmpnet.Network) *tm // Check that the node becomes healthy within timeout require.NoError(tmpnet.WaitForHealthy(tc.DefaultContext(), node)) + + // Ensure that the primary validators are still healthy + for _, node := range network.Nodes { + if node.IsEphemeral { + continue + } + healthy, err := node.IsHealthy(tc.DefaultContext()) + require.NoError(err) + require.True(healthy, "primary validator %s is not healthy", node.NodeID) + } + return node }