Lint the entire MMGen Wallet code base, including test suite:
# Install pylint:
$ python3 -m pip install pylint
# Perform the check:
$ test/test-release.sh lint
The check should complete without error when running Python v3.9 or greater,
provided all required Python dependencies described in Test-Suite.md, including
altcoin dependencies, are installed.
This patch eliminates the global configuration variables `opt` and `g`, making
all functions and class instances locally configurable. Configuration data is
passed to functions and constructors via the `cfg` parameter and made available
to methods in `self.cfg`.
Local configuration free from dependence on the command line will enable the
creation of multiple, independently configured instances of MMGen’s data
objects within a single process.
Potential applications include testing (tracking wallets configured to interact
with spawned processes, for example) and the use of MMGen as a library for
other projects.
This patch completes most of the work required to enable the API. The full
implementation will appear in a forthcoming commit.
- The attributes of GlobalConstants are non-configurable. They’re constant
for a given machine, user, executable and MMGen release.
- The attributes of GlobalVars, `stderr` and `stdout`, are used by the test
suite to redirect msg() and friends to /dev/null.
- All the aforementioned attributes formerly belonged to GlobalConfig.