update to tornado 4.0 and requests 2.3.0
This commit is contained in:
parent
060f459965
commit
f187000dc9
239 changed files with 19071 additions and 20369 deletions
|
|
@ -2,7 +2,7 @@
|
|||
import sys
|
||||
import os
|
||||
import unittest
|
||||
from setuptools.tests import doctest
|
||||
import doctest
|
||||
import distutils.core
|
||||
import distutils.cmd
|
||||
from distutils.errors import DistutilsOptionError, DistutilsPlatformError
|
||||
|
|
@ -18,7 +18,6 @@ from setuptools import Feature
|
|||
from setuptools.depends import Require
|
||||
|
||||
def additional_tests():
|
||||
import doctest, unittest
|
||||
suite = unittest.TestSuite((
|
||||
doctest.DocFileSuite(
|
||||
os.path.join('tests', 'api_tests.txt'),
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -9,8 +9,6 @@ import unittest
|
|||
|
||||
from distutils.errors import DistutilsError
|
||||
from setuptools.command.develop import develop
|
||||
from setuptools.command import easy_install as easy_install_pkg
|
||||
from setuptools.compat import StringIO
|
||||
from setuptools.dist import Distribution
|
||||
|
||||
SETUP_PY = """\
|
||||
|
|
@ -114,11 +112,11 @@ class TestDevelopTest(unittest.TestCase):
|
|||
os.chdir(self.dir)
|
||||
try:
|
||||
try:
|
||||
dist = Distribution({'setup_requires': ['I_DONT_EXIST']})
|
||||
Distribution({'setup_requires': ['I_DONT_EXIST']})
|
||||
except DistutilsError:
|
||||
e = sys.exc_info()[1]
|
||||
error = str(e)
|
||||
if error == wanted:
|
||||
if error == wanted:
|
||||
pass
|
||||
finally:
|
||||
os.chdir(old_dir)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import tarfile
|
|||
import logging
|
||||
import distutils.core
|
||||
|
||||
from setuptools.compat import StringIO, BytesIO, next, urlparse
|
||||
from setuptools.compat import StringIO, BytesIO, urlparse
|
||||
from setuptools.sandbox import run_setup, SandboxViolation
|
||||
from setuptools.command.easy_install import (
|
||||
easy_install, fix_jython_executable, get_script_args, nt_quote_arg)
|
||||
|
|
@ -226,9 +226,6 @@ class TestUserInstallTest(unittest.TestCase):
|
|||
else:
|
||||
del os.environ['PYTHONPATH']
|
||||
|
||||
@skipIf(sys.version_info < (3, 4),
|
||||
"Test fails on Python 3.3 and earlier due to bug in inspect but only "
|
||||
"when run under setup.py test")
|
||||
def test_setup_requires(self):
|
||||
"""Regression test for Distribute issue #318
|
||||
|
||||
|
|
@ -246,6 +243,10 @@ class TestUserInstallTest(unittest.TestCase):
|
|||
run_setup(test_setup_py, ['install'])
|
||||
except SandboxViolation:
|
||||
self.fail('Installation caused SandboxViolation')
|
||||
except IndexError:
|
||||
# Test fails in some cases due to bugs in Python
|
||||
# See https://bitbucket.org/pypa/setuptools/issue/201
|
||||
pass
|
||||
|
||||
|
||||
class TestSetupRequires(unittest.TestCase):
|
||||
|
|
|
|||
|
|
@ -138,6 +138,43 @@ class TestSvnDummy(environment.ZippedEnvironment):
|
|||
|
||||
return data
|
||||
|
||||
@skipIf(not test_svn._svn_check, "No SVN to text, in the first place")
|
||||
def test_svn_tags(self):
|
||||
code, data = environment.run_setup_py(["egg_info",
|
||||
"--tag-svn-revision"],
|
||||
pypath=self.old_cwd,
|
||||
data_stream=1)
|
||||
if code:
|
||||
raise AssertionError(data)
|
||||
|
||||
pkginfo = os.path.join('dummy.egg-info', 'PKG-INFO')
|
||||
infile = open(pkginfo, 'r')
|
||||
try:
|
||||
read_contents = infile.readlines()
|
||||
finally:
|
||||
infile.close()
|
||||
del infile
|
||||
|
||||
self.assertTrue("Version: 0.1.1-r1\n" in read_contents)
|
||||
|
||||
@skipIf(not test_svn._svn_check, "No SVN to text, in the first place")
|
||||
def test_no_tags(self):
|
||||
code, data = environment.run_setup_py(["egg_info"],
|
||||
pypath=self.old_cwd,
|
||||
data_stream=1)
|
||||
if code:
|
||||
raise AssertionError(data)
|
||||
|
||||
pkginfo = os.path.join('dummy.egg-info', 'PKG-INFO')
|
||||
infile = open(pkginfo, 'r')
|
||||
try:
|
||||
read_contents = infile.readlines()
|
||||
finally:
|
||||
infile.close()
|
||||
del infile
|
||||
|
||||
self.assertTrue("Version: 0.1.1\n" in read_contents)
|
||||
|
||||
|
||||
class TestSvnDummyLegacy(environment.ZippedEnvironment):
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,26 @@ from setuptools.tests.py26compat import skipIf
|
|||
|
||||
find_420_packages = setuptools.PEP420PackageFinder.find
|
||||
|
||||
# modeled after CPython's test.support.can_symlink
|
||||
def can_symlink():
|
||||
TESTFN = tempfile.mktemp()
|
||||
symlink_path = TESTFN + "can_symlink"
|
||||
try:
|
||||
os.symlink(TESTFN, symlink_path)
|
||||
can = True
|
||||
except (OSError, NotImplementedError, AttributeError):
|
||||
can = False
|
||||
else:
|
||||
os.remove(symlink_path)
|
||||
globals().update(can_symlink=lambda: can)
|
||||
return can
|
||||
|
||||
def has_symlink():
|
||||
bad_symlink = (
|
||||
# Windows symlink directory detection is broken on Python 3.2
|
||||
platform.system() == 'Windows' and sys.version_info[:2] == (3,2)
|
||||
)
|
||||
return hasattr(os, 'symlink') and not bad_symlink
|
||||
return can_symlink() and not bad_symlink
|
||||
|
||||
class TestFindPackages(unittest.TestCase):
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
"""Run some integration tests.
|
||||
|
||||
Try to install a few packages.
|
||||
"""
|
||||
|
||||
import glob
|
||||
import os
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
|
||||
from setuptools.command.easy_install import easy_install
|
||||
from setuptools.command import easy_install as easy_install_pkg
|
||||
from setuptools.dist import Distribution
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def install_context(request, tmpdir, monkeypatch):
|
||||
"""Fixture to set up temporary installation directory.
|
||||
"""
|
||||
# Save old values so we can restore them.
|
||||
new_cwd = tmpdir.mkdir('cwd')
|
||||
user_base = tmpdir.mkdir('user_base')
|
||||
user_site = tmpdir.mkdir('user_site')
|
||||
install_dir = tmpdir.mkdir('install_dir')
|
||||
|
||||
def fin():
|
||||
# undo the monkeypatch, particularly needed under
|
||||
# windows because of kept handle on cwd
|
||||
monkeypatch.undo()
|
||||
new_cwd.remove()
|
||||
user_base.remove()
|
||||
user_site.remove()
|
||||
install_dir.remove()
|
||||
request.addfinalizer(fin)
|
||||
|
||||
# Change the environment and site settings to control where the
|
||||
# files are installed and ensure we do not overwrite anything.
|
||||
monkeypatch.chdir(new_cwd)
|
||||
monkeypatch.setattr(easy_install_pkg, '__file__', user_site.strpath)
|
||||
monkeypatch.setattr('site.USER_BASE', user_base.strpath)
|
||||
monkeypatch.setattr('site.USER_SITE', user_site.strpath)
|
||||
monkeypatch.setattr('sys.path', sys.path + [install_dir.strpath])
|
||||
monkeypatch.setenv('PYTHONPATH', os.path.pathsep.join(sys.path))
|
||||
|
||||
# Set up the command for performing the installation.
|
||||
dist = Distribution()
|
||||
cmd = easy_install(dist)
|
||||
cmd.install_dir = install_dir.strpath
|
||||
return cmd
|
||||
|
||||
|
||||
def _install_one(requirement, cmd, pkgname, modulename):
|
||||
cmd.args = [requirement]
|
||||
cmd.ensure_finalized()
|
||||
cmd.run()
|
||||
target = cmd.install_dir
|
||||
dest_path = glob.glob(os.path.join(target, pkgname + '*.egg'))
|
||||
assert dest_path
|
||||
assert os.path.exists(os.path.join(dest_path[0], pkgname, modulename))
|
||||
|
||||
|
||||
def test_stevedore(install_context):
|
||||
_install_one('stevedore', install_context,
|
||||
'stevedore', 'extension.py')
|
||||
|
||||
|
||||
@pytest.mark.xfail
|
||||
def test_virtualenvwrapper(install_context):
|
||||
_install_one('virtualenvwrapper', install_context,
|
||||
'virtualenvwrapper', 'hook_loader.py')
|
||||
|
||||
|
||||
@pytest.mark.xfail
|
||||
def test_pbr(install_context):
|
||||
_install_one('pbr', install_context,
|
||||
'pbr', 'core.py')
|
||||
|
||||
|
||||
@pytest.mark.xfail
|
||||
def test_python_novaclient(install_context):
|
||||
_install_one('python-novaclient', install_context,
|
||||
'novaclient', 'base.py')
|
||||
|
|
@ -15,12 +15,8 @@ from pkg_resources import (parse_requirements, VersionConflict, parse_version,
|
|||
|
||||
from setuptools.command.easy_install import (get_script_header, is_sh,
|
||||
nt_quote_arg)
|
||||
from setuptools.compat import StringIO, iteritems
|
||||
|
||||
try:
|
||||
frozenset
|
||||
except NameError:
|
||||
from sets import ImmutableSet as frozenset
|
||||
from setuptools.compat import StringIO, iteritems, PY3
|
||||
from .py26compat import skipIf
|
||||
|
||||
def safe_repr(obj, short=False):
|
||||
""" copied from Python2.7"""
|
||||
|
|
@ -522,8 +518,7 @@ class ScriptHeaderTests(TestCase):
|
|||
|
||||
def test_get_script_header_jython_workaround(self):
|
||||
# This test doesn't work with Python 3 in some locales
|
||||
if (sys.version_info >= (3,) and os.environ.get("LC_CTYPE")
|
||||
in (None, "C", "POSIX")):
|
||||
if PY3 and os.environ.get("LC_CTYPE") in (None, "C", "POSIX"):
|
||||
return
|
||||
|
||||
class java:
|
||||
|
|
@ -576,13 +571,8 @@ class NamespaceTests(TestCase):
|
|||
pkg_resources._namespace_packages = self._ns_pkgs.copy()
|
||||
sys.path = self._prev_sys_path[:]
|
||||
|
||||
def _assertIn(self, member, container):
|
||||
""" assertIn and assertTrue does not exist in Python2.3"""
|
||||
if member not in container:
|
||||
standardMsg = '%s not found in %s' % (safe_repr(member),
|
||||
safe_repr(container))
|
||||
self.fail(self._formatMessage(msg, standardMsg))
|
||||
|
||||
msg = "Test fails when /tmp is a symlink. See #231"
|
||||
@skipIf(os.path.islink(tempfile.gettempdir()), msg)
|
||||
def test_two_levels_deep(self):
|
||||
"""
|
||||
Test nested namespace packages
|
||||
|
|
@ -606,15 +596,17 @@ class NamespaceTests(TestCase):
|
|||
pkg2_init.write(ns_str)
|
||||
pkg2_init.close()
|
||||
import pkg1
|
||||
self._assertIn("pkg1", pkg_resources._namespace_packages.keys())
|
||||
assert "pkg1" in pkg_resources._namespace_packages
|
||||
try:
|
||||
import pkg1.pkg2
|
||||
except ImportError:
|
||||
self.fail("Setuptools tried to import the parent namespace package")
|
||||
# check the _namespace_packages dict
|
||||
self._assertIn("pkg1.pkg2", pkg_resources._namespace_packages.keys())
|
||||
self.assertEqual(pkg_resources._namespace_packages["pkg1"], ["pkg1.pkg2"])
|
||||
assert "pkg1.pkg2" in pkg_resources._namespace_packages
|
||||
assert pkg_resources._namespace_packages["pkg1"] == ["pkg1.pkg2"]
|
||||
# check the __path__ attribute contains both paths
|
||||
self.assertEqual(pkg1.pkg2.__path__, [
|
||||
expected = [
|
||||
os.path.join(self._tmpdir, "site-pkgs", "pkg1", "pkg2"),
|
||||
os.path.join(self._tmpdir, "site-pkgs2", "pkg1", "pkg2")])
|
||||
os.path.join(self._tmpdir, "site-pkgs2", "pkg1", "pkg2"),
|
||||
]
|
||||
assert pkg1.pkg2.__path__ == expected
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ def has_win32com():
|
|||
if not sys.platform.startswith('win32'):
|
||||
return False
|
||||
try:
|
||||
mod = __import__('win32com')
|
||||
__import__('win32com')
|
||||
except ImportError:
|
||||
return False
|
||||
return True
|
||||
|
|
@ -33,8 +33,6 @@ class TestSandbox(unittest.TestCase):
|
|||
shutil.rmtree(self.dir)
|
||||
|
||||
def test_devnull(self):
|
||||
if sys.version < '2.4':
|
||||
return
|
||||
sandbox = DirectorySandbox(self.dir)
|
||||
sandbox.run(self._file_writer(os.devnull))
|
||||
|
||||
|
|
@ -72,8 +70,14 @@ class TestSandbox(unittest.TestCase):
|
|||
target = pkg_resources.resource_filename(__name__,
|
||||
'script-with-bom.py')
|
||||
namespace = types.ModuleType('namespace')
|
||||
setuptools.sandbox.execfile(target, vars(namespace))
|
||||
setuptools.sandbox._execfile(target, vars(namespace))
|
||||
assert namespace.result == 'passed'
|
||||
|
||||
def test_setup_py_with_CRLF(self):
|
||||
setup_py = os.path.join(self.dir, 'setup.py')
|
||||
with open(setup_py, 'wb') as stream:
|
||||
stream.write(b'"degenerate script"\r\n')
|
||||
setuptools.sandbox._execfile(setup_py, globals())
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@ import tempfile
|
|||
import unittest
|
||||
import unicodedata
|
||||
import re
|
||||
import contextlib
|
||||
from setuptools.tests import environment, test_svn
|
||||
from setuptools.tests.py26compat import skipIf
|
||||
|
||||
from setuptools.compat import StringIO, unicode
|
||||
from setuptools.tests.py26compat import skipIf
|
||||
from setuptools.compat import StringIO, unicode, PY3, PY2
|
||||
from setuptools.command.sdist import sdist, walk_revctrl
|
||||
from setuptools.command.egg_info import manifest_maker
|
||||
from setuptools.dist import Distribution
|
||||
|
|
@ -34,32 +34,33 @@ setup(**%r)
|
|||
""" % SETUP_ATTRS
|
||||
|
||||
|
||||
if sys.version_info >= (3,):
|
||||
if PY3:
|
||||
LATIN1_FILENAME = 'smörbröd.py'.encode('latin-1')
|
||||
else:
|
||||
LATIN1_FILENAME = 'sm\xf6rbr\xf6d.py'
|
||||
|
||||
|
||||
# Cannot use context manager because of Python 2.4
|
||||
@contextlib.contextmanager
|
||||
def quiet():
|
||||
global old_stdout, old_stderr
|
||||
old_stdout, old_stderr = sys.stdout, sys.stderr
|
||||
sys.stdout, sys.stderr = StringIO(), StringIO()
|
||||
|
||||
def unquiet():
|
||||
sys.stdout, sys.stderr = old_stdout, old_stderr
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
sys.stdout, sys.stderr = old_stdout, old_stderr
|
||||
|
||||
|
||||
# Fake byte literals for Python <= 2.5
|
||||
def b(s, encoding='utf-8'):
|
||||
if sys.version_info >= (3,):
|
||||
if PY3:
|
||||
return s.encode(encoding)
|
||||
return s
|
||||
|
||||
|
||||
# Convert to POSIX path
|
||||
def posix(path):
|
||||
if sys.version_info >= (3,) and not isinstance(path, str):
|
||||
if PY3 and not isinstance(path, str):
|
||||
return path.replace(os.sep.encode('ascii'), b('/'))
|
||||
else:
|
||||
return path.replace(os.sep, '/')
|
||||
|
|
@ -74,7 +75,7 @@ def decompose(path):
|
|||
path = unicodedata.normalize('NFD', path)
|
||||
path = path.encode('utf-8')
|
||||
except UnicodeError:
|
||||
pass # Not UTF-8
|
||||
pass # Not UTF-8
|
||||
return path
|
||||
|
||||
|
||||
|
|
@ -112,12 +113,8 @@ class TestSdistTest(unittest.TestCase):
|
|||
cmd = sdist(dist)
|
||||
cmd.ensure_finalized()
|
||||
|
||||
# squelch output
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
cmd.run()
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
manifest = cmd.filelist.files
|
||||
self.assertTrue(os.path.join('sdist_test', 'a.txt') in manifest)
|
||||
|
|
@ -135,14 +132,14 @@ class TestSdistTest(unittest.TestCase):
|
|||
# UTF-8 filename
|
||||
filename = os.path.join('sdist_test', 'smörbröd.py')
|
||||
|
||||
# Must create the file or it will get stripped.
|
||||
open(filename, 'w').close()
|
||||
|
||||
# Add UTF-8 filename and write manifest
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
mm.run()
|
||||
mm.filelist.files.append(filename)
|
||||
mm.filelist.append(filename)
|
||||
mm.write_manifest()
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
manifest = open(mm.manifest, 'rbU')
|
||||
contents = manifest.read()
|
||||
|
|
@ -156,13 +153,14 @@ class TestSdistTest(unittest.TestCase):
|
|||
self.fail(e)
|
||||
|
||||
# The manifest should contain the UTF-8 filename
|
||||
if sys.version_info >= (3,):
|
||||
self.assertTrue(posix(filename) in u_contents)
|
||||
else:
|
||||
self.assertTrue(posix(filename) in contents)
|
||||
if PY2:
|
||||
fs_enc = sys.getfilesystemencoding()
|
||||
filename = filename.decode(fs_enc)
|
||||
|
||||
self.assertTrue(posix(filename) in u_contents)
|
||||
|
||||
# Python 3 only
|
||||
if sys.version_info >= (3,):
|
||||
if PY3:
|
||||
|
||||
def test_write_manifest_allows_utf8_filenames(self):
|
||||
# Test for #303.
|
||||
|
|
@ -175,16 +173,16 @@ class TestSdistTest(unittest.TestCase):
|
|||
# UTF-8 filename
|
||||
filename = os.path.join(b('sdist_test'), b('smörbröd.py'))
|
||||
|
||||
# Must touch the file or risk removal
|
||||
open(filename, "w").close()
|
||||
|
||||
# Add filename and write manifest
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
mm.run()
|
||||
u_filename = filename.decode('utf-8')
|
||||
mm.filelist.files.append(u_filename)
|
||||
# Re-write manifest
|
||||
mm.write_manifest()
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
manifest = open(mm.manifest, 'rbU')
|
||||
contents = manifest.read()
|
||||
|
|
@ -204,7 +202,12 @@ class TestSdistTest(unittest.TestCase):
|
|||
self.assertTrue(u_filename in mm.filelist.files)
|
||||
|
||||
def test_write_manifest_skips_non_utf8_filenames(self):
|
||||
# Test for #303.
|
||||
"""
|
||||
Files that cannot be encoded to UTF-8 (specifically, those that
|
||||
weren't originally successfully decoded and have surrogate
|
||||
escapes) should be omitted from the manifest.
|
||||
See https://bitbucket.org/tarek/distribute/issue/303 for history.
|
||||
"""
|
||||
dist = Distribution(SETUP_ATTRS)
|
||||
dist.script_name = 'setup.py'
|
||||
mm = manifest_maker(dist)
|
||||
|
|
@ -215,15 +218,12 @@ class TestSdistTest(unittest.TestCase):
|
|||
filename = os.path.join(b('sdist_test'), LATIN1_FILENAME)
|
||||
|
||||
# Add filename with surrogates and write manifest
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
mm.run()
|
||||
u_filename = filename.decode('utf-8', 'surrogateescape')
|
||||
mm.filelist.files.append(u_filename)
|
||||
mm.filelist.append(u_filename)
|
||||
# Re-write manifest
|
||||
mm.write_manifest()
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
manifest = open(mm.manifest, 'rbU')
|
||||
contents = manifest.read()
|
||||
|
|
@ -250,17 +250,14 @@ class TestSdistTest(unittest.TestCase):
|
|||
cmd.ensure_finalized()
|
||||
|
||||
# Create manifest
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
cmd.run()
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
# Add UTF-8 filename to manifest
|
||||
filename = os.path.join(b('sdist_test'), b('smörbröd.py'))
|
||||
cmd.manifest = os.path.join('sdist_test.egg-info', 'SOURCES.txt')
|
||||
manifest = open(cmd.manifest, 'ab')
|
||||
manifest.write(b('\n')+filename)
|
||||
manifest.write(b('\n') + filename)
|
||||
manifest.close()
|
||||
|
||||
# The file must exist to be included in the filelist
|
||||
|
|
@ -268,19 +265,16 @@ class TestSdistTest(unittest.TestCase):
|
|||
|
||||
# Re-read manifest
|
||||
cmd.filelist.files = []
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
cmd.read_manifest()
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
# The filelist should contain the UTF-8 filename
|
||||
if sys.version_info >= (3,):
|
||||
if PY3:
|
||||
filename = filename.decode('utf-8')
|
||||
self.assertTrue(filename in cmd.filelist.files)
|
||||
|
||||
# Python 3 only
|
||||
if sys.version_info >= (3,):
|
||||
if PY3:
|
||||
|
||||
def test_read_manifest_skips_non_utf8_filenames(self):
|
||||
# Test for #303.
|
||||
|
|
@ -290,17 +284,14 @@ class TestSdistTest(unittest.TestCase):
|
|||
cmd.ensure_finalized()
|
||||
|
||||
# Create manifest
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
cmd.run()
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
# Add Latin-1 filename to manifest
|
||||
filename = os.path.join(b('sdist_test'), LATIN1_FILENAME)
|
||||
cmd.manifest = os.path.join('sdist_test.egg-info', 'SOURCES.txt')
|
||||
manifest = open(cmd.manifest, 'ab')
|
||||
manifest.write(b('\n')+filename)
|
||||
manifest.write(b('\n') + filename)
|
||||
manifest.close()
|
||||
|
||||
# The file must exist to be included in the filelist
|
||||
|
|
@ -308,21 +299,18 @@ class TestSdistTest(unittest.TestCase):
|
|||
|
||||
# Re-read manifest
|
||||
cmd.filelist.files = []
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
try:
|
||||
cmd.read_manifest()
|
||||
except UnicodeDecodeError:
|
||||
e = sys.exc_info()[1]
|
||||
self.fail(e)
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
# The Latin-1 filename should have been skipped
|
||||
filename = filename.decode('latin-1')
|
||||
self.assertFalse(filename in cmd.filelist.files)
|
||||
|
||||
@skipIf(sys.version_info >= (3,) and locale.getpreferredencoding() != 'UTF-8',
|
||||
@skipIf(PY3 and locale.getpreferredencoding() != 'UTF-8',
|
||||
'Unittest fails if locale is not utf-8 but the manifests is recorded correctly')
|
||||
def test_sdist_with_utf8_encoded_filename(self):
|
||||
# Test for #303.
|
||||
|
|
@ -335,16 +323,13 @@ class TestSdistTest(unittest.TestCase):
|
|||
filename = os.path.join(b('sdist_test'), b('smörbröd.py'))
|
||||
open(filename, 'w').close()
|
||||
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
cmd.run()
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
filename = decompose(filename)
|
||||
|
||||
if sys.version_info >= (3,):
|
||||
if PY3:
|
||||
fs_enc = sys.getfilesystemencoding()
|
||||
|
||||
if sys.platform == 'win32':
|
||||
|
|
@ -373,14 +358,11 @@ class TestSdistTest(unittest.TestCase):
|
|||
open(filename, 'w').close()
|
||||
self.assertTrue(os.path.isfile(filename))
|
||||
|
||||
quiet()
|
||||
try:
|
||||
with quiet():
|
||||
cmd.run()
|
||||
finally:
|
||||
unquiet()
|
||||
|
||||
if sys.version_info >= (3,):
|
||||
#not all windows systems have a default FS encoding of cp1252
|
||||
if PY3:
|
||||
# not all windows systems have a default FS encoding of cp1252
|
||||
if sys.platform == 'win32':
|
||||
# Latin-1 is similar to Windows-1252 however
|
||||
# on mbcs filesys it is not in latin-1 encoding
|
||||
|
|
@ -396,10 +378,17 @@ class TestSdistTest(unittest.TestCase):
|
|||
filename = filename.decode('latin-1')
|
||||
self.assertFalse(filename in cmd.filelist.files)
|
||||
else:
|
||||
# No conversion takes place under Python 2 and the file
|
||||
# is included. We shall keep it that way for BBB.
|
||||
self.assertTrue(filename in cmd.filelist.files)
|
||||
|
||||
# Under Python 2 there seems to be no decoded string in the
|
||||
# filelist. However, due to decode and encoding of the
|
||||
# file name to get utf-8 Manifest the latin1 maybe excluded
|
||||
try:
|
||||
# fs_enc should match how one is expect the decoding to
|
||||
# be proformed for the manifest output.
|
||||
fs_enc = sys.getfilesystemencoding()
|
||||
filename.decode(fs_enc)
|
||||
self.assertTrue(filename in cmd.filelist.files)
|
||||
except UnicodeDecodeError:
|
||||
self.assertFalse(filename in cmd.filelist.files)
|
||||
|
||||
class TestDummyOutput(environment.ZippedEnvironment):
|
||||
|
||||
|
|
@ -484,7 +473,7 @@ class TestSvn(environment.ZippedEnvironment):
|
|||
elif self.base_version < (1, 3):
|
||||
raise ValueError('Insufficient SVN Version %s' % version)
|
||||
elif self.base_version >= (1, 9):
|
||||
#trying the latest version
|
||||
# trying the latest version
|
||||
self.base_version = (1, 8)
|
||||
|
||||
self.dataname = "svn%i%i_example" % self.base_version
|
||||
|
|
@ -501,7 +490,7 @@ class TestSvn(environment.ZippedEnvironment):
|
|||
folder2 = 'third_party2'
|
||||
folder3 = 'third_party3'
|
||||
|
||||
#TODO is this right
|
||||
# TODO is this right
|
||||
expected = set([
|
||||
os.path.join('a file'),
|
||||
os.path.join(folder2, 'Changes.txt'),
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import tempfile
|
|||
import unittest
|
||||
|
||||
from distutils.errors import DistutilsError
|
||||
from setuptools.compat import StringIO
|
||||
from setuptools.compat import StringIO, PY2
|
||||
from setuptools.command.test import test
|
||||
from setuptools.command import easy_install as easy_install_pkg
|
||||
from setuptools.dist import Distribution
|
||||
|
|
@ -34,7 +34,7 @@ except ImportError:
|
|||
__path__ = extend_path(__path__, __name__)
|
||||
"""
|
||||
# Make sure this is Latin-1 binary, before writing:
|
||||
if sys.version_info < (3,):
|
||||
if PY2:
|
||||
NS_INIT = NS_INIT.decode('UTF-8')
|
||||
NS_INIT = NS_INIT.encode('Latin-1')
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue