test.py: refactor, modularize, cleanup code, make fully OO

- test groups are now separate classes in separate modules
- test data and code is loaded on an as-needed basis
- new TestSuiteRunner and CmdGroupMgr classes
- simplified invocation: if arguments are omitted, all default tests relevant
  for given network and option are run.  The following set of invocations
  provides nearly complete coverage of MMGen's core functionality:

    test/test.py
    test/test.py --segwit-random
    test/test.py --bech32

    test/test.py --coin=ltc
    test/test.py --coin=ltc --segwit-random
    test/test.py --coin=ltc --bech32

    test/test.py --coin=bch
    test/test.py --coin=eth
    test/test.py --coin=etc
This commit is contained in:
The MMGen Project 2019-03-02 18:27:53 +00:00
commit 91410dd96c
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
24 changed files with 4953 additions and 4345 deletions

View file

@ -1,6 +1,7 @@
include README.md SIGNING_KEYS.pub LICENSE INSTALL
include doc/wiki/using-mmgen/*
include test/*.py
include test/test_py_d/*.py
include test/ref/*
include test/ref/litecoin/*
include test/ref/ethereum/*