kitchen/debian/patches/remove_compat_layers

419 lines
18 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 613271973b9fc62cbfce188b5d60157d695a572b Mon Sep 17 00:00:00 2001
From: Simon Chopin <chopin.simon@gmail.com>
Date: Thu, 8 Oct 2015 09:26:23 -0700
Subject: Remove the pycompat* submodules
Those are not needed in Debian as we already ship the latest runtime version.
Forwarded: not-needed
Last-Update: 2013-04-30
Patch-Name: remove_compat_layers
---
kitchen/text/converters.py | 2 -
kitchen/text/misc.py | 3 -
setup.py | 2 +-
tests/test__all__.py | 2 -
tests/test_base64.py | 190 ---------------------------------------------
tests/test_pycompat.py | 25 ------
tests/test_pycompat24.py | 109 --------------------------
7 files changed, 1 insertion(+), 332 deletions(-)
delete mode 100644 tests/test_base64.py
delete mode 100644 tests/test_pycompat.py
delete mode 100644 tests/test_pycompat24.py
diff --git a/kitchen/text/converters.py b/kitchen/text/converters.py
index 8b5aac6..0eb57b4 100644
--- a/kitchen/text/converters.py
+++ b/kitchen/text/converters.py
@@ -53,8 +53,6 @@ import xml.sax.saxutils
# We need to access b_() for localizing our strings but we'll end up with
# a circular import if we import it directly.
import kitchen as k
-from kitchen.pycompat24 import sets
-sets.add_builtin_set()
from kitchen.text.exceptions import ControlCharError, XmlEncodeError
from kitchen.text.misc import guess_encoding, html_entities_unescape, \
diff --git a/kitchen/text/misc.py b/kitchen/text/misc.py
index ca1be44..305ebfb 100644
--- a/kitchen/text/misc.py
+++ b/kitchen/text/misc.py
@@ -40,11 +40,8 @@ except ImportError:
# We need to access b_() for localizing our strings but we'll end up with
# a circular import if we import it directly.
import kitchen as k
-from kitchen.pycompat24 import sets
from kitchen.text.exceptions import ControlCharError
-sets.add_builtin_set()
-
# Define a threshold for chardet confidence. If we fall below this we decode
# byte strings we're guessing about as latin1
_CHARDET_THRESHHOLD = 0.6
diff --git a/setup.py b/setup.py
index 238af78..914f61c 100755
--- a/setup.py
+++ b/setup.py
@@ -52,6 +52,6 @@ setup(name='kitchen',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Text Processing :: General',
],
- packages=find_packages(),
+ packages=find_packages(exclude=['*pycompat*']),
data_files=[],
)
diff --git a/tests/test__all__.py b/tests/test__all__.py
index 9f58f7a..a0be25d 100644
--- a/tests/test__all__.py
+++ b/tests/test__all__.py
@@ -4,8 +4,6 @@ from nose import tools
import os
import types
import warnings
-from kitchen.pycompat24.sets import add_builtin_set
-add_builtin_set()
def logit(msg):
log = open('/var/tmp/test.log', 'a')
diff --git a/tests/test_base64.py b/tests/test_base64.py
deleted file mode 100644
index bdb388d..0000000
--- a/tests/test_base64.py
+++ /dev/null
@@ -1,190 +0,0 @@
-import unittest
-from test import test_support
-from kitchen.pycompat24.base64 import _base64 as base64
-
-
-
-class LegacyBase64TestCase(unittest.TestCase):
- def test_encodestring(self):
- eq = self.assertEqual
- eq(base64.encodestring("www.python.org"), "d3d3LnB5dGhvbi5vcmc=\n")
- eq(base64.encodestring("a"), "YQ==\n")
- eq(base64.encodestring("ab"), "YWI=\n")
- eq(base64.encodestring("abc"), "YWJj\n")
- eq(base64.encodestring(""), "")
- eq(base64.encodestring("abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "0123456789!@#0^&*();:<>,. []{}"),
- "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
- "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT"
- "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n")
-
- def test_decodestring(self):
- eq = self.assertEqual
- eq(base64.decodestring("d3d3LnB5dGhvbi5vcmc=\n"), "www.python.org")
- eq(base64.decodestring("YQ==\n"), "a")
- eq(base64.decodestring("YWI=\n"), "ab")
- eq(base64.decodestring("YWJj\n"), "abc")
- eq(base64.decodestring("YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
- "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT"
- "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n"),
- "abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "0123456789!@#0^&*();:<>,. []{}")
- eq(base64.decodestring(''), '')
-
- def test_encode(self):
- eq = self.assertEqual
- from cStringIO import StringIO
- infp = StringIO('abcdefghijklmnopqrstuvwxyz'
- 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- '0123456789!@#0^&*();:<>,. []{}')
- outfp = StringIO()
- base64.encode(infp, outfp)
- eq(outfp.getvalue(),
- 'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE'
- 'RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT'
- 'Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n')
-
- def test_decode(self):
- from cStringIO import StringIO
- infp = StringIO('d3d3LnB5dGhvbi5vcmc=')
- outfp = StringIO()
- base64.decode(infp, outfp)
- self.assertEqual(outfp.getvalue(), 'www.python.org')
-
-
-
-class BaseXYTestCase(unittest.TestCase):
- def test_b64encode(self):
- eq = self.assertEqual
- # Test default alphabet
- eq(base64.b64encode("www.python.org"), "d3d3LnB5dGhvbi5vcmc=")
- eq(base64.b64encode('\x00'), 'AA==')
- eq(base64.b64encode("a"), "YQ==")
- eq(base64.b64encode("ab"), "YWI=")
- eq(base64.b64encode("abc"), "YWJj")
- eq(base64.b64encode(""), "")
- eq(base64.b64encode("abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "0123456789!@#0^&*();:<>,. []{}"),
- "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
- "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NT"
- "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==")
- # Test with arbitrary alternative characters
- eq(base64.b64encode('\xd3V\xbeo\xf7\x1d', altchars='*$'), '01a*b$cd')
- # Test standard alphabet
- eq(base64.standard_b64encode("www.python.org"), "d3d3LnB5dGhvbi5vcmc=")
- eq(base64.standard_b64encode("a"), "YQ==")
- eq(base64.standard_b64encode("ab"), "YWI=")
- eq(base64.standard_b64encode("abc"), "YWJj")
- eq(base64.standard_b64encode(""), "")
- eq(base64.standard_b64encode("abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "0123456789!@#0^&*();:<>,. []{}"),
- "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
- "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NT"
- "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==")
- # Test with 'URL safe' alternative characters
- eq(base64.urlsafe_b64encode('\xd3V\xbeo\xf7\x1d'), '01a-b_cd')
-
- def test_b64decode(self):
- eq = self.assertEqual
- eq(base64.b64decode("d3d3LnB5dGhvbi5vcmc="), "www.python.org")
- eq(base64.b64decode('AA=='), '\x00')
- eq(base64.b64decode("YQ=="), "a")
- eq(base64.b64decode("YWI="), "ab")
- eq(base64.b64decode("YWJj"), "abc")
- eq(base64.b64decode("YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
- "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT"
- "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ=="),
- "abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "0123456789!@#0^&*();:<>,. []{}")
- eq(base64.b64decode(''), '')
- # Test with arbitrary alternative characters
- eq(base64.b64decode('01a*b$cd', altchars='*$'), '\xd3V\xbeo\xf7\x1d')
- # Test standard alphabet
- eq(base64.standard_b64decode("d3d3LnB5dGhvbi5vcmc="), "www.python.org")
- eq(base64.standard_b64decode("YQ=="), "a")
- eq(base64.standard_b64decode("YWI="), "ab")
- eq(base64.standard_b64decode("YWJj"), "abc")
- eq(base64.standard_b64decode(""), "")
- eq(base64.standard_b64decode("YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
- "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NT"
- "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ=="),
- "abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "0123456789!@#0^&*();:<>,. []{}")
- # Test with 'URL safe' alternative characters
- eq(base64.urlsafe_b64decode('01a-b_cd'), '\xd3V\xbeo\xf7\x1d')
-
- def test_b64decode_error(self):
- self.assertRaises(TypeError, base64.b64decode, 'abc')
-
- def test_b32encode(self):
- eq = self.assertEqual
- eq(base64.b32encode(''), '')
- eq(base64.b32encode('\x00'), 'AA======')
- eq(base64.b32encode('a'), 'ME======')
- eq(base64.b32encode('ab'), 'MFRA====')
- eq(base64.b32encode('abc'), 'MFRGG===')
- eq(base64.b32encode('abcd'), 'MFRGGZA=')
- eq(base64.b32encode('abcde'), 'MFRGGZDF')
-
- def test_b32decode(self):
- eq = self.assertEqual
- eq(base64.b32decode(''), '')
- eq(base64.b32decode('AA======'), '\x00')
- eq(base64.b32decode('ME======'), 'a')
- eq(base64.b32decode('MFRA===='), 'ab')
- eq(base64.b32decode('MFRGG==='), 'abc')
- eq(base64.b32decode('MFRGGZA='), 'abcd')
- eq(base64.b32decode('MFRGGZDF'), 'abcde')
-
- def test_b32decode_casefold(self):
- eq = self.assertEqual
- eq(base64.b32decode('', True), '')
- eq(base64.b32decode('ME======', True), 'a')
- eq(base64.b32decode('MFRA====', True), 'ab')
- eq(base64.b32decode('MFRGG===', True), 'abc')
- eq(base64.b32decode('MFRGGZA=', True), 'abcd')
- eq(base64.b32decode('MFRGGZDF', True), 'abcde')
- # Lower cases
- eq(base64.b32decode('me======', True), 'a')
- eq(base64.b32decode('mfra====', True), 'ab')
- eq(base64.b32decode('mfrgg===', True), 'abc')
- eq(base64.b32decode('mfrggza=', True), 'abcd')
- eq(base64.b32decode('mfrggzdf', True), 'abcde')
- # Expected exceptions
- self.assertRaises(TypeError, base64.b32decode, 'me======')
- # Mapping zero and one
- eq(base64.b32decode('MLO23456'), 'b\xdd\xad\xf3\xbe')
- eq(base64.b32decode('M1023456', map01='L'), 'b\xdd\xad\xf3\xbe')
- eq(base64.b32decode('M1023456', map01='I'), 'b\x1d\xad\xf3\xbe')
-
- def test_b32decode_error(self):
- self.assertRaises(TypeError, base64.b32decode, 'abc')
- self.assertRaises(TypeError, base64.b32decode, 'ABCDEF==')
-
- def test_b16encode(self):
- eq = self.assertEqual
- eq(base64.b16encode('\x01\x02\xab\xcd\xef'), '0102ABCDEF')
- eq(base64.b16encode('\x00'), '00')
-
- def test_b16decode(self):
- eq = self.assertEqual
- eq(base64.b16decode('0102ABCDEF'), '\x01\x02\xab\xcd\xef')
- eq(base64.b16decode('00'), '\x00')
- # Lower case is not allowed without a flag
- self.assertRaises(TypeError, base64.b16decode, '0102abcdef')
- # Case fold
- eq(base64.b16decode('0102abcdef', True), '\x01\x02\xab\xcd\xef')
-
-
-
-#def test_main():
-# test_support.run_unittest(__name__)
-#
-#if __name__ == '__main__':
-# test_main()
diff --git a/tests/test_pycompat.py b/tests/test_pycompat.py
deleted file mode 100644
index 50a059b..0000000
--- a/tests/test_pycompat.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-import unittest
-from nose import tools
-
-class TestUsableModules(unittest.TestCase):
- def test_subprocess(self):
- '''Test that importing subprocess as a module works
- '''
- try:
- from kitchen.pycompat24.subprocess import Popen
- except ImportError:
- tools.ok_(False, 'Unable to import pycompat24.subprocess as a module')
- try:
- from kitchen.pycompat27.subprocess import Popen
- except ImportError:
- tools.ok_(False, 'Unable to import pycompat27.subprocess as a module')
-
- def test_base64(self):
- '''Test that importing base64 as a module works
- '''
- try:
- from kitchen.pycompat24.base64 import b64encode
- except ImportError:
- tools.ok_(False, 'Unable to import pycompat24.base64 as a module')
diff --git a/tests/test_pycompat24.py b/tests/test_pycompat24.py
deleted file mode 100644
index adea7fe..0000000
--- a/tests/test_pycompat24.py
+++ /dev/null
@@ -1,109 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-import unittest
-from nose import tools
-from nose.plugins.skip import SkipTest
-
-import __builtin__
-import base64 as py_b64
-import warnings
-
-from kitchen.pycompat24 import sets
-from kitchen.pycompat24.base64 import _base64 as base64
-
-class TestSetsNoOverwrite(unittest.TestCase):
- def setUp(self):
- self.set_val = None
- self.frozenset_val = None
- if not hasattr(__builtin__, 'set'):
- __builtin__.set = self.set_val
- else:
- self.set_val = __builtin__.set
- if not hasattr(__builtin__, 'frozenset'):
- __builtin__.frozenset = self.frozenset_val
- else:
- self.frozenset_val = __builtin__.frozenset
-
- def tearDown(self):
- if self.frozenset_val == None:
- del(__builtin__.frozenset)
- if self.set_val == None:
- del(__builtin__.set)
-
- def test_sets_dont_overwrite(self):
- '''Test that importing sets when there's already a set and frozenset defined does not overwrite
- '''
- sets.add_builtin_set()
- tools.ok_(__builtin__.set == self.set_val)
- tools.ok_(__builtin__.frozenset == self.frozenset_val)
-
-class TestDefineSets(unittest.TestCase):
- def setUp(self):
- warnings.simplefilter('ignore', DeprecationWarning)
- self.set_val = None
- self.frozenset_val = None
- if hasattr(__builtin__, 'set'):
- self.set_val = __builtin__.set
- del(__builtin__.set)
- if hasattr(__builtin__, 'frozenset'):
- self.frozenset_val = __builtin__.frozenset
- del(__builtin__.frozenset)
-
- def tearDown(self):
- warnings.simplefilter('default', DeprecationWarning)
- if self.set_val:
- __builtin__.set = self.set_val
- else:
- del(__builtin__.set)
- if self.frozenset_val:
- __builtin__.frozenset = self.frozenset_val
- else:
- del(__builtin__.frozenset)
-
- def test_pycompat_defines_set(self):
- '''Test that calling pycompat24.add_builtin_set() adds set and frozenset to __builtin__
- '''
- import sets as py_sets
- sets.add_builtin_set()
- if self.set_val:
- tools.ok_(__builtin__.set == self.set_val)
- tools.ok_(__builtin__.frozenset == self.frozenset_val)
- else:
- tools.ok_(__builtin__.set == py_sets.Set)
- tools.ok_(__builtin__.frozenset == py_sets.ImmutableSet)
-
-class TestSubprocess(unittest.TestCase):
- pass
-
-class TestBase64(unittest.TestCase):
- b_byte_chars = ' '.join(map(chr, range(0, 256)))
- b_byte_encoded = 'ACABIAIgAyAEIAUgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiATIBQgFSAWIBcgGCAZIBogGyAcIB0gHiAfICAgISAiICMgJCAlICYgJyAoICkgKiArICwgLSAuIC8gMCAxIDIgMyA0IDUgNiA3IDggOSA6IDsgPCA9ID4gPyBAIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSIFMgVCBVIFYgVyBYIFkgWiBbIFwgXSBeIF8gYCBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHogeyB8IH0gfiB/IIAggSCCIIMghCCFIIYghyCIIIkgiiCLIIwgjSCOII8gkCCRIJIgkyCUIJUgliCXIJggmSCaIJsgnCCdIJ4gnyCgIKEgoiCjIKQgpSCmIKcgqCCpIKogqyCsIK0griCvILAgsSCyILMgtCC1ILYgtyC4ILkguiC7ILwgvSC+IL8gwCDBIMIgwyDEIMUgxiDHIMggySDKIMsgzCDNIM4gzyDQINEg0iDTINQg1SDWINcg2CDZINog2yDcIN0g3iDfIOAg4SDiIOMg5CDlIOYg5yDoIOkg6iDrIOwg7SDuIO8g8CDxIPIg8yD0IPUg9iD3IPgg+SD6IPsg/CD9IP4g/w=='
- b_byte_encoded_urlsafe = 'ACABIAIgAyAEIAUgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiATIBQgFSAWIBcgGCAZIBogGyAcIB0gHiAfICAgISAiICMgJCAlICYgJyAoICkgKiArICwgLSAuIC8gMCAxIDIgMyA0IDUgNiA3IDggOSA6IDsgPCA9ID4gPyBAIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSIFMgVCBVIFYgVyBYIFkgWiBbIFwgXSBeIF8gYCBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHogeyB8IH0gfiB_IIAggSCCIIMghCCFIIYghyCIIIkgiiCLIIwgjSCOII8gkCCRIJIgkyCUIJUgliCXIJggmSCaIJsgnCCdIJ4gnyCgIKEgoiCjIKQgpSCmIKcgqCCpIKogqyCsIK0griCvILAgsSCyILMgtCC1ILYgtyC4ILkguiC7ILwgvSC-IL8gwCDBIMIgwyDEIMUgxiDHIMggySDKIMsgzCDNIM4gzyDQINEg0iDTINQg1SDWINcg2CDZINog2yDcIN0g3iDfIOAg4SDiIOMg5CDlIOYg5yDoIOkg6iDrIOwg7SDuIO8g8CDxIPIg8yD0IPUg9iD3IPgg-SD6IPsg_CD9IP4g_w=='
-
- def test_base64_encode(self):
- tools.ok_(base64.b64encode(self.b_byte_chars) == self.b_byte_encoded)
- tools.ok_(base64.b64encode(self.b_byte_chars, altchars='-_') == self.b_byte_encoded_urlsafe)
- tools.ok_(base64.standard_b64encode(self.b_byte_chars) == self.b_byte_encoded)
- tools.ok_(base64.urlsafe_b64encode(self.b_byte_chars) == self.b_byte_encoded_urlsafe)
-
- tools.ok_(base64.b64encode(self.b_byte_chars) == self.b_byte_encoded)
- tools.ok_(base64.b64encode(self.b_byte_chars, altchars='-_') == self.b_byte_encoded_urlsafe)
- tools.ok_(base64.standard_b64encode(self.b_byte_chars) == self.b_byte_encoded)
- tools.ok_(base64.urlsafe_b64encode(self.b_byte_chars) == self.b_byte_encoded_urlsafe)
-
- def test_base64_decode(self):
- tools.ok_(base64.b64decode(self.b_byte_encoded) == self.b_byte_chars)
- tools.ok_(base64.b64decode(self.b_byte_encoded_urlsafe, altchars='-_') == self.b_byte_chars)
- tools.ok_(base64.standard_b64decode(self.b_byte_encoded) == self.b_byte_chars)
- tools.ok_(base64.urlsafe_b64decode(self.b_byte_encoded_urlsafe) == self.b_byte_chars)
-
- tools.ok_(base64.b64decode(self.b_byte_encoded) == self.b_byte_chars)
- tools.ok_(base64.b64decode(self.b_byte_encoded_urlsafe, altchars='-_') == self.b_byte_chars)
- tools.ok_(base64.standard_b64decode(self.b_byte_encoded) == self.b_byte_chars)
- tools.ok_(base64.urlsafe_b64decode(self.b_byte_encoded_urlsafe) == self.b_byte_chars)
-
- def test_base64_stdlib_compat(self):
- if not hasattr(py_b64, 'b64encode'):
- raise SkipTest('Python-2.3 doesn\'t have b64encode to compare against')
- tools.ok_(base64.b64encode(self.b_byte_chars) == py_b64.b64encode(self.b_byte_chars))
- tools.ok_(base64.b64decode(self.b_byte_chars) == py_b64.b64decode(self.b_byte_chars))