ffiwrapper: Test some assumptions about GeneratePoStFallbackSectorChallenges
This commit is contained in:
parent
32818c528f
commit
7a1beacd00
41
extern/sector-storage/ffiwrapper/sealer_test.go
vendored
41
extern/sector-storage/ffiwrapper/sealer_test.go
vendored
@ -944,3 +944,44 @@ func TestMulticoreSDR(t *testing.T) {
|
|||||||
|
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestPoStChallengeAssumptions(t *testing.T) {
|
||||||
|
var r [32]byte
|
||||||
|
rand.Read(r[:])
|
||||||
|
|
||||||
|
// behaves like a pure function
|
||||||
|
{
|
||||||
|
c1, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{1, 2, 3, 4})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
c2, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{1, 2, 3, 4})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
require.Equal(t, c1, c2)
|
||||||
|
}
|
||||||
|
|
||||||
|
// doesn't sort, challenges position dependant
|
||||||
|
{
|
||||||
|
c1, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{1, 2, 3, 4})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
c2, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{4, 2, 3, 1})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
require.NotEqual(t, c1, c2)
|
||||||
|
|
||||||
|
require.Equal(t, c1.Challenges[2], c2.Challenges[2])
|
||||||
|
require.Equal(t, c1.Challenges[3], c2.Challenges[3])
|
||||||
|
|
||||||
|
require.NotEqual(t, c1.Challenges[1], c2.Challenges[1])
|
||||||
|
require.NotEqual(t, c1.Challenges[4], c2.Challenges[4])
|
||||||
|
}
|
||||||
|
|
||||||
|
// generate dedupes
|
||||||
|
{
|
||||||
|
c1, err := ffi.GeneratePoStFallbackSectorChallenges(abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, 1000, r[:], []abi.SectorNumber{1, 2, 1, 4})
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Len(t, c1.Sectors, 3)
|
||||||
|
require.Len(t, c1.Challenges, 3)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
5
extern/sector-storage/manager_post.go
vendored
5
extern/sector-storage/manager_post.go
vendored
@ -122,9 +122,8 @@ func (m *Manager) generateWindowPoSt(ctx context.Context, minerID abi.ActorID, s
|
|||||||
|
|
||||||
// We're supplied the list of sectors that the miner actor expects - this
|
// We're supplied the list of sectors that the miner actor expects - this
|
||||||
// list contains substitutes for skipped sectors - but we don't care about
|
// list contains substitutes for skipped sectors - but we don't care about
|
||||||
// those for the purpose of the proof because post proof challenges are based
|
// those for the purpose of the proof, so for things to work, we need to
|
||||||
// on sector numbers, not position in the proof - so for things to work, we
|
// dedupe here.
|
||||||
// need to dedupe here.
|
|
||||||
sectorInfo = dedupeSectorInfo(sectorInfo)
|
sectorInfo = dedupeSectorInfo(sectorInfo)
|
||||||
|
|
||||||
// The partitions number of this batch
|
// The partitions number of this batch
|
||||||
|
Loading…
Reference in New Issue
Block a user