aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/tests
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2016-01-04 21:00:47 -0500
committerJason R. Coombs <jaraco@jaraco.com>2016-01-04 21:00:47 -0500
commitd9184f7b8f0b9405f68ea45dbd574aad6a08666d (patch)
treee93b4d6ca527f8b22c4a11b978864f61ebe02405 /setuptools/tests
parent6bdbe8957d8c8d293e3fea3fa4baf45eb7c3a3a4 (diff)
parentb639cf0fa905f6fda3879c991197b759aaa20091 (diff)
downloadexternal_python_setuptools-d9184f7b8f0b9405f68ea45dbd574aad6a08666d.tar.gz
external_python_setuptools-d9184f7b8f0b9405f68ea45dbd574aad6a08666d.tar.bz2
external_python_setuptools-d9184f7b8f0b9405f68ea45dbd574aad6a08666d.zip
Merge feature/issue-22919.3b1
Diffstat (limited to 'setuptools/tests')
-rw-r--r--setuptools/tests/__init__.py4
-rw-r--r--setuptools/tests/contexts.py6
-rw-r--r--setuptools/tests/server.py19
-rw-r--r--setuptools/tests/test_develop.py5
-rw-r--r--setuptools/tests/test_easy_install.py17
-rw-r--r--setuptools/tests/test_integration.py4
-rw-r--r--setuptools/tests/test_packageindex.py15
-rw-r--r--setuptools/tests/test_sdist.py23
-rw-r--r--setuptools/tests/test_test.py1
9 files changed, 49 insertions, 45 deletions
diff --git a/setuptools/tests/__init__.py b/setuptools/tests/__init__.py
index f985a6e4..32447356 100644
--- a/setuptools/tests/__init__.py
+++ b/setuptools/tests/__init__.py
@@ -7,8 +7,8 @@ from distutils.errors import DistutilsOptionError, DistutilsPlatformError
from distutils.errors import DistutilsSetupError
from distutils.core import Extension
from distutils.version import LooseVersion
-from setuptools.compat import func_code
+from setuptools.extern import six
import pytest
import setuptools.dist
@@ -52,7 +52,7 @@ class TestDepends:
x = "test"
y = z
- fc = func_code(f1)
+ fc = six.get_function_code(f1)
# unrecognized name
assert dep.extract_constant(fc,'q', -1) is None
diff --git a/setuptools/tests/contexts.py b/setuptools/tests/contexts.py
index 1d29284b..8c9a2d3e 100644
--- a/setuptools/tests/contexts.py
+++ b/setuptools/tests/contexts.py
@@ -5,7 +5,7 @@ import sys
import contextlib
import site
-from ..compat import StringIO
+from setuptools.extern import six
@contextlib.contextmanager
@@ -57,8 +57,8 @@ def quiet():
old_stdout = sys.stdout
old_stderr = sys.stderr
- new_stdout = sys.stdout = StringIO()
- new_stderr = sys.stderr = StringIO()
+ new_stdout = sys.stdout = six.StringIO()
+ new_stderr = sys.stderr = six.StringIO()
try:
yield new_stdout, new_stderr
finally:
diff --git a/setuptools/tests/server.py b/setuptools/tests/server.py
index 6b214279..6a687937 100644
--- a/setuptools/tests/server.py
+++ b/setuptools/tests/server.py
@@ -3,10 +3,11 @@
import time
import threading
-from setuptools.compat import BaseHTTPRequestHandler
-from setuptools.compat import HTTPServer, SimpleHTTPRequestHandler
-class IndexServer(HTTPServer):
+from setuptools.extern.six.moves import BaseHTTPServer, SimpleHTTPServer
+
+
+class IndexServer(BaseHTTPServer.HTTPServer):
"""Basic single-threaded http server simulating a package index
You can use this server in unittest like this::
@@ -18,8 +19,9 @@ class IndexServer(HTTPServer):
s.stop()
"""
def __init__(self, server_address=('', 0),
- RequestHandlerClass=SimpleHTTPRequestHandler):
- HTTPServer.__init__(self, server_address, RequestHandlerClass)
+ RequestHandlerClass=SimpleHTTPServer.SimpleHTTPRequestHandler):
+ BaseHTTPServer.HTTPServer.__init__(self, server_address,
+ RequestHandlerClass)
self._run = True
def start(self):
@@ -40,19 +42,20 @@ class IndexServer(HTTPServer):
port = self.server_port
return 'http://127.0.0.1:%s/setuptools/tests/indexes/' % port
-class RequestRecorder(BaseHTTPRequestHandler):
+class RequestRecorder(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
requests = vars(self.server).setdefault('requests', [])
requests.append(self)
self.send_response(200, 'OK')
-class MockServer(HTTPServer, threading.Thread):
+class MockServer(BaseHTTPServer.HTTPServer, threading.Thread):
"""
A simple HTTP Server that records the requests made to it.
"""
def __init__(self, server_address=('', 0),
RequestHandlerClass=RequestRecorder):
- HTTPServer.__init__(self, server_address, RequestHandlerClass)
+ BaseHTTPServer.HTTPServer.__init__(self, server_address,
+ RequestHandlerClass)
threading.Thread.__init__(self)
self.setDaemon(True)
self.requests = []
diff --git a/setuptools/tests/test_develop.py b/setuptools/tests/test_develop.py
index ab5da00e..1b844499 100644
--- a/setuptools/tests/test_develop.py
+++ b/setuptools/tests/test_develop.py
@@ -5,12 +5,13 @@ import site
import sys
import io
+from setuptools.extern import six
+
import pytest
from setuptools.command.develop import develop
from setuptools.dist import Distribution
from . import contexts
-from setuptools.compat import PY3
SETUP_PY = """\
@@ -85,7 +86,7 @@ class TestDevelop:
with io.open(fn) as init_file:
init = init_file.read().strip()
- expected = 'print("foo")' if PY3 else 'print "foo"'
+ expected = 'print("foo")' if six.PY3 else 'print "foo"'
assert init == expected
def test_console_scripts(self, tmpdir):
diff --git a/setuptools/tests/test_easy_install.py b/setuptools/tests/test_easy_install.py
index f0330f17..94e317b3 100644
--- a/setuptools/tests/test_easy_install.py
+++ b/setuptools/tests/test_easy_install.py
@@ -14,6 +14,10 @@ import tarfile
import logging
import itertools
import distutils.errors
+import io
+
+from setuptools.extern import six
+from setuptools.extern.six.moves import urllib
import pytest
try:
@@ -22,8 +26,6 @@ except ImportError:
import mock
from setuptools import sandbox
-from setuptools import compat
-from setuptools.compat import StringIO, BytesIO, urlparse
from setuptools.sandbox import run_setup
import setuptools.command.easy_install as ei
from setuptools.command.easy_install import PthDistributions
@@ -272,7 +274,7 @@ class TestSetupRequires:
p_index = setuptools.tests.server.MockServer()
p_index.start()
netloc = 1
- p_index_loc = urlparse(p_index.url)[netloc]
+ p_index_loc = urllib.parse.urlparse(p_index.url)[netloc]
if p_index_loc.endswith(':0'):
# Some platforms (Jython) don't find a port to which to bind,
# so skip this test for them.
@@ -391,12 +393,7 @@ def make_trivial_sdist(dist_path, setup_py):
"""
setup_py_file = tarfile.TarInfo(name='setup.py')
- try:
- # Python 3 (StringIO gets converted to io module)
- MemFile = BytesIO
- except AttributeError:
- MemFile = StringIO
- setup_py_bytes = MemFile(setup_py.encode('utf-8'))
+ setup_py_bytes = io.BytesIO(setup_py.encode('utf-8'))
setup_py_file.size = len(setup_py_bytes.getvalue())
with tarfile_open(dist_path, 'w:gz') as dist:
dist.addfile(setup_py_file, fileobj=setup_py_bytes)
@@ -431,7 +428,7 @@ class TestScriptHeader:
assert actual == expected
@pytest.mark.xfail(
- compat.PY3 and is_ascii,
+ six.PY3 and is_ascii,
reason="Test fails in this locale on Python 3"
)
@mock.patch.dict(sys.modules, java=mock.Mock(lang=mock.Mock(System=
diff --git a/setuptools/tests/test_integration.py b/setuptools/tests/test_integration.py
index 07f06db2..04772ba5 100644
--- a/setuptools/tests/test_integration.py
+++ b/setuptools/tests/test_integration.py
@@ -7,12 +7,12 @@ import glob
import os
import sys
+from setuptools.extern.six.moves import urllib
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
-from setuptools.compat import urlopen
def setup_module(module):
@@ -26,7 +26,7 @@ def setup_module(module):
pass
try:
- urlopen('https://pypi.python.org/pypi')
+ urllib.request.urlopen('https://pypi.python.org/pypi')
except Exception as exc:
pytest.skip(str(exc))
diff --git a/setuptools/tests/test_packageindex.py b/setuptools/tests/test_packageindex.py
index 746860d5..6a76b5fc 100644
--- a/setuptools/tests/test_packageindex.py
+++ b/setuptools/tests/test_packageindex.py
@@ -4,9 +4,10 @@ import sys
import os
import distutils.errors
-from setuptools.compat import httplib, HTTPError, unicode, pathname2url
-from .textwrap import DALS
+from setuptools.extern import six
+from setuptools.extern.six.moves import urllib, http_client
+from .textwrap import DALS
import pkg_resources
import setuptools.package_index
from setuptools.tests.server import IndexServer
@@ -22,7 +23,7 @@ class TestPackageIndex:
except Exception as v:
assert url in str(v)
else:
- assert isinstance(v, HTTPError)
+ assert isinstance(v, urllib.error.HTTPError)
def test_bad_url_typo(self):
# issue 16
@@ -38,7 +39,7 @@ class TestPackageIndex:
except Exception as v:
assert url in str(v)
else:
- assert isinstance(v, HTTPError)
+ assert isinstance(v, urllib.error.HTTPError)
def test_bad_url_bad_status_line(self):
index = setuptools.package_index.PackageIndex(
@@ -46,7 +47,7 @@ class TestPackageIndex:
)
def _urlopen(*args):
- raise httplib.BadStatusLine('line')
+ raise http_client.BadStatusLine('line')
index.opener = _urlopen
url = 'http://example.com'
@@ -70,7 +71,7 @@ class TestPackageIndex:
try:
index.open_url(url)
except distutils.errors.DistutilsError as error:
- msg = unicode(error)
+ msg = six.text_type(error)
assert 'nonnumeric port' in msg or 'getaddrinfo failed' in msg or 'Name or service not known' in msg
return
raise RuntimeError("Did not raise")
@@ -167,7 +168,7 @@ class TestPackageIndex:
index_file = tmpdir / 'index.html'
with index_file.open('w') as f:
f.write('<div>content</div>')
- url = 'file:' + pathname2url(str(tmpdir)) + '/'
+ url = 'file:' + urllib.request.pathname2url(str(tmpdir)) + '/'
res = setuptools.package_index.local_open(url)
assert 'content' in res.read()
diff --git a/setuptools/tests/test_sdist.py b/setuptools/tests/test_sdist.py
index 8ec9a4cb..753b507d 100644
--- a/setuptools/tests/test_sdist.py
+++ b/setuptools/tests/test_sdist.py
@@ -9,17 +9,18 @@ import unicodedata
import contextlib
import io
+from setuptools.extern import six
+
import pytest
import pkg_resources
-from setuptools.compat import StringIO, unicode, PY3, PY2
from setuptools.command.sdist import sdist
from setuptools.command.egg_info import manifest_maker
from setuptools.dist import Distribution
from setuptools.tests import fail_on_ascii
-py3_only = pytest.mark.xfail(PY2, reason="Test runs on Python 3 only")
+py3_only = pytest.mark.xfail(six.PY2, reason="Test runs on Python 3 only")
SETUP_ATTRS = {
@@ -37,7 +38,7 @@ setup(**%r)
""" % SETUP_ATTRS
-if PY3:
+if six.PY3:
LATIN1_FILENAME = 'smörbröd.py'.encode('latin-1')
else:
LATIN1_FILENAME = 'sm\xf6rbr\xf6d.py'
@@ -47,7 +48,7 @@ else:
@contextlib.contextmanager
def quiet():
old_stdout, old_stderr = sys.stdout, sys.stderr
- sys.stdout, sys.stderr = StringIO(), StringIO()
+ sys.stdout, sys.stderr = six.StringIO(), six.StringIO()
try:
yield
finally:
@@ -56,14 +57,14 @@ def quiet():
# Fake byte literals for Python <= 2.5
def b(s, encoding='utf-8'):
- if PY3:
+ if six.PY3:
return s.encode(encoding)
return s
# Convert to POSIX path
def posix(path):
- if PY3 and not isinstance(path, str):
+ if six.PY3 and not isinstance(path, str):
return path.replace(os.sep.encode('ascii'), b('/'))
else:
return path.replace(os.sep, '/')
@@ -71,7 +72,7 @@ def posix(path):
# HFS Plus uses decomposed UTF-8
def decompose(path):
- if isinstance(path, unicode):
+ if isinstance(path, six.text_type):
return unicodedata.normalize('NFD', path)
try:
path = path.decode('utf-8')
@@ -184,7 +185,7 @@ class TestSdistTest:
u_contents = contents.decode('UTF-8')
# The manifest should contain the UTF-8 filename
- if PY2:
+ if six.PY2:
fs_enc = sys.getfilesystemencoding()
filename = filename.decode(fs_enc)
@@ -289,7 +290,7 @@ class TestSdistTest:
cmd.read_manifest()
# The filelist should contain the UTF-8 filename
- if PY3:
+ if six.PY3:
filename = filename.decode('utf-8')
assert filename in cmd.filelist.files
@@ -342,7 +343,7 @@ class TestSdistTest:
if sys.platform == 'darwin':
filename = decompose(filename)
- if PY3:
+ if six.PY3:
fs_enc = sys.getfilesystemencoding()
if sys.platform == 'win32':
@@ -374,7 +375,7 @@ class TestSdistTest:
with quiet():
cmd.run()
- if PY3:
+ if six.PY3:
# not all windows systems have a default FS encoding of cp1252
if sys.platform == 'win32':
# Latin-1 is similar to Windows-1252 however
diff --git a/setuptools/tests/test_test.py b/setuptools/tests/test_test.py
index a66294c9..4155a5b1 100644
--- a/setuptools/tests/test_test.py
+++ b/setuptools/tests/test_test.py
@@ -4,6 +4,7 @@ from __future__ import unicode_literals
import os
import site
+from distutils.errors import DistutilsError
import pytest