Skip to content

Commit

Permalink
removed sendActiveLeavesUpdate and relevant tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kishansagathiya committed Jan 8, 2024
1 parent 97a2df1 commit 6f69206
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 150 deletions.
5 changes: 0 additions & 5 deletions dot/parachain/overseer/overseer.go
Original file line number Diff line number Diff line change
Expand Up @@ -247,11 +247,6 @@ func (o *Overseer) Stop() error {
return nil
}

// sendActiveLeavesUpdate sends an ActiveLeavesUpdate to the subsystem
func (o *Overseer) sendActiveLeavesUpdate(update parachaintypes.ActiveLeavesUpdateSignal, subsystem Subsystem) {
o.subsystems[subsystem] <- update
}

func waitTimeout(wg *sync.WaitGroup, timeout time.Duration) (timeouted bool) {
c := make(chan struct{})
go func() {
Expand Down
145 changes: 0 additions & 145 deletions dot/parachain/overseer/overseer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,151 +62,6 @@ func (s *TestSubsystem) String() parachaintypes.SubSystemName {

func (s *TestSubsystem) Stop() {}

func TestStart2SubsytemsActivate1(t *testing.T) {
ctrl := gomock.NewController(t)

blockState := NewMockBlockState(ctrl)
overseer := NewOverseer(blockState)

require.NotNil(t, overseer)

subSystem1 := &TestSubsystem{name: "subSystem1"}
subSystem2 := &TestSubsystem{name: "subSystem2"}

overseerToSubSystem1 := overseer.RegisterSubsystem(subSystem1)
overseerToSubSystem2 := overseer.RegisterSubsystem(subSystem2)

go func() {
<-overseerToSubSystem1
<-overseerToSubSystem2
}()

err := overseer.Start()
require.NoError(t, err)

done := make(chan struct{})
// listen for errors from overseer
go func() {
for errC := range overseer.errChan {
fmt.Printf("overseer start error: %v\n", errC)
}
close(done)
}()

time.Sleep(1000 * time.Millisecond)
activedLeaf := parachaintypes.ActivatedLeaf{
Hash: [32]byte{1},
Number: 1,
}
overseer.sendActiveLeavesUpdate(parachaintypes.ActiveLeavesUpdateSignal{Activated: &activedLeaf}, subSystem1)

// let subsystems run for a bit
time.Sleep(4000 * time.Millisecond)

err = overseer.Stop()
require.NoError(t, err)

fmt.Printf("overseer stopped\n")
<-done
}

func TestStart2SubsytemsActivate2Different(t *testing.T) {
ctrl := gomock.NewController(t)

blockState := NewMockBlockState(ctrl)
overseer := NewOverseer(blockState)
require.NotNil(t, overseer)

subSystem1 := &TestSubsystem{name: "subSystem1"}
subSystem2 := &TestSubsystem{name: "subSystem2"}

overseerToSubSystem1 := overseer.RegisterSubsystem(subSystem1)
overseerToSubSystem2 := overseer.RegisterSubsystem(subSystem2)

go func() {
<-overseerToSubSystem1
<-overseerToSubSystem2
}()

err := overseer.Start()
require.NoError(t, err)
done := make(chan struct{})
go func() {
for errC := range overseer.errChan {
fmt.Printf("overseer start error: %v\n", errC)
}
close(done)
}()

activedLeaf1 := parachaintypes.ActivatedLeaf{
Hash: [32]byte{1},
Number: 1,
}
activedLeaf2 := parachaintypes.ActivatedLeaf{
Hash: [32]byte{2},
Number: 2,
}
time.Sleep(250 * time.Millisecond)
overseer.sendActiveLeavesUpdate(parachaintypes.ActiveLeavesUpdateSignal{Activated: &activedLeaf1}, subSystem1)
time.Sleep(400 * time.Millisecond)
overseer.sendActiveLeavesUpdate(parachaintypes.ActiveLeavesUpdateSignal{Activated: &activedLeaf2}, subSystem2)
// let subsystems run for a bit
time.Sleep(3000 * time.Millisecond)

err = overseer.Stop()
require.NoError(t, err)

fmt.Printf("overseer stopped\n")
<-done
}

func TestStart2SubsytemsActivate2Same(t *testing.T) {
ctrl := gomock.NewController(t)

blockState := NewMockBlockState(ctrl)
overseer := NewOverseer(blockState)

require.NotNil(t, overseer)

subSystem1 := &TestSubsystem{name: "subSystem1"}
subSystem2 := &TestSubsystem{name: "subSystem2"}

overseerToSubSystem1 := overseer.RegisterSubsystem(subSystem1)
overseerToSubSystem2 := overseer.RegisterSubsystem(subSystem2)

go func() {
<-overseerToSubSystem1
<-overseerToSubSystem2
}()

err := overseer.Start()
require.NoError(t, err)
done := make(chan struct{})
go func() {
for errC := range overseer.errChan {
fmt.Printf("overseer start error: %v\n", errC)
}
close(done)
}()

activedLeaf := parachaintypes.ActivatedLeaf{
Hash: [32]byte{1},
Number: 1,
}
time.Sleep(300 * time.Millisecond)
overseer.sendActiveLeavesUpdate(parachaintypes.ActiveLeavesUpdateSignal{Activated: &activedLeaf}, subSystem1)
time.Sleep(400 * time.Millisecond)
overseer.sendActiveLeavesUpdate(parachaintypes.ActiveLeavesUpdateSignal{Activated: &activedLeaf}, subSystem2)
// let subsystems run for a bit
time.Sleep(2000 * time.Millisecond)

err = overseer.Stop()
require.NoError(t, err)

fmt.Printf("overseer stopped\n")
<-done
}

func TestHandleBlockEvents(t *testing.T) {
ctrl := gomock.NewController(t)

Expand Down

0 comments on commit 6f69206

Please sign in to comment.