Commit graph

459 commits

Author SHA1 Message Date
91410dd96c
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
2019-03-02 21:27:53 +03:00
b61d516acd
test-release.sh: change option names, alter behavior of '-f' (speedup) option 2019-02-28 13:57:35 +03:00
6a90340671
minor changes 2019-02-28 13:51:27 +03:00
609e4a04d2
opts.init(): delay creation of data dir, add 'parse_only' option 2019-02-28 13:48:20 +03:00
3036267c53
eth/{contract,tx}.py: delay loading of Transaction module 2019-02-28 13:42:05 +03:00
7ac23b6bf3
create new uninstall script 2019-02-28 13:38:52 +03:00
729a547c7d
tool.py, main_tool.py: major rewrite, cleanup
- group tool commands into classes
- add docstrings to command classes and methods
- annotate command method args
- generate call signatures + help and usage screens on the fly

- API changes:
  - listaddresses,twview: new 'age_fmt' option replaces 'show_days' and 'show_age'
  - addrfile_chksum and friends: 'mmtype' option removed

- tooltest.py, tooltest2.py and test.py have been updated accordingly
2019-02-22 23:23:06 +03:00
26ba8baa97
test-release.sh, tooltest.py, tooltest2.py: minor changes, exception handling 2019-02-19 17:53:21 +03:00
558fa58f91
New test 'tooltest2.py' for testing 'mmgen-tool'
- 2 modes of operation:
	- test tool commands by spawning the executable 'mmgen-tool'
	- test tool commands directly, by importing 'mmgen.tool'
- all test vectors are contained in the script
- no dependency chains or IPC via the filesystem
2019-02-19 14:23:47 +03:00
a2386744e6
util.py: improve bytespec-parsing algorithm 2019-02-19 14:20:17 +03:00
190d6e70b5
tooltest.py: refactor; downcase method names 2019-02-19 12:04:36 +03:00
583430b262
test.py: new '--list-cmd-groups' option 2019-02-19 12:02:49 +03:00
a5ef33136a
tool.py: have tool cmds return their results instead of printing them 2019-02-19 11:59:14 +03:00
7b1b235a80
tool.py: new MMGenToolCmd class 2019-02-17 23:00:08 +03:00
1714e9b27a
protocol.py: reimplement _b58chk_encode(), _b58chk_decode() 2019-02-17 20:56:27 +03:00
2e8b76ec44
Version bump; mmgen-tool: encoding fixes 2019-02-16 14:00:14 +03:00
cdc932bc59
Version 0.10.0 v0.10.0 2019-02-14 17:38:16 +03:00
39e63bd75f Minor changes 2019-02-14 17:33:58 +03:00
758bd08e8a Update documentation from wiki, amend release notes 2019-02-13 18:20:21 +03:00
6289180c1f py3port: test.py: add 'ref_hincog_blkdev_conv_out' (test read/write from block device) 2019-02-13 17:54:44 +03:00
514c1100ee Update copyright dates 2019-02-12 21:35:12 +03:00
ec524f7ef5 Add v0.10.0 release notes 2019-02-12 21:33:41 +03:00
766281cb0e py3port: test.py: improved version checking for solc 2019-02-12 21:08:18 +03:00
fec4fcb772 py3port: Bitcoin ABC v0.18.8.0 compatibility fix 2019-02-12 21:06:12 +03:00
8c1df23332 py3port: 'test.py autosign_live' - test device insertion/removal + LED 2019-02-12 13:41:27 +03:00
bbdefce0a2 py3port: minor fixes 2019-02-12 13:38:22 +03:00
44c529ae8d py3port: test-release.sh: add autosign_minimal test, --buf-keypress option 2019-02-10 22:26:22 +03:00
80564f6efd py3port: allow solc v0.5.1 or v0.5.3, update ethdev test vectors accordingly 2019-02-10 22:25:03 +03:00
d91328c2b1 py3port: a few encoding fixes 2019-02-10 22:19:55 +03:00
3f83f4bd82 py3port: test.py: ethdev: permit port-forwarded RPC 2019-02-08 15:12:54 +03:00
d67c92e831 py3port: test.py: add 'autosign_minimal' test 2019-02-08 15:10:35 +03:00
88039bb3c1 py3port: minor fixes 2019-02-08 15:06:03 +03:00
7c0caa3815 py3port: test.py: rewrite autosign() 2019-02-06 19:23:35 +03:00
fb07b089be py3port: ERC20: support/require Solidity compiler version 0.5.3 2019-02-06 14:05:37 +03:00
61b4f5a07a py3port: Parity: support 'eth_chainId' RPC call 2019-02-06 10:44:27 +03:00
489d637719 py3port: setup.py: check Python version 2019-02-06 10:33:36 +03:00
40fc0e4385 py3port: regtest.py: encoding fixes 2019-02-06 10:32:43 +03:00
0b9a3fb0d8 py3port: support pyethereum >v2.3.2 (b704a5c) 2019-02-05 10:57:31 +03:00
c2675c15ed
py3port: headers 2018-11-17 23:34:04 +03:00
0482594e7a
py3port: traceback_run fixes 2018-11-15 15:57:31 +03:00
f58b40c42c
py3port: whitespace fixes 2018-11-15 15:54:22 +03:00
44eb299442
py3port: revert some changes made by 2to3 2018-11-01 20:34:29 +03:00
b558d7bcb0
py3port complete
When the Python 3 port has received sufficient testing, it will be merged into
the master branch.  From then on, MMGen will no longer support Python 2.

Users who wish to run current MMGen versions should upgrade their systems with
Python 3 versions of the prerequisite libraries listed on the
Install-MMGen-on-Debian-or-Ubuntu-Linux wiki page.
2018-10-31 22:12:29 +03:00
0eff2811e1
py3port: update tests 2018-10-31 21:20:59 +03:00
66be913d5d
py3port: update setup.py 2018-10-31 21:19:20 +03:00
9c4d7d725f
py3port: remaining changes to modules 2018-10-31 21:17:58 +03:00
59007ee697
py3port: rewrite secp256k1 extension module 2018-10-31 21:14:32 +03:00
9d694488d9
py3port: Ethereum-related changes 2018-10-31 21:13:27 +03:00
53189f4469
py3port: Zcash and Monero-related changes 2018-10-31 21:12:07 +03:00
66c01a9ed8
py3port: remove context arg from Decimal subclass methods 2018-10-31 21:11:00 +03:00