Context:
The BitcoinTestFramework test parameters are set in set_test_params(), but there are additional test run-time settings which can be passed in through the command-line. The latter are documented with the command-line help strings. Note that there are command-line arguments which differ in naming compared to the class member where they are set:
- `--tracerpc` vs `BitcoinTestFramework.options.trace_rpc`
- `--portseed` vs `BitcoinTestFramework.options.port_seed`
The TestShell is a BitcoinTestFramework child class, and allows all test parameters to be passed in setup(**test_args). The keys for test_args are identical to the respective parent class members to simplify argument forwarding.
- `TestShell.setup(trace_rpc= …)` vs. `BitcoinTestFramework.options.trace_rpc`
- `TestShell.setup(port_seed= …)` vs. `BitcoinTestFramework.options.port_seed`
However, by extension, test_args are now inconsistent with the command-line args of its parent class.
Issue:
The TestShell documentation currently covers TestShell-specific argument keys, which don’t entirely translate to the BitcoinTestFramework documentation as mentioned above. It would be nice to find a way to neatly consolidate both in one place.