Commit graph

64 commits

Author SHA1 Message Date
ErikEk
cc08271c5f itest: add neutrinoclient to harnessnode 2023-01-12 13:24:44 +07:00
Olaoluwa Osuntokun
8a18824851
Merge pull request #7243 from guggero/ghost-utxo-fix
wallet: fix ghost UTXOs not being detected
2022-12-13 20:00:31 -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
289e2db2ee
itest+lntemp: add ChainKitClient RPCs and refactor testChainKit 2022-12-09 23:52:40 +08:00
Oliver Gugger
2221d0ccb1
lntest+lntemp: add itest case for wallet rescan problem
In this commit we add a test that demonstrates the problem of ghost
UTXOs lingering in the wallet after a re-scan, even if they were spent.

NOTE: This test shows the incorrect behavior and will be adjusted in a
follow-up commit to show the correct behavior after patching the
btcwallet version.
2022-12-09 00:56:49 +01:00
ffranr
561bf82985
chainrpc: add chainkit RPC service
New endpoints: GetBlock, GetBestBlock, and GetBlockHash.
2022-12-07 14:50:14 +00:00
yyforyongyu
29652d88ee
lntest: add itest for timestamp filters 2022-12-05 20:04:47 +08:00
yyforyongyu
84fd911b47
multi: fix make lint
Fixes new lint errors caught by the latest version.
2022-11-18 20:48:23 +08:00
yyforyongyu
aafe4c38fc
lntest: fix flake in channel backup related tests
This commit fixes the channel backup tests by decreasing the recovery
window used from 1000 to 100 to speed up the startup of node Dave.
2022-11-17 21:06:13 +08:00
yyforyongyu
03dae039a7
lntemp: remove balanceCount from node state
Since channels are always closed when tests finish, there's no need to
track them in node's state.
2022-11-17 21:06:13 +08:00
yyforyongyu
666f877710
lntemp: use h.NoError inside HarnessRPC 2022-11-17 21:06:12 +08: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
40a5f94ef7
lntemp+itest: refactor testChannelBackupUpdates 2022-11-17 21:06:11 +08:00
yyforyongyu
4e821a6e3d
lntemp+itest: refactor testInvoiceSubscriptions 2022-11-17 21:06:11 +08:00
yyforyongyu
e963506f7d
lntemp+itest: refactor testListPayments 2022-11-17 21:06:10 +08:00
yyforyongyu
fc9c6c426e
lntemp+itest: refactor testUpdateNodeAnnouncement 2022-11-17 21:06:10 +08:00
yyforyongyu
7029698c16
lntemp+itest: refactor testGraphTopologyNotifications 2022-11-17 21:06:10 +08:00
yyforyongyu
cc1d5f5f8d
lntemp+itest: refactor testReconnectAfterIPChange 2022-11-17 21:05:35 +08:00
yyforyongyu
4c16e053bf
lntemp+itest: refactor testNetworkConnectionTimeout 2022-11-17 21:05:33 +08:00
yyforyongyu
cd7f02c866
lntemp+itest: refactor testUpdateChannelPolicyForPrivateChannel 2022-11-17 20:58:06 +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
1d7c568fcf
lntemp+itest: refactor testBatchChanFunding 2022-11-17 20:29:52 +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
b4d288cc10
lntemp+itest: refactor testGetRecoveryInfo 2022-11-17 20:29:51 +08:00
yyforyongyu
b1b989afae
lntemp+itest: refactor testAbandonChannel 2022-11-17 20:29:51 +08:00
yyforyongyu
2c12c8a77c
multi: refactor testListAddresses 2022-11-17 20:29:51 +08:00
yyforyongyu
4104a72b3a
lntemp+itest: refactor testNodeSignVerify 2022-11-17 20:29:51 +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
5336c8e5f5
multi: refactor testSphinxReplayPersistence 2022-11-17 20:29:50 +08:00
yyforyongyu
f5ebaa5f35
multi: refactor testDisconnectingTargetPeer 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
3b250b294c
rpcserver+lntemp: add more error logs to PendingChannels
This commit adds error logs to `PendingChannels` and changes how we
assert the num of pending force close channels, see the docs for more
info.
2022-10-27 01:11:33 +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
8cd5a9b6b1
itest: refactor testChannelBackupRestore 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