From 0a406e1320c80456b20fbbe4e62682edae3bf774 Mon Sep 17 00:00:00 2001 From: "Masih H. Derkani" Date: Wed, 22 Jan 2025 10:34:42 +0000 Subject: [PATCH] Fix failing tests and use typed errors when possible --- chain/lf3/f3.go | 2 +- itests/f3_test.go | 15 ++++++++++----- itests/gateway_test.go | 5 +++-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/chain/lf3/f3.go b/chain/lf3/f3.go index 96767ba8a6f..fa3b195ada8 100644 --- a/chain/lf3/f3.go +++ b/chain/lf3/f3.go @@ -187,7 +187,7 @@ func (fff *F3) GetLatestCert(ctx context.Context) (*certs.FinalityCertificate, e func (fff *F3) GetManifest(ctx context.Context) (*manifest.Manifest, error) { m := fff.inner.Manifest() if m == nil { - return nil, xerrors.New("no known network manifest") + return nil, manifest.ErrNoManifest } if m.InitialPowerTable.Defined() { return m, nil diff --git a/itests/f3_test.go b/itests/f3_test.go index eb2ba79a472..84a9bf3cb91 100644 --- a/itests/f3_test.go +++ b/itests/f3_test.go @@ -15,6 +15,7 @@ import ( "golang.org/x/sync/errgroup" "github.com/filecoin-project/go-address" + "github.com/filecoin-project/go-f3" "github.com/filecoin-project/go-f3/certs" "github.com/filecoin-project/go-f3/gpbft" "github.com/filecoin-project/go-f3/manifest" @@ -99,10 +100,10 @@ func TestF3_InactiveModes(t *testing.T) { expectedErrors: map[string]any{ "F3GetOrRenewParticipationTicket": api.ErrF3NotReady, "F3Participate": api.ErrF3NotReady, - "F3GetCertificate": "F3 is not running", - "F3GetLatestCertificate": "F3 is not running", - "F3GetManifest": "no known network manifest", - "F3GetF3PowerTable": "no known network manifest", + "F3GetCertificate": f3.ErrF3NotRunning.Error(), + "F3GetLatestCertificate": f3.ErrF3NotRunning.Error(), + "F3GetManifest": manifest.ErrNoManifest.Error(), + "F3GetF3PowerTable": manifest.ErrNoManifest.Error(), }, expectedValues: map[string]any{ "F3GetOrRenewParticipationTicket": (api.F3ParticipationTicket)(nil), @@ -343,7 +344,7 @@ func (e *testEnv) waitTillF3Instance(i uint64, timeout time.Duration) { e.waitFor(func(n *kit.TestFullNode) bool { c, err := n.F3GetLatestCertificate(e.testCtx) if err != nil { - require.ErrorContains(e.t, err, "F3 is not running") + require.ErrorContains(e.t, err, f3.ErrF3NotRunning.Error()) return false } return c != nil && c.GPBFTInstance >= i @@ -451,7 +452,9 @@ func newTestManifest(networkName gpbft.NetworkName, bootstrapEpoch int64, blockt // Use smaller time intervals for more responsive test progress/assertion. Delta: 250 * time.Millisecond, DeltaBackOffExponent: 1.3, + QualityDeltaMultiplier: manifest.DefaultGpbftConfig.QualityDeltaMultiplier, MaxLookaheadRounds: 5, + ChainProposedLength: manifest.DefaultGpbftConfig.ChainProposedLength, RebroadcastBackoffBase: 500 * time.Millisecond, RebroadcastBackoffSpread: 0.1, RebroadcastBackoffExponent: 1.3, @@ -471,6 +474,8 @@ func newTestManifest(networkName gpbft.NetworkName, bootstrapEpoch int64, blockt MinimumPollInterval: blocktime, MaximumPollInterval: 4 * blocktime, }, + PubSub: manifest.DefaultPubSubConfig, + ChainExchange: manifest.DefaultChainExchangeConfig, } } diff --git a/itests/gateway_test.go b/itests/gateway_test.go index 94bd810d536..5d3287b3d34 100644 --- a/itests/gateway_test.go +++ b/itests/gateway_test.go @@ -18,6 +18,7 @@ import ( "golang.org/x/xerrors" "github.com/filecoin-project/go-address" + "github.com/filecoin-project/go-f3" "github.com/filecoin-project/go-jsonrpc" "github.com/filecoin-project/go-state-types/abi" init2 "github.com/filecoin-project/specs-actors/v2/actors/builtin/init" @@ -569,11 +570,11 @@ func TestGatewayF3(t *testing.T) { nodes := startNodes(ctx, t) cert, err := nodes.lite.F3GetLatestCertificate(ctx) - require.ErrorContains(t, err, "F3 is not running") + require.ErrorContains(t, err, f3.ErrF3NotRunning.Error()) require.Nil(t, cert) cert, err = nodes.lite.F3GetCertificate(ctx, 2) - require.ErrorContains(t, err, "F3 is not running") + require.ErrorContains(t, err, f3.ErrF3NotRunning.Error()) require.Nil(t, cert) })