diff options
author | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2009-09-04 22:59:31 +0000 |
---|---|---|
committer | Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> | 2009-09-04 22:59:31 +0000 |
commit | ca458cbd529508c1cd88808b566a9b508de61142 (patch) | |
tree | 638e6f4035cf33855492550cb2617c5613785cfd /dev-python | |
parent | add x11-base/xorg-drivers meta ebuild from the x11 overlay (diff) | |
download | gentoo-2-ca458cbd529508c1cd88808b566a9b508de61142.tar.gz gentoo-2-ca458cbd529508c1cd88808b566a9b508de61142.tar.bz2 gentoo-2-ca458cbd529508c1cd88808b566a9b508de61142.zip |
Fix tests.
(Portage version: 14182-svn/cvs/Linux x86_64)
Diffstat (limited to 'dev-python')
-rw-r--r-- | dev-python/pylint/ChangeLog | 6 | ||||
-rw-r--r-- | dev-python/pylint/files/pylint-0.18.1-utils.py.patch | 158 | ||||
-rw-r--r-- | dev-python/pylint/pylint-0.18.1.ebuild | 11 |
3 files changed, 172 insertions, 3 deletions
diff --git a/dev-python/pylint/ChangeLog b/dev-python/pylint/ChangeLog index 7c6b5ec1cbaa..013a49175e26 100644 --- a/dev-python/pylint/ChangeLog +++ b/dev-python/pylint/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-python/pylint # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/pylint/ChangeLog,v 1.50 2009/09/04 20:15:35 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/pylint/ChangeLog,v 1.51 2009/09/04 22:59:31 arfrever Exp $ + + 04 Sep 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> + pylint-0.18.1.ebuild, +files/pylint-0.18.1-utils.py.patch: + Fix tests. *pylint-0.18.1 (04 Sep 2009) diff --git a/dev-python/pylint/files/pylint-0.18.1-utils.py.patch b/dev-python/pylint/files/pylint-0.18.1-utils.py.patch new file mode 100644 index 000000000000..d5980b2077f6 --- /dev/null +++ b/dev-python/pylint/files/pylint-0.18.1-utils.py.patch @@ -0,0 +1,158 @@ +test/utils.py from dev-python/pylint-0.18.0. + +--- test/utils.py ++++ test/utils.py +@@ -0,0 +1,153 @@ ++"""some pylint test utilities ++""" ++from glob import glob ++from os.path import join, abspath, dirname, basename, exists ++from cStringIO import StringIO ++ ++from pylint.interfaces import IReporter ++from pylint.reporters import BaseReporter ++ ++PREFIX = abspath(dirname(__file__)) ++ ++def fix_path(): ++ import sys ++ sys.path.insert(0, PREFIX) ++ ++import sys ++MSGPREFIXES = ['2.%s_'%i for i in range(5, 2, -1) if i <= sys.version_info[1]] ++MSGPREFIXES.append('') ++ ++def get_tests_info(prefix=None, suffix=None, inputdir='input', msgdir='messages'): ++ pattern = '*' ++ if prefix: ++ pattern = prefix + pattern ++ if suffix: ++ pattern = pattern + suffix ++ result = [] ++ for file in glob(join(PREFIX, inputdir, pattern)): ++ infile = basename(file) ++ for msgprefix in MSGPREFIXES: ++ outfile = join(PREFIX, msgdir, msgprefix + infile.replace(suffix, '.txt')) ++ if exists(outfile): ++ break ++ result.append((infile, outfile)) ++ return result ++ ++ ++TITLE_UNDERLINES = ['', '=', '-', '.'] ++ ++class TestReporter(BaseReporter): ++ """ store plain text messages ++ """ ++ ++ __implements____ = IReporter ++ ++ def __init__(self): ++ self.message_ids = {} ++ self.reset() ++ ++ def reset(self): ++ self.out = StringIO() ++ self.messages = [] ++ ++ def add_message(self, msg_id, location, msg): ++ """manage message of different type and in the context of path """ ++ fpath, module, object, line = location ++ self.message_ids[msg_id] = 1 ++ if object: ++ object = ':%s' % object ++ sigle = msg_id[0] ++ self.messages.append('%s:%3s%s: %s' % (sigle, line, object, msg)) ++ ++ def finalize(self): ++ self.messages.sort() ++ for msg in self.messages: ++ print >>self.out, msg ++ result = self.out.getvalue() ++ self.reset() ++ return result ++ ++ def display_results(self, layout): ++ """ignore layouts""" ++ ++ ++# # # # # pyreverse unittest utilities # # # # # # ++ ++ ++import unittest ++import os ++import sys ++from os.path import join ++ ++from logilab.astng import MANAGER ++ ++ ++ ++def _astng_wrapper(func, modname): ++ return func(modname) ++ ++ ++def _sorted_file(path): ++ lines = [line.strip() for line in open(path).readlines() ++ if (line.find('squeleton generated by ') == -1 and ++ not line.startswith('__revision__ = "$Id:'))] ++ lines = [line for line in lines if line] ++ lines.sort() ++ return '\n'.join(lines) ++ ++def get_project(module, name=None): ++ """return a astng project representation ++ """ ++ manager = MANAGER ++ # flush cache ++ manager._modules_by_name = {} ++ return manager.project_from_files([module], _astng_wrapper, ++ project_name=name) ++ ++DEFAULTS = {'all_ancestors': None, 'show_associated': None, ++ 'module_names': None, ++ 'output_format': 'dot', 'diadefs_file': None, 'quiet': 0, ++ 'show_ancestors': None, 'classes': (), 'all_associated': None, ++ 'mode': 'PUB_ONLY', 'show_builtin': False, 'only_classnames': False} ++ ++class Config(object): ++ """config object for tests""" ++ def __init__(self): ++ for attr, value in DEFAULTS.items(): ++ setattr(self, attr, value) ++ ++class FileTC(unittest.TestCase): ++ """base test case for testing file output""" ++ ++ generated_files = () ++ ++ def setUp(self): ++ self.expected_files = [join('data', file) ++ for file in self.generated_files] ++ ++ def tearDown(self): ++ for fname in self.generated_files: ++ try: ++ os.remove(fname) ++ except: ++ continue ++ ++ def _test_same_file(self, index): ++ generated_file = self.generated_files[index] ++ expected_file = self.expected_files[index] ++ generated = _sorted_file(generated_file) ++ expected = _sorted_file(expected_file) ++ ++ from difflib import unified_diff ++ files = "\n *** expected : %s, generated : %s \n" % ( ++ expected_file, generated_file) ++ self.assertEqual(expected, generated, '%s%s' % ( ++ files, '\n'.join(line for line in unified_diff( ++ expected.splitlines(), generated.splitlines() ))) ) ++ os.remove(generated_file) ++ ++ ++def build_file_case(filetc): ++ for i in range(len(filetc.generated_files)): ++ setattr(filetc, 'test_same_file_%s' %i, ++ lambda self, index=i: self._test_same_file(index)) diff --git a/dev-python/pylint/pylint-0.18.1.ebuild b/dev-python/pylint/pylint-0.18.1.ebuild index 351747afe33c..923dec93c3c7 100644 --- a/dev-python/pylint/pylint-0.18.1.ebuild +++ b/dev-python/pylint/pylint-0.18.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/pylint/pylint-0.18.1.ebuild,v 1.1 2009/09/04 20:15:35 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/pylint/pylint-0.18.1.ebuild,v 1.2 2009/09/04 22:59:31 arfrever Exp $ EAPI="2" SUPPORT_PYTHON_ABIS="1" @@ -20,8 +20,13 @@ DEPEND=">=dev-python/logilab-common-0.38 >=dev-python/astng-0.19.0" RDEPEND="${DEPEND} dev-lang/python[tk?]" +RESTRICT_PYTHON_ABIS="3.*" -RESTRICT_PYTHON_ABIS="3*" +src_prepare() { + distutils_src_prepare + + epatch "${FILESDIR}/${P}-utils.py.patch" +} src_test() { testing() { @@ -74,6 +79,8 @@ src_install() { } pkg_postinst() { + distutils_pkg_postinst + if ! built_with_use dev-lang/python tk; then ewarn "dev-lang/python has been built without tk support," ewarn "${PN}-gui doesn't work without Tkinter so if you really need it" |