summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>2009-09-04 22:59:31 +0000
committerArfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>2009-09-04 22:59:31 +0000
commitca458cbd529508c1cd88808b566a9b508de61142 (patch)
tree638e6f4035cf33855492550cb2617c5613785cfd /dev-python
parentadd x11-base/xorg-drivers meta ebuild from the x11 overlay (diff)
downloadgentoo-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/ChangeLog6
-rw-r--r--dev-python/pylint/files/pylint-0.18.1-utils.py.patch158
-rw-r--r--dev-python/pylint/pylint-0.18.1.ebuild11
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"