Module: check_mk
Branch: master
Commit: a44212ecab13bd07e42dbf7743a1ec3e0fa546a3
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=a44212ecab13bd…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Jul 13 08:41:04 2018 +0200
Simplified pylint execution
test_pylint_web is now simply invoking a single pylint call on
web/app/index.wsgi, cmk/gui, enterprise/cmk/gui/cee and managed/cmk/gui/cme
Change-Id: I4581f21737070fce232fa8603624b907ee01c9c3
---
tests/pylint/test_pylint_web.py | 72 ++---------------------------------------
tests/testlib/pylint_cmk.py | 7 ++--
2 files changed, 7 insertions(+), 72 deletions(-)
diff --git a/tests/pylint/test_pylint_web.py b/tests/pylint/test_pylint_web.py
index bd3eed1..4859fa6 100755
--- a/tests/pylint/test_pylint_web.py
+++ b/tests/pylint/test_pylint_web.py
@@ -1,75 +1,9 @@
#!/usr/bin/python
# encoding: utf-8
-import os
-import sys
-import glob
-import tempfile
-
-from testlib import cmk_path, cmc_path, cme_path
+from testlib import cmk_path
import testlib.pylint_cmk as pylint_cmk
-def get_web_plugin_dirs():
- plugin_dirs = sorted(list(set(os.listdir(cmk_path() + "/web/plugins")
- + os.listdir(cmc_path() + "/web/plugins")
- + os.listdir(cme_path() + "/web/plugins"))))
- return plugin_dirs
-
-
-def get_plugin_files(plugin_dir):
- files = []
-
- for path in [ cmk_path() + "/web/plugins/" + plugin_dir,
- cmc_path() + "/web/plugins/" + plugin_dir,
- cme_path() + "/web/plugins/" + plugin_dir ]:
- if os.path.exists(path):
- files += [ (f, path) for f in os.listdir(path) ]
-
- return sorted(files)
-
-
-def test_pylint_web(pylint_test_dir):
- # Make compiled files import eachother by default
- sys.path.insert(0, pylint_test_dir)
-
- # Move the whole plugins code to their modules, then
- # run pylint only on the modules
- for plugin_dir in get_web_plugin_dirs():
- files = get_plugin_files(plugin_dir)
-
- for plugin_file, plugin_base in files:
- plugin_path = plugin_base +"/"+plugin_file
-
- if plugin_file.startswith('.'):
- continue
- elif plugin_dir in ["icons","perfometer"]:
- module_name = "views"
- elif plugin_dir == "pages":
- module_name = "modules"
- else:
- module_name = plugin_dir
-
- module_path = pylint_test_dir + "/" + module_name +
".py"
-
- # In case a module has already been moved to cmk.gui and there are plugins
- # that have not been moved yet get the main module code from cmk.gui
- if not os.path.exists(module_path):
- module = file(module_path, "a")
-
- if os.path.exists(cmk_path() + "/cmk/gui/" + module_name +
".py"):
- module_main_path = cmk_path() + "/cmk/gui/" + module_name +
".py"
- elif os.path.exists(cmk_path() + "/cmk/gui/cee/" + module_name
+ ".py"):
- module_main_path = cmk_path() + "/cmk/gui/cee/" +
module_name + ".py"
- elif os.path.exists(cmk_path() + "/cmk/gui/cme/" + module_name
+ ".py"):
- module_main_path = cmk_path() + "/cmk/gui/cme/" +
module_name + ".py"
- else:
- raise Exception()
-
- pylint_cmk.add_file(module, module_main_path)
-
- print("[%s] add %s" % (module_name, plugin_path))
- with open(module_path, "a") as module:
- pylint_cmk.add_file(module, plugin_path)
-
- exit_code = pylint_cmk.run_pylint(pylint_test_dir)
+def test_pylint_web():
+ exit_code = pylint_cmk.run_pylint(cmk_path(), ["web/app/index.wsgi",
"cmk/gui", "enterprise/cmk/gui/cee",
"managed/cmk/gui/cme"])
assert exit_code == 0, "PyLint found an error in the web code"
diff --git a/tests/testlib/pylint_cmk.py b/tests/testlib/pylint_cmk.py
index 486bcaf..d3704fc 100644
--- a/tests/testlib/pylint_cmk.py
+++ b/tests/testlib/pylint_cmk.py
@@ -47,10 +47,11 @@ def run_pylint(base_path, check_files=None): #,
cleanup_test_dir=False):
pylint_cfg = repo_path() + "/pylintrc"
- check_files = get_pylint_files(base_path, "*")
if not check_files:
- print "Nothing to do..."
- return 0 # nothing to do
+ check_files = get_pylint_files(base_path, "*")
+ if not check_files:
+ print "Nothing to do..."
+ return 0 # nothing to do
cmd = [
"python", "-m", "pylint",