Skip to content

Commit

Permalink
Merge pull request #6758 from filecoin-project/test/deflake-fork-refu…
Browse files Browse the repository at this point in the history
…se-call

test: handle null blocks in TestForkRefuseCall
  • Loading branch information
magik6k committed Jul 15, 2021
2 parents ab2f159 + cf81c89 commit a03c5ac
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions chain/stmgr/forks_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -297,22 +297,26 @@ func TestForkRefuseCall(t *testing.T) {
t.Fatal(err)
}

pts, err := cg.ChainStore().LoadTipSet(ts.TipSet.TipSet().Parents())
require.NoError(t, err)
parentHeight := pts.Height()
currentHeight := ts.TipSet.TipSet().Height()

// CallWithGas calls _at_ the current tipset.
ret, err := sm.CallWithGas(ctx, m, nil, ts.TipSet.TipSet())
switch ts.TipSet.TipSet().Height() {
case testForkHeight, testForkHeight + 1:
if parentHeight <= testForkHeight && currentHeight >= testForkHeight {
// If I had a fork, or I _will_ have a fork, it should fail.
require.Equal(t, ErrExpensiveFork, err)
default:
} else {
require.NoError(t, err)
require.True(t, ret.MsgRct.ExitCode.IsSuccess())
}
// Call just runs on the parent state for a tipset, so we only
// expect an error at the fork height.

// Call always applies the message to the "next block" after the tipset's parent state.
ret, err = sm.Call(ctx, m, ts.TipSet.TipSet())
switch ts.TipSet.TipSet().Height() {
case testForkHeight + 1:
if parentHeight == testForkHeight {
require.Equal(t, ErrExpensiveFork, err)
default:
} else {
require.NoError(t, err)
require.True(t, ret.MsgRct.ExitCode.IsSuccess())
}
Expand Down

0 comments on commit a03c5ac

Please sign in to comment.