Merge branch 'raulk/itests-refactor-kit' into nonsense/split-market-miner-processes

This commit is contained in:
Anton Evangelatov 2021-06-22 17:37:50 +02:00
commit fc7feffaad
3 changed files with 17 additions and 15 deletions

View File

@ -288,6 +288,7 @@ func startNodes(
var gapi api.Gateway var gapi api.Gateway
gapi, closer, err = client.NewGatewayRPCV1(ctx, "ws://"+srv.Listener.Addr().String()+"/rpc/v1", nil) gapi, closer, err = client.NewGatewayRPCV1(ctx, "ws://"+srv.Listener.Addr().String()+"/rpc/v1", nil)
require.NoError(t, err) require.NoError(t, err)
t.Cleanup(closer)
ens.FullNode(&lite, ens.FullNode(&lite,
kit.LiteNode(), kit.LiteNode(),

View File

@ -255,8 +255,7 @@ func (n *Ensemble) Miner(miner *TestMiner, full *TestFullNode, opts ...NodeOpt)
// Start starts all enrolled nodes. // Start starts all enrolled nodes.
func (n *Ensemble) Start() *Ensemble { func (n *Ensemble) Start() *Ensemble {
ctx, cancel := context.WithCancel(context.Background()) ctx := context.Background()
n.t.Cleanup(cancel)
var gtempl *genesis.Template var gtempl *genesis.Template
if !n.bootstrapped { if !n.bootstrapped {

View File

@ -21,15 +21,14 @@ func TestTerminate(t *testing.T) {
kit.QuietMiningLogs() kit.QuietMiningLogs()
const blocktime = 2 * time.Millisecond var (
blocktime = 2 * time.Millisecond
nSectors := uint64(2) nSectors = 2
ctx = context.Background()
ctx, cancel := context.WithCancel(context.Background()) )
defer cancel()
opts := kit.ConstructorOpts(kit.LatestActorsAt(-1)) opts := kit.ConstructorOpts(kit.LatestActorsAt(-1))
client, miner, ens := kit.EnsembleMinimal(t, kit.MockProofs(), opts) client, miner, ens := kit.EnsembleMinimal(t, kit.MockProofs(), kit.PresealSectors(nSectors), opts)
ens.InterconnectAll().BeginMining(blocktime) ens.InterconnectAll().BeginMining(blocktime)
maddr, err := miner.ActorAddress(ctx) maddr, err := miner.ActorAddress(ctx)
@ -41,7 +40,7 @@ func TestTerminate(t *testing.T) {
p, err := client.StateMinerPower(ctx, maddr, types.EmptyTSK) p, err := client.StateMinerPower(ctx, maddr, types.EmptyTSK)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, p.MinerPower, p.TotalPower) require.Equal(t, p.MinerPower, p.TotalPower)
require.Equal(t, p.MinerPower.RawBytePower, types.NewInt(uint64(ssz)*nSectors)) require.Equal(t, p.MinerPower.RawBytePower, types.NewInt(uint64(ssz)*uint64(nSectors)))
t.Log("Seal a sector") t.Log("Seal a sector")
@ -54,7 +53,7 @@ func TestTerminate(t *testing.T) {
di, err := client.StateMinerProvingDeadline(ctx, maddr, types.EmptyTSK) di, err := client.StateMinerProvingDeadline(ctx, maddr, types.EmptyTSK)
require.NoError(t, err) require.NoError(t, err)
waitUntil := di.PeriodStart + di.WPoStProvingPeriod + 2 waitUntil := di.PeriodStart + di.WPoStProvingPeriod + 20 // 20 is some slack for the proof to be submitted + applied
t.Logf("End for head.Height > %d", waitUntil) t.Logf("End for head.Height > %d", waitUntil)
ts := client.WaitTillChain(ctx, kit.HeightAtLeast(waitUntil)) ts := client.WaitTillChain(ctx, kit.HeightAtLeast(waitUntil))
@ -66,7 +65,7 @@ func TestTerminate(t *testing.T) {
p, err = client.StateMinerPower(ctx, maddr, types.EmptyTSK) p, err = client.StateMinerPower(ctx, maddr, types.EmptyTSK)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, p.MinerPower, p.TotalPower) require.Equal(t, p.MinerPower, p.TotalPower)
require.Equal(t, p.MinerPower.RawBytePower, types.NewInt(uint64(ssz)*nSectors)) require.Equal(t, p.MinerPower.RawBytePower, types.NewInt(uint64(ssz)*uint64(nSectors)))
t.Log("Terminate a sector") t.Log("Terminate a sector")
@ -113,11 +112,14 @@ loop:
time.Sleep(100 * time.Millisecond) time.Sleep(100 * time.Millisecond)
} }
// need to wait for message to be mined and applied.
time.Sleep(5 * time.Second)
// check power decreased // check power decreased
p, err = client.StateMinerPower(ctx, maddr, types.EmptyTSK) p, err = client.StateMinerPower(ctx, maddr, types.EmptyTSK)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, p.MinerPower, p.TotalPower) require.Equal(t, p.MinerPower, p.TotalPower)
require.Equal(t, p.MinerPower.RawBytePower, types.NewInt(uint64(ssz)*(nSectors-1))) require.Equal(t, types.NewInt(uint64(ssz)*uint64(nSectors-1)), p.MinerPower.RawBytePower)
// check in terminated set // check in terminated set
{ {
@ -138,7 +140,7 @@ loop:
di, err := client.StateMinerProvingDeadline(ctx, maddr, types.EmptyTSK) di, err := client.StateMinerProvingDeadline(ctx, maddr, types.EmptyTSK)
require.NoError(t, err) require.NoError(t, err)
waitUntil := di.PeriodStart + di.WPoStProvingPeriod + 2 waitUntil := di.PeriodStart + di.WPoStProvingPeriod + 20 // slack like above
t.Logf("End for head.Height > %d", waitUntil) t.Logf("End for head.Height > %d", waitUntil)
ts := client.WaitTillChain(ctx, kit.HeightAtLeast(waitUntil)) ts := client.WaitTillChain(ctx, kit.HeightAtLeast(waitUntil))
t.Logf("Now head.Height = %d", ts.Height()) t.Logf("Now head.Height = %d", ts.Height())
@ -147,5 +149,5 @@ loop:
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, p.MinerPower, p.TotalPower) require.Equal(t, p.MinerPower, p.TotalPower)
require.Equal(t, p.MinerPower.RawBytePower, types.NewInt(uint64(ssz)*(nSectors-1))) require.Equal(t, types.NewInt(uint64(ssz)*uint64(nSectors-1)), p.MinerPower.RawBytePower)
} }