Skip to content

Commit d49ee61

Browse files
codablockUdjinM6
authored andcommitted
Add more logging to DashTestFramework (#3130)
1 parent cd6c5b4 commit d49ee61

File tree

1 file changed

+28
-12
lines changed

1 file changed

+28
-12
lines changed

test/functional/test_framework/test_framework.py

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,7 @@ def create_simple_node(self):
506506
connect_nodes(self.nodes[i], idx)
507507

508508
def prepare_masternodes(self):
509+
self.log.info("Preparing %d masternodes" % self.mn_count)
509510
for idx in range(0, self.mn_count):
510511
self.prepare_masternode(idx)
511512

@@ -541,6 +542,8 @@ def prepare_masternode(self, idx):
541542
self.mninfo.append(MasternodeInfo(proTxHash, ownerAddr, votingAddr, bls['public'], bls['secret'], address, txid, collateral_vout))
542543
self.sync_all()
543544

545+
self.log.info("Prepared masternode %d: collateral_txid=%s, collateral_vout=%d, protxHash=%s" % (idx, txid, collateral_vout, proTxHash))
546+
544547
def remove_mastermode(self, idx):
545548
mn = self.mninfo[idx]
546549
rawtx = self.nodes[0].createrawtransaction([{"txid": mn.collateral_txid, "vout": mn.collateral_vout}], {self.nodes[0].getnewaddress(): 999.9999})
@@ -550,6 +553,8 @@ def remove_mastermode(self, idx):
550553
self.sync_all()
551554
self.mninfo.remove(mn)
552555

556+
self.log.info("Removed masternode %d", idx)
557+
553558
def prepare_datadirs(self):
554559
# stop faucet node so that we can copy the datadir
555560
self.stop_node(0)
@@ -562,6 +567,8 @@ def prepare_datadirs(self):
562567
self.start_node(0)
563568

564569
def start_masternodes(self):
570+
self.log.info("Starting %d masternodes", self.mn_count)
571+
565572
start_idx = len(self.nodes)
566573

567574
self.add_nodes(self.mn_count)
@@ -604,20 +611,22 @@ def do_connect(idx):
604611
executor.shutdown()
605612

606613
def setup_network(self):
607-
# create faucet node for collateral and transactions
614+
self.log.info("Creating and starting controller node")
608615
self.add_nodes(1, extra_args=[self.extra_args])
609616
self.start_node(0)
610617
required_balance = MASTERNODE_COLLATERAL * self.mn_count + 1
618+
self.log.info("Generating %d coins" % required_balance)
611619
while self.nodes[0].getbalance() < required_balance:
612620
self.bump_mocktime(1)
613621
set_node_times(self.nodes, self.mocktime)
614622
self.nodes[0].generate(1)
615-
# create connected simple nodes
616-
for i in range(0, self.num_nodes - self.mn_count - 1):
623+
num_simple_nodes = self.num_nodes - self.mn_count - 1
624+
self.log.info("Creating and starting %s simple nodes", num_simple_nodes)
625+
for i in range(0, num_simple_nodes):
617626
self.create_simple_node()
618627
sync_masternodes(self.nodes, True)
619628

620-
# activate DIP3
629+
self.log.info("Activating DIP3")
621630
if not self.fast_dip3_enforcement:
622631
while self.nodes[0].getblockcount() < 500:
623632
self.nodes[0].generate(10)
@@ -756,6 +765,10 @@ def check_dkg_comitments():
756765
wait_until(check_dkg_comitments, timeout=timeout, sleep=0.1)
757766

758767
def mine_quorum(self, expected_contributions=5, expected_complaints=0, expected_justifications=0, expected_commitments=5):
768+
self.log.info("Mining quorum: expected_contributions=%d, expected_complaints=%d, expected_justifications=%d, "
769+
"expected_commitments=%d" % (expected_contributions, expected_complaints,
770+
expected_justifications, expected_commitments))
771+
759772
quorums = self.nodes[0].quorum("list")
760773

761774
# move forward to next DKG
@@ -766,7 +779,7 @@ def mine_quorum(self, expected_contributions=5, expected_complaints=0, expected_
766779
self.nodes[0].generate(skip_count)
767780
sync_blocks(self.nodes)
768781

769-
# Make sure all reached phase 1 (init)
782+
self.log.info("Waiting for phase 1 (init)")
770783
self.wait_for_quorum_phase(1, None, 0)
771784
# Give nodes some time to connect to neighbors
772785
time.sleep(2)
@@ -775,41 +788,41 @@ def mine_quorum(self, expected_contributions=5, expected_complaints=0, expected_
775788
self.nodes[0].generate(2)
776789
sync_blocks(self.nodes)
777790

778-
# Make sure all reached phase 2 (contribute) and received all contributions
791+
self.log.info("Waiting for phase 2 (contribute)")
779792
self.wait_for_quorum_phase(2, "receivedContributions", expected_contributions)
780793
self.bump_mocktime(1)
781794
set_node_times(self.nodes, self.mocktime)
782795
self.nodes[0].generate(2)
783796
sync_blocks(self.nodes)
784797

785-
# Make sure all reached phase 3 (complain) and received all complaints
798+
self.log.info("Waiting for phase 3 (complain)")
786799
self.wait_for_quorum_phase(3, "receivedComplaints", expected_complaints)
787800
self.bump_mocktime(1)
788801
set_node_times(self.nodes, self.mocktime)
789802
self.nodes[0].generate(2)
790803
sync_blocks(self.nodes)
791804

792-
# Make sure all reached phase 4 (justify)
805+
self.log.info("Waiting for phase 4 (justify)")
793806
self.wait_for_quorum_phase(4, "receivedJustifications", expected_justifications)
794807
self.bump_mocktime(1)
795808
set_node_times(self.nodes, self.mocktime)
796809
self.nodes[0].generate(2)
797810
sync_blocks(self.nodes)
798811

799-
# Make sure all reached phase 5 (commit)
812+
self.log.info("Waiting for phase 5 (commit)")
800813
self.wait_for_quorum_phase(5, "receivedPrematureCommitments", expected_commitments)
801814
self.bump_mocktime(1)
802815
set_node_times(self.nodes, self.mocktime)
803816
self.nodes[0].generate(2)
804817
sync_blocks(self.nodes)
805818

806-
# Make sure all reached phase 6 (mining)
819+
self.log.info("Waiting for phase 6 (mining)")
807820
self.wait_for_quorum_phase(6, None, 0)
808821

809-
# Wait for final commitment
822+
self.log.info("Waiting final commitment")
810823
self.wait_for_quorum_commitment()
811824

812-
# mine the final commitment
825+
self.log.info("Mining final commitment")
813826
self.bump_mocktime(1)
814827
set_node_times(self.nodes, self.mocktime)
815828
self.nodes[0].generate(1)
@@ -820,12 +833,15 @@ def mine_quorum(self, expected_contributions=5, expected_complaints=0, expected_
820833
self.nodes[0].generate(1)
821834
sync_blocks(self.nodes)
822835
new_quorum = self.nodes[0].quorum("list", 1)["llmq_5_60"][0]
836+
quorum_info = self.nodes[0].quorum("info", 100, new_quorum)
823837

824838
# Mine 8 (SIGN_HEIGHT_OFFSET) more blocks to make sure that the new quorum gets eligable for signing sessions
825839
self.nodes[0].generate(8)
826840

827841
sync_blocks(self.nodes)
828842

843+
self.log.info("New quorum: height=%d, quorumHash=%s, minedBlock=%s" % (quorum_info["height"], new_quorum, quorum_info["minedBlock"]))
844+
829845
return new_quorum
830846

831847
class ComparisonTestFramework(BitcoinTestFramework):

0 commit comments

Comments
 (0)