Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add loadtest sendV2 #1331

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

GeorgeTsagk
Copy link
Member

Based on #1285

This PR adds the last 2 commits.

Description

This PR adds a new refactored send test for our loadtest suite, `sendV2.

The new send test uses normal assets which may have balances greater than 1 (case for collectibles), which offers a bit more coverage for our code (coin selection, psbt signing, etc).

Compared to the original send test, we strip away any non-mandatory assertions and RPC calls, keeping them to the minimum required to make things happen.

@GeorgeTsagk GeorgeTsagk self-assigned this Jan 27, 2025
@GeorgeTsagk GeorgeTsagk requested review from guggero and ffranr January 27, 2025 20:29
@coveralls
Copy link

coveralls commented Jan 27, 2025

Pull Request Test Coverage Report for Build 13154191047

Details

  • 0 of 9 (0.0%) changed or added relevant lines in 2 files are covered.
  • 20 unchanged lines in 4 files lost coverage.
  • Overall coverage increased (+0.01%) to 40.741%

Changes Missing Coverage Covered Lines Changed/Added Lines %
itest/loadtest/config.go 0 2 0.0%
itest/loadtest/utils.go 0 7 0.0%
Files with Coverage Reduction New Missed Lines %
commitment/tap.go 1 84.09%
tapchannel/aux_leaf_signer.go 2 43.08%
asset/asset.go 2 77.18%
universe/interface.go 15 50.65%
Totals Coverage Status
Change from base Build 13127541505: 0.01%
Covered Lines: 26780
Relevant Lines: 65733

💛 - Coveralls

This commit adds a refactored version of the send test, which uses less
assertions and rpc calls. This is meant to speed things up compared to
the old test, plus offer some more coverage by utilizing normal assets
and balances greater than 1 (case for collectibles).
@GeorgeTsagk
Copy link
Member Author

Rebased on main and applied the config parameter name recommendation by @ffranr

@GeorgeTsagk GeorgeTsagk requested a review from ffranr February 5, 2025 09:29
Copy link
Member

@guggero guggero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One question/concern about repeatability of this test, other than that looks good to me.


// Let's make sure Bob is aware of all the assets that Alice may have
// minted.
itest.SyncUniverses(ctx, t, bob, alice, uniHost, cfg.TestTimeout)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we probably have to add a new parameter to this function that allows us to sync transfer proofs as well.
When I ran this test a second time after running 1 mintV2 and 1 sendV2 test, this sync never completed, because it only tried syncing issuance proofs.


// Alice is set to be the minter in mintV2, so we use Alice's universe.
var (
uniHost = fmt.Sprintf(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: if just uniHost := fmt.Sprintf(...) then can fit on one line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 👀 In review
Development

Successfully merging this pull request may close these issues.

4 participants