summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorÉric Araujo <merwok@netwok.org>2011-06-17 17:38:38 (GMT)
committerÉric Araujo <merwok@netwok.org>2011-06-17 17:38:38 (GMT)
commit74d68135adffce55cf96e62c0c71ab72945a7753 (patch)
tree152618e1cf9d7645e20e19939f5cf0ad5974afa9 /Lib
parent92cafb85dd3143baa7016475b3895f5491fe451f (diff)
parented5d2f131083f16ab3d305ccc6f58c66f70f1f75 (diff)
downloadcpython-74d68135adffce55cf96e62c0c71ab72945a7753.zip
cpython-74d68135adffce55cf96e62c0c71ab72945a7753.tar.gz
cpython-74d68135adffce55cf96e62c0c71ab72945a7753.tar.bz2
Brange merge
Diffstat (limited to 'Lib')
-rw-r--r--Lib/packaging/command/build_ext.py5
-rw-r--r--Lib/packaging/compiler/msvc9compiler.py8
-rw-r--r--Lib/packaging/compiler/msvccompiler.py3
-rw-r--r--Lib/packaging/compiler/unixccompiler.py2
-rw-r--r--Lib/packaging/database.py13
-rw-r--r--Lib/packaging/dist.py9
-rw-r--r--Lib/packaging/install.py19
-rw-r--r--Lib/packaging/pypi/dist.py5
-rw-r--r--Lib/packaging/tests/test_command_bdist_dumb.py18
-rw-r--r--Lib/packaging/tests/test_command_build_ext.py16
-rw-r--r--Lib/packaging/tests/test_database.py11
-rw-r--r--Lib/packaging/tests/test_dist.py40
-rw-r--r--Lib/packaging/tests/test_mixin2to3.py77
-rw-r--r--Lib/packaging/tests/test_pypi_dist.py34
-rw-r--r--Lib/packaging/tests/test_uninstall.py2
-rw-r--r--Lib/packaging/tests/test_util.py8
16 files changed, 123 insertions, 147 deletions
diff --git a/Lib/packaging/command/build_ext.py b/Lib/packaging/command/build_ext.py
index 403e5fd..c820336 100644
--- a/Lib/packaging/command/build_ext.py
+++ b/Lib/packaging/command/build_ext.py
@@ -38,7 +38,7 @@ class build_ext(Command):
# XXX thoughts on how to deal with complex command-line options like
# these, i.e. how to make it so fancy_getopt can suck them off the
- # command line and make it look like setup.py defined the appropriate
+ # command line and turn them into the appropriate
# lists of tuples of what-have-you.
# - each command needs a callback to process its command-line options
# - Command.__init__() needs access to its share of the whole
@@ -287,9 +287,6 @@ class build_ext(Command):
def run(self):
from packaging.compiler import new_compiler
- # 'self.extensions', as supplied by setup.py, is a list of
- # Extension instances. See the documentation for Extension (in
- # distutils.extension) for details.
if not self.extensions:
return
diff --git a/Lib/packaging/compiler/msvc9compiler.py b/Lib/packaging/compiler/msvc9compiler.py
index 43fc5fa..6ca49c2 100644
--- a/Lib/packaging/compiler/msvc9compiler.py
+++ b/Lib/packaging/compiler/msvc9compiler.py
@@ -130,10 +130,10 @@ class MacroExpander:
raise KeyError("sdkinstallrootv2.0")
except KeyError:
raise PackagingPlatformError(
- """Python was built with Visual Studio 2008;
-extensions must be built with a compiler than can generate compatible binaries.
-Visual Studio 2008 was not found on this system. If you have Cygwin installed,
-you can try compiling with MingW32, by passing "-c mingw32" to setup.py.""")
+"""Python was built with Visual Studio 2008; extensions must be built with a
+compiler than can generate compatible binaries. Visual Studio 2008 was not
+found on this system. If you have Cygwin installed, you can try compiling
+with MingW32, by passing "-c mingw32" to pysetup.""")
if version >= 9.0:
self.set_macro("FrameworkVersion", self.vsbase, "clr version")
diff --git a/Lib/packaging/compiler/msvccompiler.py b/Lib/packaging/compiler/msvccompiler.py
index 97f76bb..3d4ac3c 100644
--- a/Lib/packaging/compiler/msvccompiler.py
+++ b/Lib/packaging/compiler/msvccompiler.py
@@ -134,8 +134,7 @@ class MacroExpander:
"""Python was built with Visual Studio 2003; extensions must be built with
a compiler than can generate compatible binaries. Visual Studio 2003 was
not found on this system. If you have Cygwin installed, you can try
-compiling with MingW32, by passing "-c mingw32" to setup.py.""")
-# XXX update this comment for setup.cfg
+compiling with MingW32, by passing "-c mingw32" to pysetup.""")
p = r"Software\Microsoft\NET Framework Setup\Product"
for base in HKEYS:
diff --git a/Lib/packaging/compiler/unixccompiler.py b/Lib/packaging/compiler/unixccompiler.py
index 8c24c0f..c857d03 100644
--- a/Lib/packaging/compiler/unixccompiler.py
+++ b/Lib/packaging/compiler/unixccompiler.py
@@ -33,7 +33,7 @@ import sysconfig
# we need some way for outsiders to feed preprocessor/compiler/linker
# flags in to us -- eg. a sysadmin might want to mandate certain flags
# via a site config file, or a user might want to set something for
-# compiling this module distribution only via the setup.py command
+# compiling this module distribution only via the pysetup command
# line, whatever. As long as these options come from something on the
# current system, they can be as system-dependent as they like, and we
# should just happily stuff them into the preprocessor/compiler/linker
diff --git a/Lib/packaging/database.py b/Lib/packaging/database.py
index e3c57ba..67946a2 100644
--- a/Lib/packaging/database.py
+++ b/Lib/packaging/database.py
@@ -72,7 +72,7 @@ def clear_cache():
_cache_generated_egg = False
-def _yield_distributions(include_dist, include_egg, paths=sys.path):
+def _yield_distributions(include_dist, include_egg, paths):
"""
Yield .dist-info and .egg(-info) distributions, based on the arguments
@@ -92,7 +92,7 @@ def _yield_distributions(include_dist, include_egg, paths=sys.path):
yield EggInfoDistribution(dist_path)
-def _generate_cache(use_egg_info=False, paths=sys.path):
+def _generate_cache(use_egg_info, paths):
global _cache_generated, _cache_generated_egg
if _cache_generated_egg or (_cache_generated and not use_egg_info):
@@ -472,7 +472,7 @@ def distinfo_dirname(name, version):
return '-'.join([name, normalized_version]) + file_extension
-def get_distributions(use_egg_info=False, paths=sys.path):
+def get_distributions(use_egg_info=False, paths=None):
"""
Provides an iterator that looks for ``.dist-info`` directories in
``sys.path`` and returns :class:`Distribution` instances for each one of
@@ -482,6 +482,9 @@ def get_distributions(use_egg_info=False, paths=sys.path):
:rtype: iterator of :class:`Distribution` and :class:`EggInfoDistribution`
instances
"""
+ if paths is None:
+ paths = sys.path
+
if not _cache_enabled:
for dist in _yield_distributions(True, use_egg_info, paths):
yield dist
@@ -513,7 +516,7 @@ def get_distribution(name, use_egg_info=False, paths=None):
:rtype: :class:`Distribution` or :class:`EggInfoDistribution` or None
"""
- if paths == None:
+ if paths is None:
paths = sys.path
if not _cache_enabled:
@@ -632,7 +635,7 @@ def get_file_users(path):
def get_file_path(distribution_name, relative_path):
"""Return the path to a resource file."""
dist = get_distribution(distribution_name)
- if dist != None:
+ if dist is not None:
return dist.get_resource_path(relative_path)
raise LookupError('no distribution named %r found' % distribution_name)
diff --git a/Lib/packaging/dist.py b/Lib/packaging/dist.py
index 5c390ce..7b431ac 100644
--- a/Lib/packaging/dist.py
+++ b/Lib/packaging/dist.py
@@ -47,7 +47,7 @@ class Distribution:
# 'global_options' describes the command-line options that may be
# supplied to the setup script prior to any actual commands.
- # Eg. "./setup.py -n" or "./setup.py --dry-run" both take advantage of
+ # Eg. "pysetup -n" or "pysetup --dry-run" both take advantage of
# these global options. This list should be kept to a bare minimum,
# since every global option is also valid as a command option -- and we
# don't want to pollute the commands with too many options that they
@@ -63,14 +63,15 @@ class Distribution:
common_usage = """\
Common commands: (see '--help-commands' for more)
- setup.py build will build the package underneath 'build/'
- setup.py install will install the package
+ pysetup run build will build the package underneath 'build/'
+ pysetup run install will install the package
"""
# options that are not propagated to the commands
display_options = [
('help-commands', None,
"list all available commands"),
+ # XXX this is obsoleted by the pysetup metadata action
('name', None,
"print package name"),
('version', 'V',
@@ -360,7 +361,7 @@ Common commands: (see '--help-commands' for more)
return
# Handle the cases of --help as a "global" option, ie.
- # "setup.py --help" and "setup.py --help command ...". For the
+ # "pysetup run --help" and "pysetup run --help command ...". For the
# former, we show global options (--dry-run, etc.)
# and display-only options (--name, --version, etc.); for the
# latter, we omit the display-only options and show help for
diff --git a/Lib/packaging/install.py b/Lib/packaging/install.py
index c5bda45..551ece1 100644
--- a/Lib/packaging/install.py
+++ b/Lib/packaging/install.py
@@ -54,10 +54,8 @@ def _move_files(files, destination):
try:
os.makedirs(os.path.dirname(new))
except OSError as e:
- if e.errno == errno.EEXIST:
- pass
- else:
- raise e
+ if e.errno != errno.EEXIST:
+ raise
os.rename(old, new)
yield old, new
@@ -169,7 +167,7 @@ def _run_install_from_dir(source_dir):
os.chdir(old_dir)
-def install_dists(dists, path, paths=sys.path):
+def install_dists(dists, path, paths=None):
"""Install all distributions provided in dists, with the given prefix.
If an error occurs while installing one of the distributions, uninstall all
@@ -196,13 +194,13 @@ def install_dists(dists, path, paths=sys.path):
# reverting
for installed_dist in installed_dists:
logger.info('Reverting %s', installed_dist)
- _remove_dist(installed_dist, paths)
+ remove(installed_dist.name, paths)
raise e
return installed_dists
def install_from_infos(install_path=None, install=[], remove=[], conflicts=[],
- paths=sys.path):
+ paths=None):
"""Install and remove the given distributions.
The function signature is made to be compatible with the one of get_infos.
@@ -383,11 +381,7 @@ def _update_infos(infos, new_infos):
infos[key].extend(new_infos[key])
-def _remove_dist(dist, paths=sys.path):
- remove(dist.name, paths)
-
-
-def remove(project_name, paths=sys.path, auto_confirm=True):
+def remove(project_name, paths=None, auto_confirm=True):
"""Removes a single project from the installation.
Returns True on success
@@ -539,7 +533,6 @@ def install(project):
def _main(**attrs):
if 'script_args' not in attrs:
- import sys
attrs['requirements'] = sys.argv[1]
get_infos(**attrs)
diff --git a/Lib/packaging/pypi/dist.py b/Lib/packaging/pypi/dist.py
index d3824c2..dbf6459 100644
--- a/Lib/packaging/pypi/dist.py
+++ b/Lib/packaging/pypi/dist.py
@@ -7,15 +7,13 @@ Release objects contain metadata-related information (see PEP 376);
distribution objects contain download-related information.
"""
-import sys
-import mimetypes
import re
+import hashlib
import tempfile
import urllib.request
import urllib.parse
import urllib.error
import urllib.parse
-import hashlib
from shutil import unpack_archive
from packaging.errors import IrrationalVersionError
@@ -318,7 +316,6 @@ class DistInfo(IndexReference):
path = tempfile.mkdtemp()
filename = self.download(path)
- content_type = mimetypes.guess_type(filename)[0]
unpack_archive(filename, path)
self._unpacked_dir = path
diff --git a/Lib/packaging/tests/test_command_bdist_dumb.py b/Lib/packaging/tests/test_command_bdist_dumb.py
index b235795..25f3276 100644
--- a/Lib/packaging/tests/test_command_bdist_dumb.py
+++ b/Lib/packaging/tests/test_command_bdist_dumb.py
@@ -1,7 +1,7 @@
"""Tests for distutils.command.bdist_dumb."""
-import sys
import os
+import packaging.util
from packaging.dist import Distribution
from packaging.command.bdist_dumb import bdist_dumb
@@ -9,15 +9,6 @@ from packaging.tests import unittest, support
from packaging.tests.support import requires_zlib
-SETUP_PY = """\
-from distutils.run import setup
-import foo
-
-setup(name='foo', version='0.1', py_modules=['foo'],
- url='xxx', author='xxx', author_email='xxx')
-"""
-
-
class BuildDumbTestCase(support.TempdirManager,
support.LoggingCatcher,
unittest.TestCase):
@@ -25,12 +16,10 @@ class BuildDumbTestCase(support.TempdirManager,
def setUp(self):
super(BuildDumbTestCase, self).setUp()
self.old_location = os.getcwd()
- self.old_sys_argv = sys.argv, sys.argv[:]
def tearDown(self):
os.chdir(self.old_location)
- sys.argv = self.old_sys_argv[0]
- sys.argv[:] = self.old_sys_argv[1]
+ packaging.util._path_created.clear()
super(BuildDumbTestCase, self).tearDown()
@requires_zlib
@@ -40,7 +29,6 @@ class BuildDumbTestCase(support.TempdirManager,
tmp_dir = self.mkdtemp()
pkg_dir = os.path.join(tmp_dir, 'foo')
os.mkdir(pkg_dir)
- self.write_file((pkg_dir, 'setup.py'), SETUP_PY)
self.write_file((pkg_dir, 'foo.py'), '#')
self.write_file((pkg_dir, 'MANIFEST.in'), 'include foo.py')
self.write_file((pkg_dir, 'README'), '')
@@ -50,8 +38,6 @@ class BuildDumbTestCase(support.TempdirManager,
'url': 'xxx', 'author': 'xxx',
'author_email': 'xxx'})
os.chdir(pkg_dir)
-
- sys.argv[:] = ['setup.py']
cmd = bdist_dumb(dist)
# so the output is the same no matter
diff --git a/Lib/packaging/tests/test_command_build_ext.py b/Lib/packaging/tests/test_command_build_ext.py
index 13bfeea5..8f61ce4 100644
--- a/Lib/packaging/tests/test_command_build_ext.py
+++ b/Lib/packaging/tests/test_command_build_ext.py
@@ -33,6 +33,14 @@ class BuildExtTestCase(support.TempdirManager,
site.USER_BASE = self.mkdtemp()
build_ext.USER_BASE = site.USER_BASE
+ def tearDown(self):
+ # Get everything back to normal
+ if sys.version > "2.6":
+ site.USER_BASE = self.old_user_base
+ build_ext.USER_BASE = self.old_user_base
+
+ super(BuildExtTestCase, self).tearDown()
+
def _fixup_command(self, cmd):
# When Python was build with --enable-shared, -L. is not good enough
# to find the libpython<blah>.so. This is because regrtest runs it
@@ -99,14 +107,6 @@ class BuildExtTestCase(support.TempdirManager,
code = code % self.tmp_dir
assert_python_ok('-c', code)
- def tearDown(self):
- # Get everything back to normal
- if sys.version > "2.6":
- site.USER_BASE = self.old_user_base
- build_ext.USER_BASE = self.old_user_base
-
- super(BuildExtTestCase, self).tearDown()
-
def test_solaris_enable_shared(self):
dist = Distribution({'name': 'xx'})
cmd = build_ext(dist)
diff --git a/Lib/packaging/tests/test_database.py b/Lib/packaging/tests/test_database.py
index e965c60..3eeda83 100644
--- a/Lib/packaging/tests/test_database.py
+++ b/Lib/packaging/tests/test_database.py
@@ -259,12 +259,11 @@ class TestDatabase(support.LoggingCatcher,
disable_cache()
# Setup the path environment with our fake distributions
current_path = os.path.abspath(os.path.dirname(__file__))
- self.sys_path = sys.path[:]
self.fake_dists_path = os.path.join(current_path, 'fake_dists')
sys.path.insert(0, self.fake_dists_path)
def tearDown(self):
- sys.path[:] = self.sys_path
+ sys.path.remove(self.fake_dists_path)
enable_cache()
super(TestDatabase, self).tearDown()
@@ -488,20 +487,20 @@ class TestDatabase(support.LoggingCatcher,
dists = [('choxie', '2.0.0.9'), ('grammar', '1.0a4'),
('towel-stuff', '0.1'), ('babar', '0.1')]
- checkLists([], _yield_distributions(False, False))
+ checkLists([], _yield_distributions(False, False, sys.path))
found = [(dist.name, dist.metadata['Version'])
- for dist in _yield_distributions(False, True)
+ for dist in _yield_distributions(False, True, sys.path)
if dist.path.startswith(self.fake_dists_path)]
checkLists(eggs, found)
found = [(dist.name, dist.metadata['Version'])
- for dist in _yield_distributions(True, False)
+ for dist in _yield_distributions(True, False, sys.path)
if dist.path.startswith(self.fake_dists_path)]
checkLists(dists, found)
found = [(dist.name, dist.metadata['Version'])
- for dist in _yield_distributions(True, True)
+ for dist in _yield_distributions(True, True, sys.path)
if dist.path.startswith(self.fake_dists_path)]
checkLists(dists + eggs, found)
diff --git a/Lib/packaging/tests/test_dist.py b/Lib/packaging/tests/test_dist.py
index e1c5ff0..48335e7 100644
--- a/Lib/packaging/tests/test_dist.py
+++ b/Lib/packaging/tests/test_dist.py
@@ -4,11 +4,13 @@ import io
import sys
import logging
import textwrap
+import sysconfig
import packaging.dist
from packaging.dist import Distribution
from packaging.command import set_command
from packaging.command.cmd import Command
+from packaging.metadata import Metadata
from packaging.errors import PackagingModuleError, PackagingOptionError
from packaging.tests import TESTFN, captured_stdout
from packaging.tests import support, unittest
@@ -202,21 +204,21 @@ class DistributionTestCase(support.TempdirManager,
config_file = os.path.join(temp_home, "config1.cfg")
hooks_module = os.path.join(temp_home, pyname)
- self.write_file(config_file, textwrap.dedent('''
+ self.write_file(config_file, textwrap.dedent('''\
[test_dist]
pre-hook.test = %(modname)s.log_pre_call
post-hook.test = %(modname)s.log_post_call'''
% {'modname': module_name}))
- self.write_file(hooks_module, textwrap.dedent('''
- record = []
+ self.write_file(hooks_module, textwrap.dedent('''\
+ record = []
- def log_pre_call(cmd):
- record.append('pre-%s' % cmd.get_command_name())
+ def log_pre_call(cmd):
+ record.append('pre-%s' % cmd.get_command_name())
- def log_post_call(cmd):
- record.append('post-%s' % cmd.get_command_name())
- '''))
+ def log_post_call(cmd):
+ record.append('post-%s' % cmd.get_command_name())
+ '''))
set_command('packaging.tests.test_dist.test_dist')
d = create_distribution([config_file])
@@ -228,15 +230,9 @@ class DistributionTestCase(support.TempdirManager,
self.addCleanup(unload, module_name)
record = __import__(module_name).record
- old_run = cmd.run
- old_finalize = cmd.finalize_options
cmd.run = lambda: record.append('run')
cmd.finalize_options = lambda: record.append('finalize')
- try:
- d.run_command('test_dist')
- finally:
- cmd.run = old_run
- cmd.finalize_options = old_finalize
+ d.run_command('test_dist')
self.assertEqual(record, ['finalize',
'pre-test_dist',
@@ -247,7 +243,7 @@ class DistributionTestCase(support.TempdirManager,
temp_home = self.mkdtemp()
config_file = os.path.join(temp_home, "config1.cfg")
- self.write_file(config_file, textwrap.dedent('''
+ self.write_file(config_file, textwrap.dedent('''\
[test_dist]
pre-hook.test = nonexistent.dotted.name'''))
@@ -262,7 +258,7 @@ class DistributionTestCase(support.TempdirManager,
temp_home = self.mkdtemp()
config_file = os.path.join(temp_home, "config1.cfg")
- self.write_file(config_file, textwrap.dedent('''
+ self.write_file(config_file, textwrap.dedent('''\
[test_dist]
pre-hook.test = packaging.tests.test_dist.__doc__'''))
@@ -396,7 +392,8 @@ class MetadataTestCase(support.TempdirManager,
dist = Distribution()
sys.argv = []
dist.help = True
- dist.script_name = 'setup.py'
+ dist.script_name = os.path.join(sysconfig.get_path('scripts'),
+ 'pysetup')
__, stdout = captured_stdout(dist.parse_command_line)
output = [line for line in stdout.split('\n')
if line.strip() != '']
@@ -427,14 +424,13 @@ class MetadataTestCase(support.TempdirManager,
"requires_dist": ['foo']}
dist = Distribution(attrs)
- metadata = dist.metadata
-
- # write it then reloads it
PKG_INFO = io.StringIO()
- metadata.write_file(PKG_INFO)
+ dist.metadata.write_file(PKG_INFO)
PKG_INFO.seek(0)
+ metadata = Metadata()
metadata.read_file(PKG_INFO)
+
self.assertEqual(metadata['name'], "package")
self.assertEqual(metadata['version'], "1.0")
self.assertEqual(metadata['summary'], "xxx")
diff --git a/Lib/packaging/tests/test_mixin2to3.py b/Lib/packaging/tests/test_mixin2to3.py
index d7c83c2..926f754 100644
--- a/Lib/packaging/tests/test_mixin2to3.py
+++ b/Lib/packaging/tests/test_mixin2to3.py
@@ -1,5 +1,5 @@
-"""Tests for packaging.command.build_py."""
import sys
+import textwrap
from packaging.tests import unittest, support
from packaging.compat import Mixin2to3
@@ -12,60 +12,69 @@ class Mixin2to3TestCase(support.TempdirManager,
@unittest.skipIf(sys.version < '2.6', 'requires Python 2.6 or higher')
def test_convert_code_only(self):
# used to check if code gets converted properly.
- code_content = "print 'test'\n"
- code_handle = self.mktempfile()
- code_name = code_handle.name
+ code = "print 'test'"
- code_handle.write(code_content)
- code_handle.flush()
+ with self.mktempfile() as fp:
+ fp.write(code)
mixin2to3 = Mixin2to3()
- mixin2to3._run_2to3([code_name])
- converted_code_content = "print('test')\n"
- with open(code_name) as fp:
- new_code_content = "".join(fp.readlines())
+ mixin2to3._run_2to3([fp.name])
+ expected = "print('test')"
- self.assertEqual(new_code_content, converted_code_content)
+ with open(fp.name) as fp:
+ converted = fp.read()
+
+ self.assertEqual(expected, converted)
@unittest.skipIf(sys.version < '2.6', 'requires Python 2.6 or higher')
def test_doctests_only(self):
# used to check if doctests gets converted properly.
- doctest_content = '"""\n>>> print test\ntest\n"""\nprint test\n\n'
- doctest_handle = self.mktempfile()
- doctest_name = doctest_handle.name
+ doctest = textwrap.dedent('''\
+ """Example docstring.
+
+ >>> print test
+ test
+
+ It works.
+ """''')
- doctest_handle.write(doctest_content)
- doctest_handle.flush()
+ with self.mktempfile() as fp:
+ fp.write(doctest)
mixin2to3 = Mixin2to3()
- mixin2to3._run_2to3([doctest_name])
+ mixin2to3._run_2to3([fp.name])
+ expected = textwrap.dedent('''\
+ """Example docstring.
+
+ >>> print(test)
+ test
+
+ It works.
+ """\n''')
- converted_doctest_content = ['"""', '>>> print(test)', 'test', '"""',
- 'print(test)', '', '', '']
- converted_doctest_content = '\n'.join(converted_doctest_content)
- with open(doctest_name) as fp:
- new_doctest_content = "".join(fp.readlines())
+ with open(fp.name) as fp:
+ converted = fp.read()
- self.assertEqual(new_doctest_content, converted_doctest_content)
+ self.assertEqual(expected, converted)
@unittest.skipIf(sys.version < '2.6', 'requires Python 2.6 or higher')
def test_additional_fixers(self):
# used to check if use_2to3_fixers works
- code_content = "type(x) is T"
- code_handle = self.mktempfile()
- code_name = code_handle.name
+ code = 'type(x) is not T'
- code_handle.write(code_content)
- code_handle.flush()
+ with self.mktempfile() as fp:
+ fp.write(code)
mixin2to3 = Mixin2to3()
-
- mixin2to3._run_2to3(files=[code_name], doctests=[code_name],
+ mixin2to3._run_2to3(files=[fp.name], doctests=[fp.name],
fixers=['packaging.tests.fixer'])
- converted_code_content = "isinstance(x, T)"
- with open(code_name) as fp:
- new_code_content = "".join(fp.readlines())
- self.assertEqual(new_code_content, converted_code_content)
+
+ expected = 'not isinstance(x, T)'
+
+ with open(fp.name) as fp:
+ converted = fp.read()
+
+ self.assertEqual(expected, converted)
def test_suite():
diff --git a/Lib/packaging/tests/test_pypi_dist.py b/Lib/packaging/tests/test_pypi_dist.py
index 0c88c9b..ff9a16e 100644
--- a/Lib/packaging/tests/test_pypi_dist.py
+++ b/Lib/packaging/tests/test_pypi_dist.py
@@ -239,7 +239,6 @@ class TestReleasesList(unittest.TestCase):
def test_prefer_final(self):
# Can order the distributions using prefer_final
-
fb10 = ReleaseInfo("FooBar", "1.0") # final distribution
fb11a = ReleaseInfo("FooBar", "1.1a1") # alpha
fb12a = ReleaseInfo("FooBar", "1.2a1") # alpha
@@ -252,22 +251,23 @@ class TestReleasesList(unittest.TestCase):
dists.sort_releases(prefer_final=False)
self.assertEqual(fb12b, dists[0])
-# def test_prefer_source(self):
-# # Ordering support prefer_source
-# fb_source = Dist("FooBar", "1.0", type="source")
-# fb_binary = Dist("FooBar", "1.0", type="binary")
-# fb2_binary = Dist("FooBar", "2.0", type="binary")
-# dists = ReleasesList([fb_binary, fb_source])
-#
-# dists.sort_distributions(prefer_source=True)
-# self.assertEqual(fb_source, dists[0])
-#
-# dists.sort_distributions(prefer_source=False)
-# self.assertEqual(fb_binary, dists[0])
-#
-# dists.append(fb2_binary)
-# dists.sort_distributions(prefer_source=True)
-# self.assertEqual(fb2_binary, dists[0])
+ @unittest.skip('method not implemented yet')
+ def test_prefer_source(self):
+ # Ordering supports prefer_source
+ fb_source = Dist("FooBar", "1.0", type="source")
+ fb_binary = Dist("FooBar", "1.0", type="binary")
+ fb2_binary = Dist("FooBar", "2.0", type="binary")
+ dists = ReleasesList([fb_binary, fb_source])
+
+ dists.sort_distributions(prefer_source=True)
+ self.assertEqual(fb_source, dists[0])
+
+ dists.sort_distributions(prefer_source=False)
+ self.assertEqual(fb_binary, dists[0])
+
+ dists.append(fb2_binary)
+ dists.sort_distributions(prefer_source=True)
+ self.assertEqual(fb2_binary, dists[0])
def test_get_last(self):
dists = ReleasesList('Foo')
diff --git a/Lib/packaging/tests/test_uninstall.py b/Lib/packaging/tests/test_uninstall.py
index 00e97e4..0ef7f3b 100644
--- a/Lib/packaging/tests/test_uninstall.py
+++ b/Lib/packaging/tests/test_uninstall.py
@@ -3,6 +3,7 @@ import os
import sys
from io import StringIO
import stat
+import packaging.util
from packaging.database import disable_cache, enable_cache
from packaging.run import main
@@ -43,6 +44,7 @@ class UninstallTestCase(support.TempdirManager,
def tearDown(self):
os.chdir(self.cwd)
+ packaging.util._path_created.clear()
super(UninstallTestCase, self).tearDown()
def run_setup(self, *args):
diff --git a/Lib/packaging/tests/test_util.py b/Lib/packaging/tests/test_util.py
index 9b6498b..e3ccfd5 100644
--- a/Lib/packaging/tests/test_util.py
+++ b/Lib/packaging/tests/test_util.py
@@ -700,14 +700,8 @@ class GlobTestCase(GlobTestCaseBase):
'{a**a,babar}',
'{bob,b**z}',
]
- msg = "%r is not supposed to be a valid pattern"
for pattern in invalids:
- try:
- iglob(pattern)
- except ValueError:
- continue
- else:
- self.fail(msg % pattern)
+ self.assertRaises(ValueError, iglob, pattern)
class EggInfoToDistInfoTestCase(support.TempdirManager,