@@ -22,23 +22,24 @@ def set_test_params(self):
22
22
self .setup_clean_chain = True
23
23
self .num_nodes = 2
24
24
25
- def test_maxtipage (self , maxtipage , set_parameter = True ):
25
+ def test_maxtipage (self , maxtipage , set_parameter = True , test_deltas = True ):
26
26
node_miner = self .nodes [0 ]
27
27
node_ibd = self .nodes [1 ]
28
28
29
29
self .restart_node (1 , [f'-maxtipage={ maxtipage } ' ] if set_parameter else None )
30
30
self .connect_nodes (0 , 1 )
31
-
32
- # tips older than maximum age -> stay in IBD
33
31
cur_time = int (time .time ())
34
- node_ibd .setmocktime (cur_time )
35
- for delta in [5 , 4 , 3 , 2 , 1 ]:
36
- node_miner .setmocktime (cur_time - maxtipage - delta )
37
- self .generate (node_miner , 1 )
38
- assert_equal (node_ibd .getblockchaininfo ()['initialblockdownload' ], True )
32
+
33
+ if test_deltas :
34
+ # tips older than maximum age -> stay in IBD
35
+ node_ibd .setmocktime (cur_time )
36
+ for delta in [5 , 4 , 3 , 2 , 1 ]:
37
+ node_miner .setmocktime (cur_time - maxtipage - delta )
38
+ self .generate (node_miner , 1 )
39
+ assert_equal (node_ibd .getblockchaininfo ()['initialblockdownload' ], True )
39
40
40
41
# tip within maximum age -> leave IBD
41
- node_miner .setmocktime (cur_time - maxtipage )
42
+ node_miner .setmocktime (max ( cur_time - maxtipage , 0 ) )
42
43
self .generate (node_miner , 1 )
43
44
assert_equal (node_ibd .getblockchaininfo ()['initialblockdownload' ], False )
44
45
@@ -51,6 +52,10 @@ def run_test(self):
51
52
self .log .info (f"Test IBD with maximum tip age of { hours } hours (-maxtipage={ maxtipage } )." )
52
53
self .test_maxtipage (maxtipage )
53
54
55
+ max_long_val = 9223372036854775807
56
+ self .log .info (f"Test IBD with highest allowable maximum tip age ({ max_long_val } )." )
57
+ self .test_maxtipage (max_long_val , test_deltas = False )
58
+
54
59
55
60
if __name__ == '__main__' :
56
61
MaxTipAgeTest ().main ()
0 commit comments