qa: Normalize executable location
Summary:
This removes the need to override the executable locations by just reading them from the config file. Beside making the code easier to read, running individual test on Windows is now possible by default (without providing further command line arguments). Note: Of course, it is still possible to manually specify the location through the BITCOIND environment variable, e.g. bitcoin-qt
Backport of core PR13051
https://github.com/bitcoin/bitcoin/pull/13051/files
Note to reviewers: the backport has some minor differences with the
original PR due to changes from D2535 and D2696. Also core removed the
comparison framework, but it is still widely used in our codebase
especially in abc-* tests, so this diff adds changes to support the
comparison framework as well.
Test Plan:
This should work from an out of tree build:
./test/functional/test_runner.py ../test/functional/rpc_uptime.py --configfile=test/config.ini
Due to other issues from our test_runner.py file this diff is not
enough to let you run functional tests under windows.
Reviewers: #bitcoin_abc, deadalnix, jasonbcox
Reviewed By: #bitcoin_abc, jasonbcox
Subscribers: jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D3273