diff --git a/tests/test_wallet.py b/tests/test_wallet.py index 2f8943b96..9d81e62e9 100644 --- a/tests/test_wallet.py +++ b/tests/test_wallet.py @@ -16,6 +16,9 @@ import sys import unittest +WAIT_TIMEOUT = 60 # Wait timeout for processes + + @unittest.skipIf(TEST_NETWORK != 'regtest', "Test relies on a number of example addresses valid only in regtest") def test_withdraw(node_factory, bitcoind): amount = 1000000 @@ -979,7 +982,7 @@ def test_hsm_secret_encryption(node_factory): os.write(master_fd, password[2:].encode("utf-8")) l1.daemon.wait_for_log(r'Confirm hsm_secret password') os.write(master_fd, password[2:].encode("utf-8")) - assert(l1.daemon.proc.wait() == 1) + assert(l1.daemon.proc.wait(WAIT_TIMEOUT) == 1) assert(l1.daemon.is_in_log("Wrong password for encrypted hsm_secret.")) # Test we can restore the same wallet with the same password @@ -1026,7 +1029,7 @@ def test_hsmtool_secret_decryption(node_factory): stdout=subprocess.PIPE, stderr=subprocess.PIPE) hsmtool.wait_for_log(r"Enter hsm_secret password:") os.write(master_fd, "A wrong pass\n\n".encode("utf-8")) - hsmtool.proc.wait(5) + hsmtool.proc.wait(WAIT_TIMEOUT) hsmtool.is_in_log(r"Wrong password") # Decrypt it with hsmtool @@ -1034,7 +1037,7 @@ def test_hsmtool_secret_decryption(node_factory): stdout=subprocess.PIPE, stderr=subprocess.PIPE) hsmtool.wait_for_log(r"Enter hsm_secret password:") os.write(master_fd, password.encode("utf-8")) - assert hsmtool.proc.wait(5) == 0 + assert hsmtool.proc.wait(WAIT_TIMEOUT) == 0 # Then test we can now start it without password l1.daemon.opts.pop("encrypted-hsm") l1.daemon.start(stdin=slave_fd, wait_for_initialized=True) @@ -1049,7 +1052,7 @@ def test_hsmtool_secret_decryption(node_factory): os.write(master_fd, password.encode("utf-8")) hsmtool.wait_for_log(r"Confirm hsm_secret password:") os.write(master_fd, password.encode("utf-8")) - assert hsmtool.proc.wait(5) == 0 + assert hsmtool.proc.wait(WAIT_TIMEOUT) == 0 # Now we need to pass the encrypted-hsm startup option l1.stop() with pytest.raises(subprocess.CalledProcessError, match=r'returned non-zero exit status 1'): @@ -1075,7 +1078,7 @@ def test_hsmtool_secret_decryption(node_factory): stdout=subprocess.PIPE, stderr=subprocess.PIPE) hsmtool.wait_for_log(r"Enter hsm_secret password:") os.write(master_fd, password.encode("utf-8")) - assert hsmtool.proc.wait(5) == 0 + assert hsmtool.proc.wait(WAIT_TIMEOUT) == 0 l1.daemon.opts.pop("encrypted-hsm") l1.daemon.start(stdin=slave_fd, wait_for_initialized=True) assert node_id == l1.rpc.getinfo()["id"] @@ -1122,7 +1125,7 @@ def test_hsmtool_generatehsm(node_factory): # You cannot re-generate an already existing hsm_secret hsmtool.start(stdin=slave_fd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - assert hsmtool.proc.wait(5) == 2 + assert hsmtool.proc.wait(WAIT_TIMEOUT) == 2 os.remove(hsm_path) # We can generate a valid hsm_secret from a wordlist and a "passphrase" @@ -1135,7 +1138,7 @@ def test_hsmtool_generatehsm(node_factory): "cake have wedding\n".encode("utf-8")) hsmtool.wait_for_log(r"Enter your passphrase:") os.write(master_fd, "This is actually not a passphrase\n".encode("utf-8")) - hsmtool.proc.wait(5) + hsmtool.proc.wait(WAIT_TIMEOUT) hsmtool.is_in_log(r"New hsm_secret file created") # We can start the node with this hsm_secret