mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-22 06:26:43 +02:00
zmq test: accept arbitrary sequence start number in ZMQSubscriber
The ZMQSubscriber reception methods currently assert that the first received publisher message has a sequence number of zero. In order to fix the current test flakiness via "syncing up" to nodes in the setup phase, we have to cope with the situation that messages get lost and the first actual received message has a sequence number larger than zero.
This commit is contained in:
parent
6014d6e1b5
commit
8666033630
@ -27,7 +27,7 @@ def hash256_reversed(byte_str):
|
||||
|
||||
class ZMQSubscriber:
|
||||
def __init__(self, socket, topic):
|
||||
self.sequence = 0
|
||||
self.sequence = None # no sequence number received yet
|
||||
self.socket = socket
|
||||
self.topic = topic
|
||||
|
||||
@ -39,7 +39,11 @@ class ZMQSubscriber:
|
||||
# Topic should match the subscriber topic.
|
||||
assert_equal(topic, self.topic)
|
||||
# Sequence should be incremental.
|
||||
assert_equal(struct.unpack('<I', seq)[-1], self.sequence)
|
||||
received_seq = struct.unpack('<I', seq)[-1]
|
||||
if self.sequence is None:
|
||||
self.sequence = received_seq
|
||||
else:
|
||||
assert_equal(received_seq, self.sequence)
|
||||
self.sequence += 1
|
||||
return body
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user