pokt-network / poktroll

The official Shannon upgrade implementation of the Pocket Network Protocol implemented using the Cosmos SDK
MIT License
15 stars 8 forks source link

[Test] Improve the speed of unit tests in `query_claim_test` #196

Closed Olshansk closed 1 month ago

Olshansk commented 10 months ago

Objective

Reduce the feedback loop time of the unit tests in query_claim_test.go.

Origin Document

Inside of query_claim_test.go, we wait for the next block every time a new claim is committed, which takes time, like so:

    sessionEndHeight := int64(1)
    for sessionNum := 0; sessionNum < numSessions; sessionNum++ {
        sessionEndHeight += numBlocksPerSession
        sessionId := fmt.Sprintf("session_id%d", sessionNum)
        for claimNum := 0; claimNum < numClaimsPerSession; claimNum++ {
            supplierAddr := addresses[claimNum]
            claim := createClaim(t, net, ctx, supplierAddr, sessionId, sessionEndHeight)
            claims = append(claims, *claim)
            require.NoError(t, net.WaitForNextBlock())
        }
    }

Ideally, we would send all the createClaim transitions at once and wait for the next block to commit.

diff --git a/x/supplier/client/cli/query_claim_test.go b/x/supplier/client/cli/query_claim_test.go
index 99702df..36b47d8 100644
--- a/x/supplier/client/cli/query_claim_test.go
+++ b/x/supplier/client/cli/query_claim_test.go
@@ -53,8 +53,6 @@ func createClaim(
    supplierAddr string,
    sessionId string,
    sessionEndHeight int64,
+   signerAccountNumber int,
+   signatureSequencerNumber int,
 ) *types.Claim {
    t.Helper()

@@ -65,12 +63,6 @@ func createClaim(
    args := []string{
        sessionHeaderEncoded,
        rootHashEncoded,
+
+       fmt.Sprintf("--%s=true", flags.FlagOffline),
+       fmt.Sprintf("--%s=%d", flags.FlagAccountNumber, signerAccountNumber),
+       fmt.Sprintf("--%s=%d", flags.FlagSequence, signatureSequencerNumber),

        fmt.Sprintf("--%s=%s", flags.FlagFrom, supplierAddr),
        fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
        fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync),
@@ -133,15 +125,13 @@ func networkWithClaimObjects(
    for sessionNum := 0; sessionNum < numSessions; sessionNum++ {
        sessionEndHeight += numBlocksPerSession
        sessionId := fmt.Sprintf("session_id%d", sessionNum)
+       signatureSequenceNumber := sessionNum
        for claimNum := 0; claimNum < numClaimsPerSession; claimNum++ {
            supplierAddr := addresses[claimNum]
+           signerAccountNumber := claimNum
+           claim := createClaim(t, net, ctx, supplierAddr, sessionId, sessionEndHeight, signerAccountNumber, signatureSequenceNumber)
-           claim := createClaim(t, net, ctx, supplierAddr, sessionId, sessionEndHeight)
            claims = append(claims, *claim)
-           require.NoError(t, net.WaitForNextBlock())
        }
    }
+   require.NoError(t, net.WaitForNextBlock())

    return net, claims
 }

However, the diff above results in the following error whose root case we have failed to identify: Screenshot 2023-11-16 at 1 23 55 PM

Goals

Deliverables

Non-goals / Non-deliverables

General deliverables


Creator: @Olshansk Co-Owners: ???

Olshansk commented 1 month ago

Not a priority and tracked in TODOs.