Commit graph

48 commits

Author SHA1 Message Date
yyforyongyu
7bd8ae08c0
lntest: fix completePaymentRequestsAssertStatus
This commit moves the assertion `AssertPaymentStatusFromStream` outside
of the goroutine so the test won't fail after the case is finished.
2023-01-18 10:53:58 +08:00
yyforyongyu
0b0c0f12ee
lntemp+lntest: refactor testOpenChannelUpdateFeePolicy 2023-01-18 10:53:58 +08:00
yyforyongyu
38eaa36d90
lntemp+itest: refactor testRemoteSigner 2023-01-18 10:53:57 +08:00
yyforyongyu
20e454b229
lntemp+itest: refactor testSignOutputRaw 2023-01-18 10:53:56 +08:00
yyforyongyu
57e208c176
lntemp+itest: refactor testBasicChannelCreationAndUpdates
We also temporarily comment out the `testRemoteSigner` test and will
bring it back when its sub tests are refacted.
2023-01-18 10:53:55 +08:00
yyforyongyu
6b82676ca2
lntemp+itest: refactor testOptionScidAlias 2023-01-18 10:53:55 +08:00
yyforyongyu
97a7638c50
lntemp+itest: refactor testForwardInterceptorDedupHtlc 2023-01-18 10:53:54 +08:00
yyforyongyu
baeb78e2cc
lntemp+itest: refactor testSwitchCircuitPersistence 2023-01-18 10:53:52 +08:00
yyforyongyu
23ec7b23e1
lntemp: make sure mempool is synced when funding nodes 2023-01-17 07:26:58 +08:00
yyforyongyu
3353643006
itest: fix test testListPayments 2023-01-17 07:26:58 +08:00
yyforyongyu
8a4d2741a3
lntemp+itest: refactor testStatelessInit 2023-01-17 07:26:57 +08:00
yyforyongyu
ad77a45112
lntemp+itest: refactor node restart process
This commit refactors how the node restart is done. It removes the usage
of `HasSeed` and replaces it with `SkipUnlock` for clarity.
2023-01-17 07:26:56 +08:00
yyforyongyu
368635ef95
lntemp+itest: refactor testRouteFeeCutoff 2023-01-17 07:26:56 +08:00
yyforyongyu
b2dc9d8393
lntemp+itest: refactor testQueryRoutes 2023-01-17 07:26:56 +08:00
yyforyongyu
8df5de3e43
lntest+itest: make sure mempool is cleaned in watcher tower test
This commit adds the missing check for anchor sweep in test
`revoked_uncooperative_close_retribution_altruist_watchtower`, also
change the mempool check a bit so it's easier to track.
2023-01-16 16:49:19 +08:00
yyforyongyu
89727ed1d7
lntemp+itest: refactor testResHandoff 2023-01-16 16:49:18 +08:00
yyforyongyu
68016c0b51
lntemp+itest: refactor testOpenChannelAfterReorg 2023-01-16 16:49:18 +08:00
yyforyongyu
9cb8b120ba
lntemp+itest: refactor testAnchorThirdPartySpend 2023-01-16 16:49:18 +08:00
yyforyongyu
c1b3481354
lntemp+itest: refactor testEtcdFailover 2023-01-16 16:49:16 +08:00
Matt Morehouse
b72993c9dd
lntemp: after mining, sync to latest block
Ensure active nodes are synced to the latest block mined.

There are two scenarios where they might not be synced to the correct
block even when SyncedToChain is true:
  1. The backend may have rejected a newly mined block (e.g., see
     #7241).
  2. The backend might not have fully processed the new blocks yet.

In either case SyncedToChain will (correctly) be true since the node is
indeed fully synced to the backend. This commit makes sure we detect
case 1 above, while making sure we continue to wait in case 2.
2022-12-12 09:06:51 -06:00
yyforyongyu
008ef964fc
lntemp+itest: refactor testChannelForceClosure 2022-11-17 21:06:12 +08:00
yyforyongyu
61364c0d9d
lntemp+itest: refactor testCommitmentTransactionDeadline 2022-11-17 21:06:12 +08:00
yyforyongyu
4e821a6e3d
lntemp+itest: refactor testInvoiceSubscriptions 2022-11-17 21:06:11 +08:00
yyforyongyu
b579ed72d9
lntemp+itest: refactor testSendUpdateDisableChannel 2022-11-17 20:58:06 +08:00
yyforyongyu
22f8f83412
multi: refactor testUpdateChannelPolicy 2022-11-17 20:58:05 +08:00
yyforyongyu
21097feb85
multi: refactor testFundingPersistence
This commit refactors the test `testFundingPersistence`. In addition, it
also changes the old `OpenChannelAssertPending` method and adds a new
method `OpenChannelAssertStream` for clarity.
2022-11-17 20:29:52 +08:00
yyforyongyu
ba61e9edff
itest+lntemp: refactor testMaxPendingChannels 2022-11-17 20:29:51 +08:00
yyforyongyu
d1ac08b336
itest+lntemp: refactor testListChannels 2022-11-17 20:29:50 +08:00
yyforyongyu
bbe69f1bd3
multi: refactor testSweepAllCoins 2022-11-17 20:29:50 +08:00
yyforyongyu
14f45d0722
lntemp+lntest: fix make lint 2022-10-27 01:11:35 +08:00
yyforyongyu
42eab93ba0
lntemp+lntest: use t.Cleanup to register cleanup functions 2022-10-27 01:11:34 +08:00
yyforyongyu
ab62109865
lntemp+lntest: always wait for nodes sync after mining blocks
In this commit, we introduce two mining methods, `MineBlocks` and
`MineBlocksAndAssertNumTxes`, to `HarnessTest`. These methods are
different from the miner's methods as they would 1) mine the blocks
slowly and 2) assert all active nodes have synced. The miner's methods
are kept for future tests such as mining blocks really fast and see the
behavior of `lnd`.
2022-10-27 01:11:34 +08:00
yyforyongyu
78de9dae05
itest: break testMultiHopHtlcClaims into smaller test cases
This commit breaks the large `testMultiHopHtlcClaims` into independent
test cases to take the advantage of parallel testing. The old setup will
put the stress of creating and syncing new blocks into a single core,
which causes a much longer test time and sometimes times out.
2022-10-27 01:11:34 +08:00
yyforyongyu
c3bc4d403c
itest: reduce blocks mined to save sync time 2022-10-27 01:11:33 +08:00
yyforyongyu
6b5f4f407c
itest: refactor testMultiHopLocalForceCloseOnChainHtlcTimeout 2022-10-27 01:11:32 +08:00
yyforyongyu
d51f98efc6
itest: refactor testMultiHopReceiverChainClaim 2022-10-27 01:11:32 +08:00
yyforyongyu
5a7c6cea02
lntest+lntemp: refactor testMultiHopHtlcLocalTimeout 2022-10-27 01:11:32 +08:00
yyforyongyu
e8dc15dae4
lntemp: add supporting methods for testDataLossProtection 2022-10-27 01:11:31 +08:00
yyforyongyu
2966773018
lntemp: add more assertions and supporting methods 2022-10-27 01:11:31 +08:00
yyforyongyu
8518f3bea9
lntemp: support creating node from a seed 2022-10-27 01:11:31 +08:00
yyforyongyu
f9453cbe97
lntemp: fix context inheritance
This commit changes how the context is created and inherited to better
reflex the relationship of the components. We now have the following
context structure,
```
For ephemeral nodes, the context chain is,
main HarnessTest -> sub HarnessTest -> HarnessNode -> HarnessRPC

For standby nodes, the context chain is,
main HarnessTest -> standby HarnessNode -> HarnessRPC
```
2022-10-27 01:11:31 +08:00
yyforyongyu
352be086a1
lntemp: replace pubkeyStr with NodeID
This commit replaces the keys used in the maps `activeNodes` and
`standbyNodes` from `pubkeyStr` to `NodeID` such that even the node is
not properly started, we can still clean it up during shutdown.
2022-10-27 01:11:31 +08:00
yyforyongyu
1d135c1409
lntemp: expand package to support testExternalFundingChanPoint 2022-10-27 01:11:30 +08:00
yyforyongyu
19981ac9bd
lntemp: expand package to support testBasicChannelFunding
This commit adds more supporting methods to support the test
`testBasicChannelFunding`.
2022-10-27 01:11:30 +08:00
yyforyongyu
353b744039
lntemp+itest: create interface WebFeeService
This commit adds a new interface, `WebFeeService`, so external projects
can create their own mocked fee services.
2022-10-14 15:45:25 +08:00
yyforyongyu
cc69634a2e
lntemp: add more methods to support testUpdateChanStatus 2022-10-14 15:45:24 +08:00
yyforyongyu
645257a55f
lntemp: complete HarnessNode with setup functions
This commit adds more methods in `HarnessNode` and a `SetupHarness` helper
to easily setup a new itest.
2022-10-14 15:45:24 +08:00
yyforyongyu
a3fa4ba10a
lntemp: re-introduce HarnessTest as a test manager
This commit adds a new component, `HarnessTest`, as a test manager, which
is responsible for managing the state change in the itest. It is built
on top of `HarnessNode` and will be handling assertions so that a test
can be created without unnecessary attention to node's unwanted
failures. This commit also adds a minimal set of assertions.
2022-10-14 15:45:24 +08:00