0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-04 13:55:23 -05:00

test: avoid generating non-loopback traffic from feature_config_args.py

`feature_config_args.py` uses a proxy address of `1.2.3.4`. This results
in actually trying to open TCP connections over the internet to
`1.2.3.4:9050`.

The test does not need those to succeed so use `127.0.0.1:1` instead.

Also avoid `-noconnect=0` because that is interpreted as `-connect=1`
which is interpreted as `-connect=0.0.0.1` and a connection to
`0.0.0.1:18444` is attempted.
This commit is contained in:
Vasil Dimov 2024-11-25 17:01:17 +01:00
parent 6b3f6eae70
commit a5746dc559
No known key found for this signature in database
GPG key ID: 54DF06F64B55CBBF

View file

@ -11,6 +11,7 @@ import re
import tempfile import tempfile
import time import time
from test_framework.netutil import UNREACHABLE_PROXY_ARG
from test_framework.test_framework import BitcoinTestFramework from test_framework.test_framework import BitcoinTestFramework
from test_framework.test_node import ErrorMatch from test_framework.test_node import ErrorMatch
from test_framework import util from test_framework import util
@ -227,8 +228,8 @@ class ConfArgsTest(BitcoinTestFramework):
) )
def test_log_buffer(self): def test_log_buffer(self):
with self.nodes[0].assert_debug_log(expected_msgs=['Warning: parsed potentially confusing double-negative -connect=0\n']): with self.nodes[0].assert_debug_log(expected_msgs=['Warning: parsed potentially confusing double-negative -listen=0\n']):
self.start_node(0, extra_args=['-noconnect=0']) self.start_node(0, extra_args=['-nolisten=0'])
self.stop_node(0) self.stop_node(0)
def test_args_log(self): def test_args_log(self):
@ -259,6 +260,7 @@ class ConfArgsTest(BitcoinTestFramework):
'-rpcpassword=', '-rpcpassword=',
'-rpcuser=secret-rpcuser', '-rpcuser=secret-rpcuser',
'-torpassword=secret-torpassword', '-torpassword=secret-torpassword',
UNREACHABLE_PROXY_ARG,
]) ])
self.stop_node(0) self.stop_node(0)
@ -307,7 +309,7 @@ class ConfArgsTest(BitcoinTestFramework):
], ],
timeout=10, timeout=10,
): ):
self.start_node(0, extra_args=['-dnsseed=1', '-fixedseeds=1', f'-mocktime={start}']) self.start_node(0, extra_args=['-dnsseed=1', '-fixedseeds=1', f'-mocktime={start}', UNREACHABLE_PROXY_ARG])
# Only regtest has no fixed seeds. To avoid connections to random # Only regtest has no fixed seeds. To avoid connections to random
# nodes, regtest is the only network where it is safe to enable # nodes, regtest is the only network where it is safe to enable
@ -355,7 +357,7 @@ class ConfArgsTest(BitcoinTestFramework):
], ],
timeout=10, timeout=10,
): ):
self.start_node(0, extra_args=['-dnsseed=0', '-fixedseeds=1', '-addnode=fakenodeaddr', f'-mocktime={start}']) self.start_node(0, extra_args=['-dnsseed=0', '-fixedseeds=1', '-addnode=fakenodeaddr', f'-mocktime={start}', UNREACHABLE_PROXY_ARG])
with self.nodes[0].assert_debug_log(expected_msgs=[ with self.nodes[0].assert_debug_log(expected_msgs=[
"Adding fixed seeds as 60 seconds have passed and addrman is empty", "Adding fixed seeds as 60 seconds have passed and addrman is empty",
]): ]):
@ -371,18 +373,18 @@ class ConfArgsTest(BitcoinTestFramework):
# When -connect is supplied, expanding addrman via getaddr calls to ADDR_FETCH(-seednode) # When -connect is supplied, expanding addrman via getaddr calls to ADDR_FETCH(-seednode)
# nodes is irrelevant and -seednode is ignored. # nodes is irrelevant and -seednode is ignored.
with self.nodes[0].assert_debug_log(expected_msgs=seednode_ignored): with self.nodes[0].assert_debug_log(expected_msgs=seednode_ignored):
self.start_node(0, extra_args=['-connect=fakeaddress1', '-seednode=fakeaddress2']) self.start_node(0, extra_args=['-connect=fakeaddress1', '-seednode=fakeaddress2', UNREACHABLE_PROXY_ARG])
# With -proxy, an ADDR_FETCH connection is made to a peer that the dns seed resolves to. # With -proxy, an ADDR_FETCH connection is made to a peer that the dns seed resolves to.
# ADDR_FETCH connections are not used when -connect is used. # ADDR_FETCH connections are not used when -connect is used.
with self.nodes[0].assert_debug_log(expected_msgs=dnsseed_ignored): with self.nodes[0].assert_debug_log(expected_msgs=dnsseed_ignored):
self.restart_node(0, extra_args=['-connect=fakeaddress1', '-dnsseed=1', '-proxy=1.2.3.4']) self.restart_node(0, extra_args=['-connect=fakeaddress1', '-dnsseed=1', UNREACHABLE_PROXY_ARG])
# If the user did not disable -dnsseed, but it was soft-disabled because they provided -connect, # If the user did not disable -dnsseed, but it was soft-disabled because they provided -connect,
# they shouldn't see a warning about -dnsseed being ignored. # they shouldn't see a warning about -dnsseed being ignored.
with self.nodes[0].assert_debug_log(expected_msgs=addcon_thread_started, with self.nodes[0].assert_debug_log(expected_msgs=addcon_thread_started,
unexpected_msgs=dnsseed_ignored): unexpected_msgs=dnsseed_ignored):
self.restart_node(0, extra_args=['-connect=fakeaddress1', '-proxy=1.2.3.4']) self.restart_node(0, extra_args=['-connect=fakeaddress1', UNREACHABLE_PROXY_ARG])
# We have to supply expected_msgs as it's a required argument # We have to supply expected_msgs as it's a required argument
# The expected_msg must be something we are confident will be logged after the unexpected_msg # The expected_msg must be something we are confident will be logged after the unexpected_msg