mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-07-12 16:42:45 +02:00
[ZMQ] append a message sequence number to every ZMQ notification
This commit is contained in:
@ -11,6 +11,7 @@ from test_framework.test_framework import BitcoinTestFramework
|
||||
from test_framework.util import *
|
||||
import zmq
|
||||
import binascii
|
||||
import struct
|
||||
|
||||
try:
|
||||
import http.client as httplib
|
||||
@ -47,11 +48,17 @@ class ZMQTest (BitcoinTestFramework):
|
||||
print "listen..."
|
||||
msg = self.zmqSubSocket.recv_multipart()
|
||||
topic = msg[0]
|
||||
assert_equal(topic, b"hashtx")
|
||||
body = msg[1]
|
||||
nseq = msg[2]
|
||||
msgSequence = struct.unpack('<I', msg[-1])[-1]
|
||||
assert_equal(msgSequence, 0) #must be sequence 0 on hashtx
|
||||
|
||||
msg = self.zmqSubSocket.recv_multipart()
|
||||
topic = msg[0]
|
||||
body = msg[1]
|
||||
msgSequence = struct.unpack('<I', msg[-1])[-1]
|
||||
assert_equal(msgSequence, 0) #must be sequence 0 on hashblock
|
||||
blkhash = bytes_to_hex_str(body)
|
||||
|
||||
assert_equal(genhashes[0], blkhash) #blockhash from generate must be equal to the hash received over zmq
|
||||
@ -61,12 +68,16 @@ class ZMQTest (BitcoinTestFramework):
|
||||
self.sync_all()
|
||||
|
||||
zmqHashes = []
|
||||
blockcount = 0
|
||||
for x in range(0,n*2):
|
||||
msg = self.zmqSubSocket.recv_multipart()
|
||||
topic = msg[0]
|
||||
body = msg[1]
|
||||
if topic == b"hashblock":
|
||||
zmqHashes.append(bytes_to_hex_str(body))
|
||||
msgSequence = struct.unpack('<I', msg[-1])[-1]
|
||||
assert_equal(msgSequence, blockcount+1)
|
||||
blockcount += 1
|
||||
|
||||
for x in range(0,n):
|
||||
assert_equal(genhashes[x], zmqHashes[x]) #blockhash from generate must be equal to the hash received over zmq
|
||||
@ -82,6 +93,8 @@ class ZMQTest (BitcoinTestFramework):
|
||||
hashZMQ = ""
|
||||
if topic == b"hashtx":
|
||||
hashZMQ = bytes_to_hex_str(body)
|
||||
msgSequence = struct.unpack('<I', msg[-1])[-1]
|
||||
assert_equal(msgSequence, blockcount+1)
|
||||
|
||||
assert_equal(hashRPC, hashZMQ) #blockhash from generate must be equal to the hash received over zmq
|
||||
|
||||
|
Reference in New Issue
Block a user