fix: storagefsm: Fix error loop on bad event
This commit is contained in:
parent
97c95a4e82
commit
d9a1ecd387
2
extern/storage-sealing/fsm.go
vendored
2
extern/storage-sealing/fsm.go
vendored
@ -399,7 +399,7 @@ func (m *Sealing) plan(events []statemachine.Event, state *SectorInfo) (func(sta
|
|||||||
|
|
||||||
processed, err := p(events, state)
|
processed, err := p(events, state)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, xerrors.Errorf("running planner for state %s failed: %w", state.State, err)
|
return nil, processed, xerrors.Errorf("running planner for state %s failed: %w", state.State, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
/////
|
/////
|
||||||
|
27
extern/storage-sealing/fsm_test.go
vendored
27
extern/storage-sealing/fsm_test.go
vendored
@ -323,6 +323,33 @@ func TestBrokenState(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBadEvent(t *testing.T) {
|
||||||
|
var notif []struct{ before, after SectorInfo }
|
||||||
|
ma, _ := address.NewIDAddress(55151)
|
||||||
|
m := test{
|
||||||
|
s: &Sealing{
|
||||||
|
maddr: ma,
|
||||||
|
stats: SectorStats{
|
||||||
|
bySector: map[abi.SectorID]SectorState{},
|
||||||
|
byState: map[SectorState]int64{},
|
||||||
|
},
|
||||||
|
notifee: func(before, after SectorInfo) {
|
||||||
|
notif = append(notif, struct{ before, after SectorInfo }{before, after})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
t: t,
|
||||||
|
state: &SectorInfo{State: Proving},
|
||||||
|
}
|
||||||
|
|
||||||
|
_, processed, err := m.s.Plan([]statemachine.Event{{User: SectorPacked{}}}, m.state)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, uint64(1), processed)
|
||||||
|
require.Equal(m.t, m.state.State, Proving)
|
||||||
|
|
||||||
|
require.Len(t, m.state.Log, 2)
|
||||||
|
require.Contains(t, m.state.Log[1].Message, "received unexpected event")
|
||||||
|
}
|
||||||
|
|
||||||
func TestTicketExpired(t *testing.T) {
|
func TestTicketExpired(t *testing.T) {
|
||||||
var notif []struct{ before, after SectorInfo }
|
var notif []struct{ before, after SectorInfo }
|
||||||
ma, _ := address.NewIDAddress(55151)
|
ma, _ := address.NewIDAddress(55151)
|
||||||
|
Loading…
Reference in New Issue
Block a user