Skip to content

Commit

Permalink
ensure conductor services are closed (#10347)
Browse files Browse the repository at this point in the history
  • Loading branch information
danyalprout committed May 1, 2024
1 parent b952dc0 commit 794a333
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
9 changes: 7 additions & 2 deletions op-e2e/sequencer_failover_setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ func (c *conductor) RPCEndpoint() string {
return fmt.Sprintf("http://%s:%d", localhost, c.rpcPort)
}

func setupSequencerFailoverTest(t *testing.T) (*System, map[string]*conductor) {
func setupSequencerFailoverTest(t *testing.T) (*System, map[string]*conductor, func()) {
InitParallel(t)
ctx := context.Background()

Expand Down Expand Up @@ -129,7 +129,12 @@ func setupSequencerFailoverTest(t *testing.T) (*System, map[string]*conductor) {
require.True(t, healthy(t, ctx, c2))
require.True(t, healthy(t, ctx, c3))

return sys, conductors
return sys, conductors, func() {
sys.Close()
for _, c := range conductors {
_ = c.service.Stop(ctx)
}
}
}

func setupHAInfra(t *testing.T, ctx context.Context) (*System, map[string]*conductor, error) {
Expand Down
16 changes: 10 additions & 6 deletions op-e2e/sequencer_failover_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import (
// [Category: Initial Setup]
// In this test, we test that we can successfully setup a working cluster.
func TestSequencerFailover_SetupCluster(t *testing.T) {
sys, conductors := setupSequencerFailoverTest(t)
defer sys.Close()
_, conductors, cleanup := setupSequencerFailoverTest(t)
defer cleanup()

require.Equal(t, 3, len(conductors), "Expected 3 conductors")
for _, con := range conductors {
Expand All @@ -27,8 +27,8 @@ func TestSequencerFailover_SetupCluster(t *testing.T) {
// In this test, we test all rpcs exposed by conductor.
func TestSequencerFailover_ConductorRPC(t *testing.T) {
ctx := context.Background()
sys, conductors := setupSequencerFailoverTest(t)
defer sys.Close()
sys, conductors, cleanup := setupSequencerFailoverTest(t)
defer cleanup()

// SequencerHealthy, Leader, AddServerAsVoter are used in setup already.

Expand Down Expand Up @@ -107,6 +107,10 @@ func TestSequencerFailover_ConductorRPC(t *testing.T) {
)
})
require.NoError(t, err)
defer func() {
err = nonvoter.service.Stop(ctx)
require.NoError(t, err)
}()

err = leader.client.AddServerAsNonvoter(ctx, VerifierName, nonvoter.ConsensusEndpoint())
require.NoError(t, err, "Expected leader to add non-voter")
Expand Down Expand Up @@ -144,8 +148,8 @@ func TestSequencerFailover_ConductorRPC(t *testing.T) {
// [Category: Sequencer Failover]
// Test that the sequencer can successfully failover to a new sequencer once the active sequencer goes down.
func TestSequencerFailover_ActiveSequencerDown(t *testing.T) {
sys, conductors := setupSequencerFailoverTest(t)
defer sys.Close()
sys, conductors, cleanup := setupSequencerFailoverTest(t)
defer cleanup()

ctx := context.Background()
leaderId, leader := findLeader(t, conductors)
Expand Down

0 comments on commit 794a333

Please sign in to comment.