Add an argument to the test framework to enable great wall activation
Summary:
This will set "-greatwallactivationtime" in the past (01/01/2019).
Together with D2460, it will allow for running the functional tests both
pre and post update.
This is a replacement for D2459.
Depends on D2535
I considered using initialize_datadir() to set the argument into the
config file (like proposed in D2431) but:
- it may not work with tests that override the setup_chain() method
(currently there is only rpc_users.py, which would work anyway because
it calls super.setup_chain())
- it may not work with tests that override the datadir or config file
location. This is the case of feature_conf_args.py.
If a test sets the -greatwallactivationtime argument in the node
extra_args, or by passing them to the start_node(), it will still
override this argument due to the precedence rules.
Test Plan:
Modify the test_node.py start() method. Before the
subprocess.Popen() call, add the following line:
assert("-greatwallactivationtime=1546300800" in self.default_args)
Run ./test/functional/test_runner.py <test> on any test and check it
fails due to the newly added assertion.
Run ./test/functional/test_runner.py --extended --with-greatwallactivation and check there is no error.
Reviewers: #bitcoin_abc, deadalnix, jasonbcox
Reviewed By: #bitcoin_abc, deadalnix, jasonbcox
Subscribers: jasonbcox, teamcity, schancel
Differential Revision: https://reviews.bitcoinabc.org/D2518