Browse Source

Check the MMGen Node Tools with the pylint static code analyzer:

    # Install pylint:
    $ python3 -m pip install pylint

    # Perform the check:
    $ test/test-release.sh lint

The linting operation should complete without error if running Python v3.9 or
greater.
The MMGen Project 6 months ago
parent
commit
ada2cecada
4 changed files with 36 additions and 6 deletions
  1. 1 1
      mmgen_node_tools/data/version
  2. 22 0
      pyproject.toml
  3. 1 1
      setup.cfg
  4. 12 4
      test/test-release.d/cfg.sh

+ 1 - 1
mmgen_node_tools/data/version

@@ -1 +1 @@
-3.2.dev2
+3.2.dev3

+ 22 - 0
pyproject.toml

@@ -4,3 +4,25 @@ requires = [
     "wheel"
 ]
 build-backend = "setuptools.build_meta"
+
+[tool.pylint.format]
+indent-string = "\t"
+indent-after-paren = 2
+max-line-length = 110
+
+[tool.pylint.main]
+py-version = "3.7"
+recursive = true
+jobs = 0
+
+[tool.pylint."messages control"]
+ignored-modules = [
+	"mmgen.term",
+	"mmgen.color",
+]
+ignored-classes = [
+	"mmgen_node_tools.Ticker.Ticker.base",
+	"mmgen_node_tools.Ticker.DataSource.base",
+	"mmgen_node_tools.PeerBlocks.Display",
+	"mmgen_node_tools.PollDisplay.PollDisplay",
+]

+ 1 - 1
setup.cfg

@@ -23,7 +23,7 @@ python_requires = >=3.7
 include_package_data = True
 
 install_requires =
-	mmgen>=14.0.dev6
+	mmgen>=14.0.dev9
 	pyyaml
 	yahooquery
 

+ 12 - 4
test/test-release.d/cfg.sh

@@ -18,7 +18,7 @@
 #  mmnode-ticker              OK
 #  mmnode-txfind              -
 
-all_tests='unit misc scripts btc btc_rt bch_rt ltc_rt'
+all_tests='unit lint misc scripts btc btc_rt bch_rt ltc_rt'
 
 groups_desc="
 	default  - All tests minus the extra tests
@@ -29,14 +29,22 @@ groups_desc="
 "
 
 init_groups() {
-	dfl_tests=$all_tests
-	extra_tests=''
+	dfl_tests='unit misc scripts btc btc_rt bch_rt ltc_rt'
+	extra_tests='lint'
 	noalt_tests='unit misc scripts btc btc_rt'
 	quick_tests='unit misc scripts btc btc_rt'
-	qskip_tests='bch_rt ltc_rt'
+	qskip_tests='lint bch_rt ltc_rt'
 }
 
 init_tests() {
+
+	d_lint="code errors with static code analyzer"
+	t_lint="
+		- $pylint --errors-only mmgen_node_tools
+		- $pylint --errors-only test
+		- $pylint --errors-only --disable=relative-beyond-top-level test/cmdtest_py_d
+	"
+
 	d_unit="low-level subsystems"
 	t_unit="- $unit_tests_py"