wip fixing wdpost tests
This commit is contained in:
parent
70faa36b7f
commit
ccd0a67b01
@ -7,8 +7,6 @@ import (
|
|||||||
|
|
||||||
"github.com/filecoin-project/go-state-types/dline"
|
"github.com/filecoin-project/go-state-types/dline"
|
||||||
|
|
||||||
"golang.org/x/xerrors"
|
|
||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"github.com/filecoin-project/go-address"
|
"github.com/filecoin-project/go-address"
|
||||||
@ -17,17 +15,20 @@ import (
|
|||||||
"github.com/filecoin-project/lotus/chain/types"
|
"github.com/filecoin-project/lotus/chain/types"
|
||||||
"github.com/ipfs/go-cid"
|
"github.com/ipfs/go-cid"
|
||||||
|
|
||||||
"github.com/filecoin-project/specs-actors/actors/builtin"
|
|
||||||
"github.com/filecoin-project/specs-actors/actors/builtin/miner"
|
|
||||||
"github.com/filecoin-project/specs-actors/actors/runtime/proof"
|
|
||||||
|
|
||||||
"github.com/filecoin-project/go-state-types/abi"
|
"github.com/filecoin-project/go-state-types/abi"
|
||||||
"github.com/filecoin-project/go-state-types/crypto"
|
"github.com/filecoin-project/go-state-types/crypto"
|
||||||
|
"github.com/filecoin-project/go-state-types/network"
|
||||||
|
"github.com/filecoin-project/specs-actors/actors/builtin"
|
||||||
|
v0builtin "github.com/filecoin-project/specs-actors/actors/builtin"
|
||||||
|
v0miner "github.com/filecoin-project/specs-actors/actors/builtin/miner"
|
||||||
|
"github.com/filecoin-project/specs-actors/actors/runtime/proof"
|
||||||
tutils "github.com/filecoin-project/specs-actors/support/testing"
|
tutils "github.com/filecoin-project/specs-actors/support/testing"
|
||||||
|
|
||||||
|
"github.com/filecoin-project/lotus/chain/actors/builtin/miner"
|
||||||
)
|
)
|
||||||
|
|
||||||
type mockStorageMinerAPI struct {
|
type mockStorageMinerAPI struct {
|
||||||
partitions []*miner.Partition
|
partitions []api.Partition
|
||||||
pushedMessages chan *types.Message
|
pushedMessages chan *types.Message
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,6 +38,14 @@ func newMockStorageMinerAPI() *mockStorageMinerAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *mockStorageMinerAPI) StateMinerInfo(ctx context.Context, a address.Address, key types.TipSetKey) (miner.MinerInfo, error) {
|
||||||
|
panic("implement me")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *mockStorageMinerAPI) StateNetworkVersion(ctx context.Context, key types.TipSetKey) (network.Version, error) {
|
||||||
|
panic("implement me")
|
||||||
|
}
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) ChainGetRandomnessFromTickets(ctx context.Context, tsk types.TipSetKey, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) (abi.Randomness, error) {
|
func (m *mockStorageMinerAPI) ChainGetRandomnessFromTickets(ctx context.Context, tsk types.TipSetKey, personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) (abi.Randomness, error) {
|
||||||
return abi.Randomness("ticket rand"), nil
|
return abi.Randomness("ticket rand"), nil
|
||||||
}
|
}
|
||||||
@ -45,18 +54,18 @@ func (m *mockStorageMinerAPI) ChainGetRandomnessFromBeacon(ctx context.Context,
|
|||||||
return abi.Randomness("beacon rand"), nil
|
return abi.Randomness("beacon rand"), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) setPartitions(ps []*miner.Partition) {
|
func (m *mockStorageMinerAPI) setPartitions(ps []api.Partition) {
|
||||||
m.partitions = append(m.partitions, ps...)
|
m.partitions = append(m.partitions, ps...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) StateMinerPartitions(ctx context.Context, address address.Address, u uint64, key types.TipSetKey) ([]*miner.Partition, error) {
|
func (m *mockStorageMinerAPI) StateMinerPartitions(ctx context.Context, a address.Address, dlIdx uint64, tsk types.TipSetKey) ([]api.Partition, error) {
|
||||||
return m.partitions, nil
|
return m.partitions, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) StateMinerSectors(ctx context.Context, address address.Address, field *bitfield.BitField, b bool, key types.TipSetKey) ([]*api.ChainSectorInfo, error) {
|
func (m *mockStorageMinerAPI) StateMinerSectors(ctx context.Context, address address.Address, field *bitfield.BitField, b bool, key types.TipSetKey) ([]*miner.ChainSectorInfo, error) {
|
||||||
var sis []*api.ChainSectorInfo
|
var sis []*miner.ChainSectorInfo
|
||||||
_ = field.ForEach(func(i uint64) error {
|
_ = field.ForEach(func(i uint64) error {
|
||||||
sis = append(sis, &api.ChainSectorInfo{
|
sis = append(sis, &miner.ChainSectorInfo{
|
||||||
Info: miner.SectorOnChainInfo{
|
Info: miner.SectorOnChainInfo{
|
||||||
SectorNumber: abi.SectorNumber(i),
|
SectorNumber: abi.SectorNumber(i),
|
||||||
},
|
},
|
||||||
@ -67,10 +76,6 @@ func (m *mockStorageMinerAPI) StateMinerSectors(ctx context.Context, address add
|
|||||||
return sis, nil
|
return sis, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) StateMinerInfo(ctx context.Context, address address.Address, key types.TipSetKey) (api.MinerInfo, error) {
|
|
||||||
return api.MinerInfo{}, xerrors.Errorf("err")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) MpoolPushMessage(ctx context.Context, message *types.Message, spec *api.MessageSendSpec) (*types.SignedMessage, error) {
|
func (m *mockStorageMinerAPI) MpoolPushMessage(ctx context.Context, message *types.Message, spec *api.MessageSendSpec) (*types.SignedMessage, error) {
|
||||||
m.pushedMessages <- message
|
m.pushedMessages <- message
|
||||||
return &types.SignedMessage{
|
return &types.SignedMessage{
|
||||||
@ -127,21 +132,27 @@ func TestWDPostDoPost(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// Work out the number of partitions that can be included in a message
|
// Work out the number of partitions that can be included in a message
|
||||||
// without exceeding the message sector limit
|
// without exceeding the message sector limit
|
||||||
partitionsPerMsg := int(miner.AddressedSectorsMax / sectorsPerPartition)
|
|
||||||
|
require.NoError(t, err)
|
||||||
|
partitionsPerMsg := int(v0miner.AddressedSectorsMax / sectorsPerPartition)
|
||||||
|
|
||||||
// Enough partitions to fill expectedMsgCount-1 messages
|
// Enough partitions to fill expectedMsgCount-1 messages
|
||||||
partitionCount := (expectedMsgCount - 1) * partitionsPerMsg
|
partitionCount := (expectedMsgCount - 1) * partitionsPerMsg
|
||||||
// Add an extra partition that should be included in the last message
|
// Add an extra partition that should be included in the last message
|
||||||
partitionCount++
|
partitionCount++
|
||||||
|
|
||||||
var partitions []*miner.Partition
|
var partitions []api.Partition
|
||||||
for p := 0; p < partitionCount; p++ {
|
for p := 0; p < partitionCount; p++ {
|
||||||
sectors := bitfield.New()
|
sectors := bitfield.New()
|
||||||
for s := uint64(0); s < sectorsPerPartition; s++ {
|
for s := uint64(0); s < sectorsPerPartition; s++ {
|
||||||
sectors.Set(s)
|
sectors.Set(s)
|
||||||
}
|
}
|
||||||
partitions = append(partitions, &miner.Partition{
|
partitions = append(partitions, api.Partition{
|
||||||
Sectors: sectors,
|
AllSectors: sectors,
|
||||||
|
FaultySectors: bitfield.New(),
|
||||||
|
RecoveringSectors: bitfield.New(),
|
||||||
|
LiveSectors: sectors,
|
||||||
|
ActiveSectors: sectors,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
mockStgMinerAPI.setPartitions(partitions)
|
mockStgMinerAPI.setPartitions(partitions)
|
||||||
@ -204,7 +215,7 @@ func (m *mockStorageMinerAPI) StateCall(ctx context.Context, message *types.Mess
|
|||||||
panic("implement me")
|
panic("implement me")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) StateMinerDeadlines(ctx context.Context, maddr address.Address, tok types.TipSetKey) ([]*miner.Deadline, error) {
|
func (m *mockStorageMinerAPI) StateMinerDeadlines(ctx context.Context, maddr address.Address, tok types.TipSetKey) ([]api.Deadline, error) {
|
||||||
panic("implement me")
|
panic("implement me")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,7 +227,7 @@ func (m *mockStorageMinerAPI) StateSectorGetInfo(ctx context.Context, address ad
|
|||||||
panic("implement me")
|
panic("implement me")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) StateSectorPartition(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok types.TipSetKey) (*api.SectorLocation, error) {
|
func (m *mockStorageMinerAPI) StateSectorPartition(ctx context.Context, maddr address.Address, sectorNumber abi.SectorNumber, tok types.TipSetKey) (*miner.SectorLocation, error) {
|
||||||
panic("implement me")
|
panic("implement me")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,7 +248,9 @@ func (m *mockStorageMinerAPI) StateSearchMsg(ctx context.Context, cid cid.Cid) (
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) StateGetActor(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error) {
|
func (m *mockStorageMinerAPI) StateGetActor(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error) {
|
||||||
panic("implement me")
|
return &types.Actor{
|
||||||
|
Code: v0builtin.StorageMinerActorCodeID,
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mockStorageMinerAPI) StateGetReceipt(ctx context.Context, cid cid.Cid, key types.TipSetKey) (*types.MessageReceipt, error) {
|
func (m *mockStorageMinerAPI) StateGetReceipt(ctx context.Context, cid cid.Cid, key types.TipSetKey) (*types.MessageReceipt, error) {
|
||||||
@ -303,3 +316,5 @@ func (m *mockStorageMinerAPI) WalletBalance(ctx context.Context, address address
|
|||||||
func (m *mockStorageMinerAPI) WalletHas(ctx context.Context, address address.Address) (bool, error) {
|
func (m *mockStorageMinerAPI) WalletHas(ctx context.Context, address address.Address) (bool, error) {
|
||||||
panic("implement me")
|
panic("implement me")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ storageMinerApi = &mockStorageMinerAPI{}
|
||||||
|
Loading…
Reference in New Issue
Block a user