diff --git a/api/test/mining.go b/api/test/mining.go index b97c9592a..374999df1 100644 --- a/api/test/mining.go +++ b/api/test/mining.go @@ -15,6 +15,7 @@ import ( "github.com/filecoin-project/specs-actors/actors/abi" "github.com/stretchr/testify/require" + "github.com/filecoin-project/lotus/build" "github.com/filecoin-project/lotus/node/impl" ) @@ -43,6 +44,43 @@ func (ts *testSuite) testMining(t *testing.T) { require.Equal(t, abi.ChainEpoch(1), h2.Height()) } +func (ts *testSuite) testMiningReal(t *testing.T) { + build.InsecurePoStValidation = false + defer func() { + build.InsecurePoStValidation = true + }() + + ctx := context.Background() + apis, sn := ts.makeNodes(t, 1, oneMiner) + api := apis[0] + + h1, err := api.ChainHead(ctx) + require.NoError(t, err) + require.Equal(t, abi.ChainEpoch(0), h1.Height()) + + newHeads, err := api.ChainNotify(ctx) + require.NoError(t, err) + <-newHeads + + err = sn[0].MineOne(ctx, func(bool) {}) + require.NoError(t, err) + + <-newHeads + + h2, err := api.ChainHead(ctx) + require.NoError(t, err) + require.Equal(t, abi.ChainEpoch(1), h2.Height()) + + err = sn[0].MineOne(ctx, func(bool) {}) + require.NoError(t, err) + + <-newHeads + + h2, err = api.ChainHead(ctx) + require.NoError(t, err) + require.Equal(t, abi.ChainEpoch(2), h2.Height()) +} + func TestDealMining(t *testing.T, b APIBuilder, blocktime time.Duration, carExport bool) { os.Setenv("BELLMAN_NO_GPU", "1") diff --git a/api/test/test.go b/api/test/test.go index 983624078..43dc7a25e 100644 --- a/api/test/test.go +++ b/api/test/test.go @@ -46,6 +46,7 @@ func TestApis(t *testing.T, b APIBuilder) { t.Run("id", ts.testID) t.Run("testConnectTwo", ts.testConnectTwo) t.Run("testMining", ts.testMining) + t.Run("testMiningReal", ts.testMiningReal) } var oneMiner = []StorageMiner{{Full: 0, Preseal: PresealGenesis}}