lotus/storage/sealing/utils_test.go

64 lines
1.6 KiB
Go
Raw Normal View History

package sealing
2019-11-06 12:03:36 +00:00
import (
"testing"
2019-11-06 23:09:48 +00:00
"github.com/filecoin-project/specs-actors/actors/abi"
2019-11-06 23:09:48 +00:00
"github.com/filecoin-project/lotus/storage/sbmock"
"github.com/stretchr/testify/assert"
2019-11-06 12:03:36 +00:00
)
func testFill(t *testing.T, n abi.UnpaddedPieceSize, exp []abi.UnpaddedPieceSize) {
2019-11-06 23:09:48 +00:00
f, err := fillersFromRem(n)
assert.NoError(t, err)
assert.Equal(t, exp, f)
var sum abi.UnpaddedPieceSize
2019-11-06 23:09:48 +00:00
for _, u := range f {
sum += u
}
assert.Equal(t, n, sum)
}
func TestFillersFromRem(t *testing.T) {
for i := 8; i < 32; i++ {
// single
ub := abi.PaddedPieceSize(uint64(1) << i).Unpadded()
testFill(t, ub, []abi.UnpaddedPieceSize{ub})
2019-11-06 23:09:48 +00:00
// 2
ub = abi.PaddedPieceSize(uint64(5) << i).Unpadded()
ub1 := abi.PaddedPieceSize(uint64(1) << i).Unpadded()
ub3 := abi.PaddedPieceSize(uint64(4) << i).Unpadded()
testFill(t, ub, []abi.UnpaddedPieceSize{ub1, ub3})
2019-11-06 23:09:48 +00:00
// 4
ub = abi.PaddedPieceSize(uint64(15) << i).Unpadded()
ub2 := abi.PaddedPieceSize(uint64(2) << i).Unpadded()
ub4 := abi.PaddedPieceSize(uint64(8) << i).Unpadded()
testFill(t, ub, []abi.UnpaddedPieceSize{ub1, ub2, ub3, ub4})
2019-11-06 23:09:48 +00:00
// different 2
ub = abi.PaddedPieceSize(uint64(9) << i).Unpadded()
testFill(t, ub, []abi.UnpaddedPieceSize{ub1, ub4})
2019-11-06 23:09:48 +00:00
}
2020-01-29 20:01:20 +00:00
}
func TestFastPledge(t *testing.T) {
sz := abi.PaddedPieceSize(16 << 20)
2019-11-06 23:09:48 +00:00
s := Sealing{sb: sbmock.NewMockSectorBuilder(0, abi.SectorSize(sz))}
if _, err := s.fastPledgeCommitment(sz.Unpadded(), 5); err != nil {
2020-01-29 20:01:20 +00:00
t.Fatalf("%+v", err)
}
2020-01-31 01:18:48 +00:00
sz = abi.PaddedPieceSize(1024)
2020-01-31 01:18:48 +00:00
s = Sealing{sb: sbmock.NewMockSectorBuilder(0, abi.SectorSize(sz))}
if _, err := s.fastPledgeCommitment(sz.Unpadded(), 64); err != nil {
2020-01-31 01:18:48 +00:00
t.Fatalf("%+v", err)
}
2019-11-06 12:04:33 +00:00
}