Merge bitcoin/bitcoin#32492: test: add skip_if_running_under_valgrind()

75a185ea3db3177e8e479ee61a39bcb51e08d9a6 test: add skip_if_running_under_valgrind() (fanquake)

Pull request description:

  Enable it in the USDT tests. The context (from 0xB10C):

  > every time the tracepoint is reached a SIGTRAP is fired.
  > No matter the tracepoint contents, even with an empty one.
  > Valgrind intercepts SIGTRAP and aborts.

  See discussion in #32374.

ACKs for top commit:
  maflcko:
    lgtm ACK 75a185ea3db3177e8e479ee61a39bcb51e08d9a6
  willcl-ark:
    ACK 75a185ea3db3177e8e479ee61a39bcb51e08d9a6

Tree-SHA512: 7f45c3049ab39cc514024067bd6ac26598e99202c114b48459834c26c2e1273fa58af693878298e628a10c561b954850e49e76b39567b771bb0c0534a063a524
This commit is contained in:
merge-script 2025-05-15 10:17:50 +01:00
commit c779ee3a40
No known key found for this signature in database
GPG Key ID: 2EEB9F5CC09526C1
6 changed files with 10 additions and 0 deletions

View File

@ -117,6 +117,7 @@ class CoinSelectionTracepointTest(BitcoinTestFramework):
self.skip_if_no_python_bcc()
self.skip_if_no_bpf_permissions()
self.skip_if_no_wallet()
self.skip_if_running_under_valgrind()
def get_tracepoints(self, expected_types):
events = []

View File

@ -158,6 +158,7 @@ class MempoolTracepointTest(BitcoinTestFramework):
self.skip_if_no_bitcoind_tracepoints()
self.skip_if_no_python_bcc()
self.skip_if_no_bpf_permissions()
self.skip_if_running_under_valgrind()
def added_test(self):
"""Add a transaction to the mempool and make sure the tracepoint returns

View File

@ -254,6 +254,7 @@ class NetTracepointTest(BitcoinTestFramework):
self.skip_if_no_bitcoind_tracepoints()
self.skip_if_no_python_bcc()
self.skip_if_no_bpf_permissions()
self.skip_if_running_under_valgrind()
def run_test(self):
self.p2p_message_tracepoint_test()

View File

@ -150,6 +150,7 @@ class UTXOCacheTracepointTest(BitcoinTestFramework):
self.skip_if_no_bitcoind_tracepoints()
self.skip_if_no_python_bcc()
self.skip_if_no_bpf_permissions()
self.skip_if_running_under_valgrind()
def run_test(self):
self.wallet = MiniWallet(self.nodes[0])

View File

@ -64,6 +64,7 @@ class ValidationTracepointTest(BitcoinTestFramework):
self.skip_if_no_bitcoind_tracepoints()
self.skip_if_no_python_bcc()
self.skip_if_no_bpf_permissions()
self.skip_if_running_under_valgrind()
def run_test(self):
# Tests the validation:block_connected tracepoint by generating blocks

View File

@ -1016,6 +1016,11 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
if not self.is_external_signer_compiled():
raise SkipTest("external signer support has not been compiled.")
def skip_if_running_under_valgrind(self):
"""Skip the running test if Valgrind is being used."""
if self.options.valgrind:
raise SkipTest("This test is not compatible with Valgrind.")
def is_cli_compiled(self):
"""Checks whether bitcoin-cli was compiled."""
return self.config["components"].getboolean("ENABLE_CLI")