Remove BASE_SCRIPTS and use file system to locate all test script, use timings.json to separate long running tests from short running test
Since BASE_SCRIPTS is not used anymore, a developer does not need to update it when tests are added/removed.
If timing.json is present, it is used filter out long running tests - those which have execution time > EXTENDED_CUTOFF (40 seconds).
I've preserved --extended switch - it is still used to run all the tests.
The new algorithm does not exactly match old separation between base extended extended test. Two examples:
- assumevalid.py was listed as an extended test, but because it only takes 11 seconds, it is now run even is -extended is not specified.
- p2p-fullblocktest.py was listed in BASE_SCRIPTS, but since it takes 174 seconds, it is not run by default
Other things fixed in this commit:
- --exclude test txn_doublespend.py now works (previous version failed to exclude it because of additional parameters)
- string concatenation is no longer used for constructing file paths. It was replaced by os.path.join()
Refs T163