From 3f16355e18cdceb37828a00a8181d9cc60815cd0 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Mon, 24 Sep 2012 14:51:36 -0400 Subject: fixed tests for pylint changes --- testsuite/Testsrc/testmisc.py | 178 ------------------------------------------ 1 file changed, 178 deletions(-) delete mode 100644 testsuite/Testsrc/testmisc.py (limited to 'testsuite/Testsrc/testmisc.py') diff --git a/testsuite/Testsrc/testmisc.py b/testsuite/Testsrc/testmisc.py deleted file mode 100644 index 41a91caff..000000000 --- a/testsuite/Testsrc/testmisc.py +++ /dev/null @@ -1,178 +0,0 @@ -import os -import re -import sys -import glob -from subprocess import Popen, PIPE, STDOUT - -# add all parent testsuite directories to sys.path to allow (most) -# relative imports in python 2.4 -_path = os.path.dirname(__file__) -while _path != '/': - if os.path.basename(_path).lower().startswith("test"): - sys.path.append(_path) - if os.path.basename(_path) == "testsuite": - break - _path = os.path.dirname(_path) -from common import can_skip, skip, skipIf, skipUnless, Bcfg2TestCase - -try: - import django - HAS_DJANGO = True -except ImportError: - HAS_DJANGO = False - -# path to Bcfg2 src directory -srcpath = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", - "src")) - -# path to pylint rc file -rcfile = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", - "pylintrc.conf")) - -# test for pylint existence -try: - Popen(['pylint'], stdout=PIPE, stderr=STDOUT).wait() - HAS_PYLINT = True -except OSError: - HAS_PYLINT = False - - -# perform a full range of code checks on the listed files. -full_checks = { - "lib/Bcfg2/Server": ["Lint", - "Plugin", - "BuiltinCore.py", - "CherryPyCore.py", - "Core.py"], - "lib/Bcfg2/Server/Plugins": ["Bundler.py", - "Bzr.py", - "Cfg", - "Cvs.py", - "DBStats.py", - "Darcs.py", - "Defaults.py", - "FileProbes.py", - "Fossil.py", - "Git.py", - "GroupPatterns.py", - "Guppy.py", - "Hg.py", - "Ohai.py", - "Packages", - "Probes.py", - "Properties.py", - "PuppetENC.py", - "Rules.py", - "SEModules.py", - "ServiceCompat.py", - "Svn.py", - "Svn2.py", - "TemplateHelper.py", - "Trigger.py", - ], - "lib/Bcfg2/Client/Tools": ["POSIX"], - } - -# perform full code checks on the listed executables -sbin_checks = { - "sbin": ["bcfg2-server", "bcfg2-yum-helper"] - } - -# perform limited, django-safe checks on the listed files -django_checks = { - "lib/Bcfg2/Server": ["Reports", "models.py"] - } - -# perform no checks at all on the listed files -no_checks = { - "lib/Bcfg2/Client/Tools": ["APT.py", "RPMng.py", "rpmtools.py"], - "lib/Bcfg2/Server": ["Snapshots", "Hostbase"] - } - - -class TestPylint(Bcfg2TestCase): - pylint_cmd = ["pylint", "--rcfile", rcfile] - - # regex to find errors and fatal errors - error_re = re.compile(r':\d+:\s+\[[EF]\d{4}') - - # build the blacklist - blacklist = [] - for parent, modules in no_checks.items(): - blacklist.extend([os.path.join(srcpath, parent, m) for m in modules]) - - def _get_paths(self, pathlist): - paths = [] - for parent, modules in pathlist.items(): - paths.extend([os.path.join(srcpath, parent, m) for m in modules]) - return list(set(paths) - set(self.blacklist)) - - @skipIf(not os.path.exists(srcpath), "%s does not exist" % srcpath) - @skipIf(not os.path.exists(rcfile), "%s does not exist" % rcfile) - @skipUnless(HAS_PYLINT, "pylint not found, skipping") - def test_lib_full(self): - self._pylint_full(self._get_paths(full_checks)) - - @skipIf(not os.path.exists(srcpath), "%s does not exist" % srcpath) - @skipIf(not os.path.exists(rcfile), "%s does not exist" % rcfile) - @skipUnless(HAS_PYLINT, "pylint not found, skipping") - def test_sbin_full(self): - self._pylint_full(self._get_paths(sbin_checks), - extra_args=["--module-rgx", - "[a-z_-][a-z0-9_-]*$"]) - - def _pylint_full(self, paths, extra_args=None): - """ test select files for all pylint errors """ - if extra_args is None: - extra_args = [] - args = self.pylint_cmd + extra_args + \ - ["-f", "parseable"] + \ - [os.path.join(srcpath, p) for p in paths] - pylint = Popen(args, stdout=PIPE, stderr=STDOUT) - print(pylint.communicate()[0]) - self.assertEqual(pylint.wait(), 0) - - @skipIf(not os.path.exists(srcpath), "%s does not exist" % srcpath) - @skipIf(not os.path.exists(rcfile), "%s does not exist" % rcfile) - @skipUnless(HAS_PYLINT, "pylint not found, skipping") - def test_sbin_errors(self): - flist = list(set(os.path.join(srcpath, p) - for p in glob.glob("sbin/*")) - set(self.blacklist)) - return self._pylint_errors(flist) - - @skipUnless(HAS_DJANGO, "Django not found, skipping") - @skipIf(not os.path.exists(srcpath), "%s does not exist" % srcpath) - @skipIf(not os.path.exists(rcfile), "%s does not exist" % rcfile) - @skipUnless(HAS_PYLINT, "pylint not found, skipping") - def test_django_errors(self): - return self._pylint_errors(self._get_paths(django_checks), - extra_args=["-d", "E1101"]) - - @skipIf(not os.path.exists(srcpath), "%s does not exist" % srcpath) - @skipIf(not os.path.exists(rcfile), "%s does not exist" % rcfile) - @skipUnless(HAS_PYLINT, "pylint not found, skipping") - def test_lib_errors(self): - ignore = [] - for fname_list in django_checks.values() + no_checks.values(): - ignore.extend(fname_list) - return self._pylint_errors(["lib/Bcfg2"], - extra_args=["--ignore", ",".join(ignore)]) - - def _pylint_errors(self, paths, extra_args=None): - """ test all files for fatals and errors """ - if extra_args is None: - extra_args = [] - args = self.pylint_cmd + extra_args + \ - ["-f", "parseable", "-d", "R0801,E1103"] + \ - [os.path.join(srcpath, p) for p in paths] - pylint = Popen(args, stdout=PIPE, stderr=STDOUT) - output = pylint.communicate()[0] - rv = pylint.wait() - - for line in output.splitlines(): - #print line - if self.error_re.search(line): - print(line) - # pylint returns a bitmask, where 1 means fatal errors - # were encountered and 2 means errors were encountered. - self.assertEqual(rv & 3, 0) -- cgit v1.2.3-1-g7c22