Commit graph

2,768 commits

Author SHA1 Message Date
0098f5a71f
test suite: ARM fixes 2021-10-13 20:44:44 +00:00
69f1a9d191
mmgen-autosign: help screen cleanups 2021-10-13 20:44:43 +00:00
921a338fe5
test suite: minor changes, fixes 2021-10-13 20:44:43 +00:00
88a9729810
test suite: Windows/MSYS2 fixes 2021-10-13 20:44:43 +00:00
d98cdb82d1
tooltest2.py: minor fixes 2021-10-13 20:44:43 +00:00
53145cbc9f
test.py: minor fixes 2021-10-10 20:18:16 +00:00
35f9201174
stop Monero coin and wallet daemons via RPC 2021-10-10 20:18:16 +00:00
236592c3a6
test.py xmrwallet: fixes and cleanups 2021-10-10 20:18:15 +00:00
641c6bdf97
MoneroWalletRPCClient: simplify instantiation 2021-10-10 20:18:15 +00:00
792fad1e43
daemon.py: handle multiple PIDs 2021-10-10 20:18:15 +00:00
d70f3a7c1f
minor fixes and cleanups 2021-10-10 20:18:14 +00:00
e5a6fa588a
opts.py: avoid use of os.path.expanduser()
- MSYS2 Python expands the tilde to $HOMEPATH instead of $HOME, rendering this
  function useless.
2021-10-10 20:18:14 +00:00
bc33489e76
daemon.py, test suite: Windows fixes 2021-10-10 20:18:14 +00:00
d8c564537f
minor cleanups and changes 2021-10-10 20:18:13 +00:00
e33facb8bb
README.md: update Linux install link 2021-10-08 16:44:57 +00:00
c0d336df95
test.py: minor cleanups 2021-10-08 16:44:56 +00:00
328db384d2
test.py: daemon start/stop fixes 2021-10-08 16:44:56 +00:00
4d577609ee
test.py --segwit: execute only relevant tests 2021-10-08 16:44:56 +00:00
20b45c3b84
unit_tests.py tx_deserialize: support v22.0.0 test vectors 2021-10-08 16:44:55 +00:00
350c600bb3
use optimized hmac.digest() instead of hmac.new().digest() 2021-10-07 20:03:17 +00:00
b5870f1694
support Bitcoin Core v22.0.0 2021-10-07 17:55:40 +00:00
b0584b2425
README.md: update state of Monero support 2021-10-07 13:12:11 +00:00
4d232342fa
update documentation from wiki
- Install-MMGen-on-Debian-or-Ubuntu-Linux.md
  - Install-MMGen-on-Microsoft-Windows.md
  - Altcoin-and-Forkcoin-Support.md
  - MMGen-Quick-Start-with-Regtest-Mode.md
2021-10-07 13:12:11 +00:00
2660a3591b
test.py: fixes for --pexpect-spawn 2021-10-07 13:12:10 +00:00
4453aaf355
minor fixes and cleanups 2021-10-07 13:12:10 +00:00
59aed3431b
tw.py: insert existing label text when editing label 2021-10-07 13:12:10 +00:00
f377c63a39
line_input(): skip readline text insert if 'insert_txt' is empty 2021-10-07 13:12:09 +00:00
1245dc1026
my_raw_input() -> line_input() 2021-10-07 13:12:09 +00:00
fb29994067
my_raw_input(): improve readline initialization 2021-10-06 21:08:03 +00:00
acd9c1e13f
minor fixes and cleanups 2021-10-06 21:08:02 +00:00
8e739e787a
test.py regtest: enable deterministic testing
Follow-up to commit 08fc25d86

Testing:

    $ export MMGEN_TEST_SUITE_DETERMINISTIC=1
    $ script -c 'test/test.py -ne regtest' -O run1
    $ script -c 'test/test.py -ne regtest' -O run2
    $ scripts/gendiff.py run1 run2 > run.diff

Erratum:

    The phrase “and the non-deterministic behavior of Bitcoin Core’s regtest
    implementation” in the notes to commit 08fc25d86 is incorrect and should
    be disregarded.
2021-10-06 13:22:34 +00:00
76cf32f3b4
new convenience utility: scripts/gendiff.py 2021-10-06 13:22:34 +00:00
ae0618ad01
rpc.py: get regtest credentials from CoinDaemon 2021-10-06 13:22:34 +00:00
d99c75216d
minor fixes and cleanups 2021-10-06 13:22:33 +00:00
f64be2b883
txsign: support all address types with flat keylist 2021-10-06 13:22:33 +00:00
ede56a2526
tx.py: infer mmtype for non-MMGen inputs and outputs 2021-10-06 13:22:32 +00:00
fb046dc076
minor cleanups 2021-10-06 13:22:32 +00:00
36c6021ce2
regtest: create miner wallet from hardcoded seed (BTC-only) 2021-10-05 11:57:34 +00:00
b0644a4052
regtest: make cli accept integer and bool args, add wallet_cli 2021-10-05 11:57:34 +00:00
554670b713
overlay_setup(): use passed value of repo_root 2021-10-05 11:57:34 +00:00
2af674a4ce
CoinDaemon: include non-standard --datadir for BCH 2021-10-05 11:57:33 +00:00
ae3c65ec81
regtest: return daemon datadir to its former location under MMGen datadir
Affected coins: BTC,LTC,BCH

Fixes a regression introduced by commit `ca8b4dc31` on Aug 5.

During this period, use of the `mmgen-regtest` script would have overwritten
the user bitcoin/litecoin.conf and regtest dir.  Other files in the daemon
datadir were unaffected.
2021-10-05 11:57:33 +00:00
4dc9b38041
daemon.py: restrict start() and stop() methods to test suite and regtest 2021-10-05 11:57:33 +00:00
517f0ee54f
daemon.py: minor fixes and cleanups 2021-10-05 11:57:32 +00:00
08fc25d863
deterministic testing
Goal: for each test run to produce reproducible output, allowing us to check
for possible stochastic behavior in the scripts, as well as output-related
regressions (for example, garbage or improperly formatted output produced by a
bad format string) that might not be detected by the test scripts.

In practice, bugginess of the pexpect module and the non-deterministic behavior
of Bitcoin Core’s regtest implementation preclude completely identical output
from test run to test run, but the differences are small enough to result in an
easily reviewable diff.

Enable this feature by setting the MMGEN_TEST_SUITE_DETERMINISTIC environment
variable or running test/test-release.sh with the -D switch.

Examples:

    $ script -c 'test/test-release.sh -FDv quick' -O run1
    $ script -c 'test/test-release.sh -FDv quick' -O run2
    # (optionally remove control characters from output files)
    $ diff -u run1 run2 > diff

    $ export MMGEN_TEST_SUITE_DETERMINISTIC=1
    $ script -c 'test/test.py -ne main' -O run1
    $ script -c 'test/test.py -ne main' -O run2
    # (optionally remove control characters from output files)
    $ diff -u run1 run2 > diff
2021-10-03 17:40:03 +00:00
96a250b51d
test suite: run scripts from overlay tree
Rationale of this commit: to relocate some ugly test-related code from the MMGen
package tree to the test tree, as well as to enable deterministic testing
(implemented in the next commit).

The overlay tree is a symlinked mirror of the MMGen package dir with a few
monkey-patched modules.

The monkey-patching is conditional, so the modules are certain to get tested in
their unpatched state as well.
2021-10-03 17:40:02 +00:00
2a178b3b2e
tx.py: format_io(): add amount to sort key so duplicate addrs sort predictably 2021-10-03 17:40:02 +00:00
3a2cb6f551
minor fixes and cleanups 2021-10-03 17:40:02 +00:00
54d123fdc0
scripts/traceback_run.py -> scripts/exec_wrapper.py 2021-10-03 17:40:01 +00:00
ca3ff726ef
test-release.sh: skip individual tests with -S 2021-10-02 17:54:12 +00:00