Fix counting of allocations in nv17 migration test
This commit is contained in:
parent
84663cc338
commit
8618f216f8
@ -6,6 +6,8 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
cbg "github.com/whyrusleeping/cbor-gen"
|
||||||
|
|
||||||
"github.com/ipfs/go-cid"
|
"github.com/ipfs/go-cid"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
@ -339,7 +341,7 @@ func checkPendingVerifiedDeals(stateTreeV8 state.StateTree, stateTreeV9 state.St
|
|||||||
return xerrors.Errorf("number of allocation IDsf: %d did not match the number of pending verified deals: %d", numAllocationIds, numPendingVerifiedDeals)
|
return xerrors.Errorf("number of allocation IDsf: %d did not match the number of pending verified deals: %d", numAllocationIds, numPendingVerifiedDeals)
|
||||||
}
|
}
|
||||||
|
|
||||||
numAllocations, err := countAllocations(verifregActorV9)
|
numAllocations, err := countAllocations(verifregStateV9, actorStore)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -523,19 +525,36 @@ func checkMinerUnsealedCID(act *types.Actor, stateTreeV9 state.StateTree, store
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func countAllocations(verifregState verifreg.State) (int, error) {
|
func countAllocations(verifregState verifreg9.State, store adt.Store) (int, error) {
|
||||||
var count int
|
var count = 0
|
||||||
err := verifregState.ForEachClient(func(addr address.Address, dcap abi.StoragePower) error {
|
|
||||||
allocations, err := verifregState.GetAllocations(addr)
|
actorToHamtMap, err := adt9.AsMap(store, verifregState.Allocations, builtin.DefaultHamtBitwidth)
|
||||||
|
if err != nil {
|
||||||
|
return 0, xerrors.Errorf("couldn't get outer map: %x", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var innerHamtCid cbg.CborCid
|
||||||
|
err = actorToHamtMap.ForEach(&innerHamtCid, func(key string) error {
|
||||||
|
innerMap, err := adt9.AsMap(store, cid.Cid(innerHamtCid), builtin.DefaultHamtBitwidth)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return xerrors.Errorf("couldn't get outer map: %x", err)
|
||||||
}
|
}
|
||||||
count += len(allocations)
|
|
||||||
|
var allocation verifreg9.Allocation
|
||||||
|
err = innerMap.ForEach(&allocation, func(key string) error {
|
||||||
|
count++
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return xerrors.Errorf("couldn't iterate over inner map: %x", err)
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, xerrors.Errorf("couldn't iterate over outer map: %x", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return count, nil
|
return count, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user