aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtest/functional/interface_usdt_mempool.py44
1 files changed, 16 insertions, 28 deletions
diff --git a/test/functional/interface_usdt_mempool.py b/test/functional/interface_usdt_mempool.py
index f138fa44cc..208b065c34 100755
--- a/test/functional/interface_usdt_mempool.py
+++ b/test/functional/interface_usdt_mempool.py
@@ -137,9 +137,7 @@ class MempoolTracepointTest(BitcoinTestFramework):
"""Add a transaction to the mempool and make sure the tracepoint returns
the expected txid, vsize, and fee."""
- EXPECTED_ADDED_EVENTS = 1
- handled_added_events = 0
- event = None
+ events = []
self.log.info("Hooking into mempool:added tracepoint...")
node = self.nodes[0]
@@ -148,9 +146,7 @@ class MempoolTracepointTest(BitcoinTestFramework):
bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0)
def handle_added_event(_, data, __):
- nonlocal event, handled_added_events
- event = bpf["added_events"].event(data)
- handled_added_events += 1
+ events.append(bpf["added_events"].event(data))
bpf["added_events"].open_perf_buffer(handle_added_event)
@@ -165,7 +161,8 @@ class MempoolTracepointTest(BitcoinTestFramework):
self.generate(node, 1)
self.log.info("Ensuring mempool:added event was handled successfully...")
- assert_equal(EXPECTED_ADDED_EVENTS, handled_added_events)
+ assert_equal(1, len(events))
+ event = events[0]
assert_equal(bytes(event.hash)[::-1].hex(), tx["txid"])
assert_equal(event.vsize, tx["tx"].get_vsize())
assert_equal(event.fee, fee)
@@ -177,9 +174,7 @@ class MempoolTracepointTest(BitcoinTestFramework):
"""Expire a transaction from the mempool and make sure the tracepoint returns
the expected txid, expiry reason, vsize, and fee."""
- EXPECTED_REMOVED_EVENTS = 1
- handled_removed_events = 0
- event = None
+ events = []
self.log.info("Hooking into mempool:removed tracepoint...")
node = self.nodes[0]
@@ -188,9 +183,7 @@ class MempoolTracepointTest(BitcoinTestFramework):
bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0)
def handle_removed_event(_, data, __):
- nonlocal event, handled_removed_events
- event = bpf["removed_events"].event(data)
- handled_removed_events += 1
+ events.append(bpf["removed_events"].event(data))
bpf["removed_events"].open_perf_buffer(handle_removed_event)
@@ -212,7 +205,8 @@ class MempoolTracepointTest(BitcoinTestFramework):
bpf.perf_buffer_poll(timeout=200)
self.log.info("Ensuring mempool:removed event was handled successfully...")
- assert_equal(EXPECTED_REMOVED_EVENTS, handled_removed_events)
+ assert_equal(1, len(events))
+ event = events[0]
assert_equal(bytes(event.hash)[::-1].hex(), txid)
assert_equal(event.reason.decode("UTF-8"), "expiry")
assert_equal(event.vsize, tx["tx"].get_vsize())
@@ -226,9 +220,7 @@ class MempoolTracepointTest(BitcoinTestFramework):
"""Replace one and two transactions in the mempool and make sure the tracepoint
returns the expected txids, vsizes, and fees."""
- EXPECTED_REPLACED_EVENTS = 1
- handled_replaced_events = 0
- event = None
+ events = []
self.log.info("Hooking into mempool:replaced tracepoint...")
node = self.nodes[0]
@@ -237,9 +229,7 @@ class MempoolTracepointTest(BitcoinTestFramework):
bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0)
def handle_replaced_event(_, data, __):
- nonlocal event, handled_replaced_events
- event = bpf["replaced_events"].event(data)
- handled_replaced_events += 1
+ events.append(bpf["replaced_events"].event(data))
bpf["replaced_events"].open_perf_buffer(handle_replaced_event)
@@ -261,7 +251,8 @@ class MempoolTracepointTest(BitcoinTestFramework):
bpf.perf_buffer_poll(timeout=200)
self.log.info("Ensuring mempool:replaced event was handled successfully...")
- assert_equal(EXPECTED_REPLACED_EVENTS, handled_replaced_events)
+ assert_equal(1, len(events))
+ event = events[0]
assert_equal(bytes(event.replaced_hash)[::-1].hex(), original_tx["txid"])
assert_equal(event.replaced_vsize, original_tx["tx"].get_vsize())
assert_equal(event.replaced_fee, original_fee)
@@ -277,9 +268,7 @@ class MempoolTracepointTest(BitcoinTestFramework):
"""Create an invalid transaction and make sure the tracepoint returns
the expected txid, rejection reason, peer id, and peer address."""
- EXPECTED_REJECTED_EVENTS = 1
- handled_rejected_events = 0
- event = None
+ events = []
self.log.info("Adding P2P connection...")
node = self.nodes[0]
@@ -291,9 +280,7 @@ class MempoolTracepointTest(BitcoinTestFramework):
bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0)
def handle_rejected_event(_, data, __):
- nonlocal event, handled_rejected_events
- event = bpf["rejected_events"].event(data)
- handled_rejected_events += 1
+ events.append(bpf["rejected_events"].event(data))
bpf["rejected_events"].open_perf_buffer(handle_rejected_event)
@@ -305,7 +292,8 @@ class MempoolTracepointTest(BitcoinTestFramework):
bpf.perf_buffer_poll(timeout=200)
self.log.info("Ensuring mempool:rejected event was handled successfully...")
- assert_equal(EXPECTED_REJECTED_EVENTS, handled_rejected_events)
+ assert_equal(1, len(events))
+ event = events[0]
assert_equal(bytes(event.hash)[::-1].hex(), tx["tx"].hash)
assert_equal(event.reason.decode("UTF-8"), "min relay fee not met")