mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-19 09:53:47 +01:00
Merge bitcoin/bitcoin#22922: ci: Fix and enable tests on Windows
fa0c194db3
cirrus: Enable tests on windows (MarcoFalke)fadecbd9a4
test: Fix tests on Windows (MarcoFalke) Pull request description: Only a cherry-picked list. `--extended` can be enabled in a follow-up. ACKs for top commit: hebasto: ACKfa0c194db3
, tested locally on Windows 10 Pro 20H2 (build 19042.1165): Tree-SHA512: 47cfbcef7ce5fe0c62b77a1e45ace513c4f0109b1fcfaec94faf9e488fe9430d6ba0e852230021d432847eb1389a4e4b7cf39bf17f7b09bae36af3079e0d7399
This commit is contained in:
commit
e4aa9b15b9
@ -1,6 +1,4 @@
|
||||
### Global defaults
|
||||
|
||||
env:
|
||||
env: # Global defaults
|
||||
PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y"
|
||||
MAKEJOBS: "-j4"
|
||||
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
|
||||
@ -130,6 +128,7 @@ task:
|
||||
folder: 'C:\Users\ContainerAdministrator\AppData\Local\vcpkg\archives'
|
||||
install_python_script:
|
||||
- choco install --yes --no-progress python3 --version=3.9.6
|
||||
- pip install zmq
|
||||
- python -VV
|
||||
install_vcpkg_script:
|
||||
- cd ..
|
||||
@ -149,6 +148,8 @@ task:
|
||||
- src\bench_bitcoin.exe > NUL
|
||||
- python test\util\test_runner.py
|
||||
- python test\util\rpcauth-test.py
|
||||
functional_tests_script:
|
||||
- python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --jobs=4 --timeout-factor=8 rpc_help feature_config_args rpc_signer feature_presegwit_node_upgrade "tool_wallet.py --descriptors" --failfast # TODO enable '--extended' and remove cherry-picked test list
|
||||
|
||||
task:
|
||||
name: 'ARM [unit tests, no functional tests] [buster]'
|
||||
|
@ -57,6 +57,8 @@
|
||||
<Copy SourceFiles="$(ConfigIniIn)" DestinationFiles="$(ConfigIniOut)" ></Copy>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@PACKAGE_NAME@" By="Bitcoin Core"></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@PACKAGE_BUGREPORT@" By="https://github.com/bitcoin/bitcoin/issues"></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@abs_top_srcdir@" By="..\.." ToFullPath="true"></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
@ -71,12 +73,16 @@
|
||||
Replace="@USE_SQLITE_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@BUILD_BITCOIN_CLI_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@BUILD_BITCOIN_WALLET_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@BUILD_BITCOIND_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@ENABLE_FUZZ_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@ENABLE_ZMQ_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@ENABLE_EXTERNAL_SIGNER_TRUE@" By=""></ReplaceInFile>
|
||||
</Target>
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
@ -164,11 +164,14 @@ class ConfArgsTest(BitcoinTestFramework):
|
||||
# fixed seeds
|
||||
assert not os.path.exists(os.path.join(default_data_dir, "peers.dat"))
|
||||
start = int(time.time())
|
||||
with self.nodes[0].assert_debug_log(expected_msgs=[
|
||||
"Loaded 0 addresses from peers.dat",
|
||||
"0 addresses found from DNS seeds",
|
||||
"opencon thread start", # Ensure ThreadOpenConnections::start time is properly set
|
||||
]):
|
||||
with self.nodes[0].assert_debug_log(
|
||||
expected_msgs=[
|
||||
"Loaded 0 addresses from peers.dat",
|
||||
"0 addresses found from DNS seeds",
|
||||
"opencon thread start", # Ensure ThreadOpenConnections::start time is properly set
|
||||
],
|
||||
timeout=10,
|
||||
):
|
||||
self.start_node(0, extra_args=['-dnsseed=1', '-fixedseeds=1', f'-mocktime={start}'])
|
||||
with self.nodes[0].assert_debug_log(expected_msgs=[
|
||||
"Adding fixed seeds as 60 seconds have passed and addrman is empty",
|
||||
@ -206,11 +209,14 @@ class ConfArgsTest(BitcoinTestFramework):
|
||||
# We expect the node will allow 60 seconds prior to using fixed seeds
|
||||
assert not os.path.exists(os.path.join(default_data_dir, "peers.dat"))
|
||||
start = int(time.time())
|
||||
with self.nodes[0].assert_debug_log(expected_msgs=[
|
||||
"Loaded 0 addresses from peers.dat",
|
||||
"DNS seeding disabled",
|
||||
"opencon thread start", # Ensure ThreadOpenConnections::start time is properly set
|
||||
]):
|
||||
with self.nodes[0].assert_debug_log(
|
||||
expected_msgs=[
|
||||
"Loaded 0 addresses from peers.dat",
|
||||
"DNS seeding disabled",
|
||||
"opencon thread start", # Ensure ThreadOpenConnections::start time is properly set
|
||||
],
|
||||
timeout=10,
|
||||
):
|
||||
self.start_node(0, extra_args=['-dnsseed=0', '-fixedseeds=1', '-addnode=fakenodeaddr', f'-mocktime={start}'])
|
||||
with self.nodes[0].assert_debug_log(expected_msgs=[
|
||||
"Adding fixed seeds as 60 seconds have passed and addrman is empty",
|
||||
|
@ -9,6 +9,8 @@ from test_framework.util import (
|
||||
assert_equal,
|
||||
softfork_active,
|
||||
)
|
||||
import os
|
||||
|
||||
|
||||
class SegwitUpgradeTest(BitcoinTestFramework):
|
||||
def set_test_params(self):
|
||||
@ -35,8 +37,11 @@ class SegwitUpgradeTest(BitcoinTestFramework):
|
||||
# Restarting the node (with segwit activation height set to 5) should result in a shutdown
|
||||
# because the blockchain consists of 3 insufficiently validated blocks per segwit consensus rules.
|
||||
node.assert_start_raises_init_error(
|
||||
extra_args=["-segwitheight=5"],
|
||||
expected_msg=": Witness data for blocks after height 5 requires validation. Please restart with -reindex..\nPlease restart with -reindex or -reindex-chainstate to recover.")
|
||||
extra_args=["-segwitheight=5"],
|
||||
expected_msg=": Witness data for blocks after height 5 requires "
|
||||
f"validation. Please restart with -reindex..{os.linesep}"
|
||||
"Please restart with -reindex or -reindex-chainstate to recover.",
|
||||
)
|
||||
|
||||
# As directed, the user restarts the node with -reindex
|
||||
self.start_node(0, extra_args=["-reindex", "-segwitheight=5"])
|
||||
|
@ -53,8 +53,12 @@ class RPCSignerTest(BitcoinTestFramework):
|
||||
)
|
||||
|
||||
# Handle script missing:
|
||||
assert_raises_rpc_error(-1, 'execve failed: No such file or directory',
|
||||
self.nodes[3].enumeratesigners
|
||||
assert_raises_rpc_error(
|
||||
-1,
|
||||
"CreateProcess failed: The system cannot find the file specified."
|
||||
if platform.system() == "Windows"
|
||||
else "execve failed: No such file or directory",
|
||||
self.nodes[3].enumeratesigners,
|
||||
)
|
||||
|
||||
# Handle error thrown by script
|
||||
|
@ -344,7 +344,7 @@ class ToolWalletTest(BitcoinTestFramework):
|
||||
non_exist_dump = os.path.join(self.nodes[0].datadir, "wallet.nodump")
|
||||
self.assert_raises_tool_error('Unknown wallet file format "notaformat" provided. Please provide one of "bdb" or "sqlite".', '-wallet=todump', '-format=notaformat', '-dumpfile={}'.format(wallet_dump), 'createfromdump')
|
||||
self.assert_raises_tool_error('Dump file {} does not exist.'.format(non_exist_dump), '-wallet=todump', '-dumpfile={}'.format(non_exist_dump), 'createfromdump')
|
||||
wallet_path = os.path.join(self.nodes[0].datadir, 'regtest/wallets/todump2')
|
||||
wallet_path = os.path.join(self.nodes[0].datadir, 'regtest', 'wallets', 'todump2')
|
||||
self.assert_raises_tool_error('Failed to create database path \'{}\'. Database already exists.'.format(wallet_path), '-wallet=todump2', '-dumpfile={}'.format(wallet_dump), 'createfromdump')
|
||||
self.assert_raises_tool_error("The -descriptors option can only be used with the 'create' command.", '-descriptors', '-wallet=todump2', '-dumpfile={}'.format(wallet_dump), 'createfromdump')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user