Merge fort-nix/nix-bitcoin#504: Add fulcrum module
7d7f2df006fulcrum: add module (Erik Arvstedt)edd8bd311cbitcoind-rpc-public-whitelist: add `ping`, `help` (Erik Arvstedt)f946a7cd9bexamples: use `mkDefault` for setting `system.stateVersion` (Erik Arvstedt)79994d0bd2tests: increase postgresql startup timeout (Erik Arvstedt) Pull request description: ACKs for top commit: nixbitcoin: ACK7d7f2df006Tree-SHA512: 866f0a40bb81ceb2008e6efbd415eeee201b9e56aa5ebc60fd1bb4b6eda300155faaa2e6492d8145b3c6084b1e8ef5ec7d4e0ff694beb328d2e5ed755c9d04b4
This commit is contained in:
commit
34c4b61402
15 changed files with 196 additions and 11 deletions
|
|
@ -79,7 +79,7 @@ name: testConfig:
|
|||
''))
|
||||
];
|
||||
|
||||
system.stateVersion = config.system.nixos.release;
|
||||
system.stateVersion = lib.mkDefault config.system.nixos.release;
|
||||
})).config.system.build.vm;
|
||||
|
||||
config = testConfig;
|
||||
|
|
|
|||
|
|
@ -109,6 +109,9 @@ let
|
|||
|
||||
tests.electrs = cfg.electrs.enable;
|
||||
|
||||
services.fulcrum.port = 50002;
|
||||
tests.fulcrum = cfg.fulcrum.enable;
|
||||
|
||||
tests.liquidd = cfg.liquidd.enable;
|
||||
services.liquidd.extraConfig = mkIf config.test.noConnections "connect=0";
|
||||
|
||||
|
|
@ -141,7 +144,7 @@ let
|
|||
'';
|
||||
|
||||
# Avoid timeout failures on slow CI nodes
|
||||
systemd.services.postgresql.serviceConfig.TimeoutStartSec = "3min";
|
||||
systemd.services.postgresql.serviceConfig.TimeoutStartSec = "5min";
|
||||
}
|
||||
(mkIf config.test.features.clightningPlugins {
|
||||
services.clightning.plugins = {
|
||||
|
|
@ -194,6 +197,7 @@ let
|
|||
services.lightning-pool.enable = true;
|
||||
services.charge-lnd.enable = true;
|
||||
services.electrs.enable = true;
|
||||
services.fulcrum.enable = true;
|
||||
services.liquidd.enable = true;
|
||||
services.btcpayserver.enable = true;
|
||||
services.joinmarket.enable = true;
|
||||
|
|
@ -240,6 +244,7 @@ let
|
|||
services.lightning-pool.enable = true;
|
||||
services.charge-lnd.enable = true;
|
||||
services.electrs.enable = true;
|
||||
services.fulcrum.enable = true;
|
||||
services.btcpayserver.enable = true;
|
||||
services.joinmarket.enable = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -112,6 +112,11 @@ def _():
|
|||
log_has_string("electrs", "waiting for 0 blocks to download")
|
||||
)
|
||||
|
||||
@test("fulcrum")
|
||||
def _():
|
||||
assert_running("fulcrum")
|
||||
machine.wait_until_succeeds(log_has_string("fulcrum", "started ok"))
|
||||
|
||||
# Impure: Stops electrs
|
||||
# Stop electrs from spamming the test log with 'waiting for 0 blocks to download' messages
|
||||
@test("stop-electrs")
|
||||
|
|
@ -378,33 +383,44 @@ def _():
|
|||
else:
|
||||
return False
|
||||
|
||||
def get_block_height(ip, port):
|
||||
return (
|
||||
"""echo '{"method": "blockchain.headers.subscribe", "id": 0}'"""
|
||||
f" | nc {ip} {port} | head -1 | jq -M .result.height"
|
||||
)
|
||||
|
||||
num_blocks = test_data["num_blocks"]
|
||||
|
||||
if enabled("electrs"):
|
||||
machine.wait_until_succeeds(log_has_string("electrs", "serving Electrum RPC"))
|
||||
get_block_height_cmd = (
|
||||
"""echo '{"method": "blockchain.headers.subscribe", "id": 0, "params": []}'"""
|
||||
f" | nc {ip('electrs')} 50001 | head -1 | jq -M .result.height"
|
||||
)
|
||||
assert_full_match(get_block_height_cmd, f"{num_blocks}\n")
|
||||
assert_full_match(get_block_height(ip('electrs'), 50001), f"{num_blocks}\n")
|
||||
|
||||
if enabled("fulcrum"):
|
||||
machine.wait_until_succeeds(log_has_string("fulcrum", "listening for connections"))
|
||||
assert_full_match(get_block_height(ip('fulcrum'), 50002), f"{num_blocks}\n")
|
||||
|
||||
if enabled("clightning"):
|
||||
machine.wait_until_succeeds(
|
||||
f"[[ $(runuser -u operator -- lightning-cli getinfo | jq -M .blockheight) == {num_blocks} ]]"
|
||||
)
|
||||
|
||||
if enabled("lnd"):
|
||||
machine.wait_until_succeeds(
|
||||
f"[[ $(runuser -u operator -- lncli getinfo | jq -M .block_height) == {num_blocks} ]]"
|
||||
)
|
||||
|
||||
if enabled("lightning-loop"):
|
||||
machine.wait_until_succeeds(
|
||||
log_has_string("lightning-loop", f"Starting event loop at height {num_blocks}")
|
||||
)
|
||||
succeed("runuser -u operator -- loop getparams")
|
||||
|
||||
if enabled("lightning-pool"):
|
||||
machine.wait_until_succeeds(
|
||||
log_has_string("lightning-pool", "lnd is now fully synced to its chain backend")
|
||||
)
|
||||
succeed("runuser -u operator -- pool orders list")
|
||||
|
||||
if enabled("btcpayserver"):
|
||||
machine.wait_until_succeeds(log_has_string("nbxplorer", f"At height: {num_blocks}"))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue