diff options
author | Martin Zumsande <mzumsande@gmail.com> | 2024-07-30 17:49:04 -0400 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2024-07-31 12:04:45 +0100 |
commit | 500bba0561cdae809cf550317ede867d3ffce662 (patch) | |
tree | f411758205a1b1658e7f73d0697769df6be96945 | |
parent | 0cbdc6b3802d10be7772006801b1dfe8a9eaaa83 (diff) |
test: fix constructor of msg_tx
In python, if the default value is a mutable object (here: a class)
its shared over all instances, so that one instance being changed
would affect others to be changed as well.
This was likely the source of various intermittent bugs in the
functional tests.
Github-Pull: #30552
Rebased-From: ec5e294e4b830766dcc4a80add0613d3705c1794
-rwxr-xr-x | test/functional/test_framework/messages.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/test/functional/test_framework/messages.py b/test/functional/test_framework/messages.py index 1780678de1..dc5f665b6a 100755 --- a/test/functional/test_framework/messages.py +++ b/test/functional/test_framework/messages.py @@ -1293,8 +1293,11 @@ class msg_tx: __slots__ = ("tx",) msgtype = b"tx" - def __init__(self, tx=CTransaction()): - self.tx = tx + def __init__(self, tx=None): + if tx is None: + self.tx = CTransaction() + else: + self.tx = tx def deserialize(self, f): self.tx.deserialize(f) |