test ticket expired

This commit is contained in:
yaohcn 2021-05-21 11:45:57 +08:00
parent e21d4d7a7e
commit 00a1e2c05b

View File

@ -210,3 +210,43 @@ func TestBrokenState(t *testing.T) {
}
}
}
func TestTicketExpired(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]statSectorState{},
},
notifee: func(before, after SectorInfo) {
notif = append(notif, struct{ before, after SectorInfo }{before, after})
},
},
t: t,
state: &SectorInfo{State: Packing},
}
m.planSingle(SectorPacked{})
require.Equal(m.t, m.state.State, GetTicket)
m.planSingle(SectorTicket{})
require.Equal(m.t, m.state.State, PreCommit1)
expired := checkTicketExpired(0, MaxTicketAge+1)
require.True(t, expired)
m.planSingle(SectorOldTicket{})
require.Equal(m.t, m.state.State, GetTicket)
expected := []SectorState{Packing, GetTicket, PreCommit1, GetTicket}
for i, n := range notif {
if n.before.State != expected[i] {
t.Fatalf("expected before state: %s, got: %s", expected[i], n.before.State)
}
if n.after.State != expected[i+1] {
t.Fatalf("expected after state: %s, got: %s", expected[i+1], n.after.State)
}
}
}