Commit graph

51 commits

Author SHA1 Message Date
f840069ecb
update copyright dates 2026-02-11 13:02:12 +00:00
09e70c4bf3
whitespace (82 files) 2025-10-06 09:40:47 +00:00
7b6717d85a
fixes and cleanups throughout 2025-02-24 11:27:44 +00:00
e54f039690
update copyright dates 2025-02-16 14:42:27 +00:00
de6750a34b
whitespace: scripts, setup.py, other 2024-10-18 10:32:11 +00:00
5150ca586b
update file header 2024-10-18 10:32:06 +00:00
10cc89feac
scripts/exec_wrapper.py: ensure loading of mmgen mods from overlay 2024-08-26 13:47:02 +00:00
fe205bdda3
whitespace, cleanup 2024-04-09 10:16:05 +00:00
cf2e308713
cmdtest.py: suppress traceback with expected non-zero exit val 2024-03-08 14:13:23 +00:00
2d89d6c920
various fixes and cleanups 2024-02-28 09:26:31 +00:00
de346d1470
minor fixes and cleanups 2024-02-24 14:17:31 +00:00
79f1bac97f
main.py, exec_wrapper.py: improve error output 2024-02-22 12:48:14 +00:00
cb8b697fe2
cmdtest autosign: squelch runtime msg for signing thread 2024-02-22 12:48:13 +00:00
ab71e8581d
various Python 3.9 changes 2024-02-10 15:10:43 +00:00
8e46932475
update copyright dates 2024-01-19 11:05:10 +00:00
48636ff2e0
update headers: mmgen -> mmgen-wallet 2023-11-17 13:35:42 +00:00
653827c15e
test suite: minor fixes and cleanups 2023-10-13 09:51:14 +00:00
6a21044127
test suite: improve initialization of sys.path and repo_root 2023-10-13 09:51:14 +00:00
60ce46c768
test rename: test.py -> cmdtest.py 2023-10-13 09:51:14 +00:00
9a8f6216f7
pylint (test suite) - f-strings 2023-10-11 12:58:52 +00:00
01430166e5
whitespace, comments, docstrings (test suite) 2023-10-11 12:58:51 +00:00
ae533adb3a
test suite: exception handling fixes 2023-10-04 13:58:40 +00:00
31390cfa33
exec_wrapper.py: sys.path fixup for test scripts 2023-10-03 14:27:55 +00:00
6c249dec5b
load dev tools only when MMGEN_DEVTOOLS env var is set 2023-09-30 15:36:41 +00:00
f720b8e48e
test suite: prune sys.path, set PYTHONPATH to overlay root
- when running scripts under the exec wrapper, ensure that directories in
  `sys.path` contain no potentially importable names not present in the
  production environment
2023-09-29 12:24:22 +00:00
6a84ade2c7
exec_wrapper.py, test_init.py: minor cleanups 2023-09-29 12:24:22 +00:00
f9ee86a98a
test.py, exec_wrapper.py: improve error handling 2023-09-29 12:24:22 +00:00
a0ffe37a58
test.py: log, error filename cleanups 2023-09-29 12:24:21 +00:00
c0cfbdbb32
scripts/exec_wrapper.py: variable renames 2023-09-29 12:24:21 +00:00
31a6e62a24
test suite: sys.path, overlay, PYTHONPATH cleanups 2023-09-26 10:23:40 +00:00
19dc7eac26
minor fixes and cleanups 2023-05-23 12:12:32 +00:00
f1b427fd9c
scripts/exec_wrapper.py: sys -> exec_wrapper_sys 2023-04-04 16:04:12 +00:00
78e882143c
whitespace, cleanups, imports throughout [73 files changed] 2023-03-27 10:49:04 +00:00
9a1ea34309
initialize developer tools via builtins; add test 2022-10-20 18:14:15 +00:00
c3dbd720c6
minor fixes and changes 2022-10-20 18:14:14 +00:00
9888fe4c65
util.py: relocate lesser-used functions to util2.py 2022-10-17 18:37:22 +00:00
6653cff8b0
Python 3.7, 3.8 compatibility fix 2022-08-16 20:35:49 +00:00
3f2acde7a8
test suite: minor changes and cleanups 2022-08-04 13:44:31 +00:00
1db6076410
scripts/exec_wrapper.py: improve traceback handling
- new environment var: EXEC_WRAPPER_TRACEBACK
2022-07-29 16:45:31 +00:00
401744bf88
minor fixes and cleanups 2022-07-27 17:08:59 +00:00
fc87dcf0ba
fixes and cleanups throughout 2022-02-07 21:08:08 +00:00
71d7986391
minor fixes and cleanups 2022-02-06 13:28:44 +00:00
41376eb515
new MMGenSystemExit exception; remove rdie(), ydie() 2022-02-05 13:32:56 +00:00
d30fbba837
environment var rename: MMGEN_TRACEBACK -> MMGEN_EXEC_WRAPPER 2022-02-05 13:32:55 +00:00
d6872ddb87
fixes and cleanups throughout 2022-02-03 20:40:42 +00:00
2305efc39d
scripts/exec_wrapper.py: add tracemalloc support
- support is activated by setting the MMGEN_TRACEMALLOC environment variable
2022-01-24 19:30:12 +00:00
0880229e94
use open() strictly as context manager 2022-01-06 20:24:21 +00:00
554670b713
overlay_setup(): use passed value of repo_root 2021-10-05 11:57:34 +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