aboutsummaryrefslogtreecommitdiff
path: root/qa/rpc-tests/test_framework/mininode.py
diff options
context:
space:
mode:
authorSuhas Daftuar <sdaftuar@chaincode.com>2016-04-19 16:18:38 -0400
committerSuhas Daftuar <sdaftuar@gmail.com>2016-04-20 09:27:26 -0400
commit807fa47a1e5c9f072d7dbf549bf17f66c47dbf46 (patch)
treeb9da188ac9a26ecf9d5c173dad11db1ff7d7ae56 /qa/rpc-tests/test_framework/mininode.py
parent04a29373571d44be36bd099c3b3ec3cda89e99d1 (diff)
downloadbitcoin-807fa47a1e5c9f072d7dbf549bf17f66c47dbf46.tar.xz
Tests: Fix deserialization of reject messages
Assume that reject messages for blocks or transactions due to reason REJECT_MALFORMED will not include the hash of the block or tx being rejected.
Diffstat (limited to 'qa/rpc-tests/test_framework/mininode.py')
-rwxr-xr-xqa/rpc-tests/test_framework/mininode.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/qa/rpc-tests/test_framework/mininode.py b/qa/rpc-tests/test_framework/mininode.py
index 5ee5b13275..af33564114 100755
--- a/qa/rpc-tests/test_framework/mininode.py
+++ b/qa/rpc-tests/test_framework/mininode.py
@@ -983,6 +983,7 @@ class msg_headers(object):
class msg_reject(object):
command = b"reject"
+ REJECT_MALFORMED = 1
def __init__(self):
self.message = b""
@@ -994,14 +995,16 @@ class msg_reject(object):
self.message = deser_string(f)
self.code = struct.unpack("<B", f.read(1))[0]
self.reason = deser_string(f)
- if (self.message == "block" or self.message == "tx"):
+ if (self.code != self.REJECT_MALFORMED and
+ (self.message == b"block" or self.message == b"tx")):
self.data = deser_uint256(f)
def serialize(self):
r = ser_string(self.message)
r += struct.pack("<B", self.code)
r += ser_string(self.reason)
- if (self.message == "block" or self.message == "tx"):
+ if (self.code != self.REJECT_MALFORMED and
+ (self.message == b"block" or self.message == b"tx")):
r += ser_uint256(self.data)
return r