diff options
author | Éric Araujo <merwok@netwok.org> | 2011-10-19 06:49:20 (GMT) |
---|---|---|
committer | Éric Araujo <merwok@netwok.org> | 2011-10-19 06:49:20 (GMT) |
commit | f3f283a1cbd8b87c911edc0e93baf3d0bfec672e (patch) | |
tree | 83cd6088fa077e31c04c42148318539538d8ff65 /Lib/packaging | |
parent | 79d9c42b04813dc81d91127ec0ffb6d4735e2c0e (diff) | |
download | cpython-f3f283a1cbd8b87c911edc0e93baf3d0bfec672e.zip cpython-f3f283a1cbd8b87c911edc0e93baf3d0bfec672e.tar.gz cpython-f3f283a1cbd8b87c911edc0e93baf3d0bfec672e.tar.bz2 |
Clean up some idioms in packaging tests.
- Use os.makedirs (I had forgotten about it!)
- Let TempdirManager.write_file call os.path.join for us
- Remove custom command added by test_dist
- Use a skip instead of hiding a method with an underscore
- Address pyflakes warnings
Diffstat (limited to 'Lib/packaging')
-rw-r--r-- | Lib/packaging/tests/__main__.py | 1 | ||||
-rw-r--r-- | Lib/packaging/tests/test_command_clean.py | 2 | ||||
-rw-r--r-- | Lib/packaging/tests/test_command_install_data.py | 5 | ||||
-rw-r--r-- | Lib/packaging/tests/test_command_install_dist.py | 9 | ||||
-rw-r--r-- | Lib/packaging/tests/test_command_test.py | 3 | ||||
-rw-r--r-- | Lib/packaging/tests/test_command_upload.py | 2 | ||||
-rw-r--r-- | Lib/packaging/tests/test_command_upload_docs.py | 5 | ||||
-rw-r--r-- | Lib/packaging/tests/test_create.py | 3 | ||||
-rw-r--r-- | Lib/packaging/tests/test_dist.py | 11 | ||||
-rw-r--r-- | Lib/packaging/tests/test_mixin2to3.py | 1 | ||||
-rw-r--r-- | Lib/packaging/tests/test_uninstall.py | 3 | ||||
-rw-r--r-- | Lib/packaging/tests/test_util.py | 28 | ||||
-rw-r--r-- | Lib/packaging/tests/test_version.py | 4 |
13 files changed, 40 insertions, 37 deletions
diff --git a/Lib/packaging/tests/__main__.py b/Lib/packaging/tests/__main__.py index 51daba4..00f323e 100644 --- a/Lib/packaging/tests/__main__.py +++ b/Lib/packaging/tests/__main__.py @@ -3,7 +3,6 @@ # Ripped from importlib tests, thanks Brett! import os -import sys import unittest from test.support import run_unittest, reap_children, reap_threads diff --git a/Lib/packaging/tests/test_command_clean.py b/Lib/packaging/tests/test_command_clean.py index 8d29e4d..ab944ed 100644 --- a/Lib/packaging/tests/test_command_clean.py +++ b/Lib/packaging/tests/test_command_clean.py @@ -23,7 +23,7 @@ class cleanTestCase(support.TempdirManager, support.LoggingCatcher, if name == 'build_base': continue for f in ('one', 'two', 'three'): - self.write_file(os.path.join(path, f)) + self.write_file((path, f)) # let's run the command cmd.all = True diff --git a/Lib/packaging/tests/test_command_install_data.py b/Lib/packaging/tests/test_command_install_data.py index 44a14d2..7f4af41 100644 --- a/Lib/packaging/tests/test_command_install_data.py +++ b/Lib/packaging/tests/test_command_install_data.py @@ -117,6 +117,11 @@ class InstallDataTestCase(support.TempdirManager, dist.command_obj['install_distinfo'] = cmd cmd.run() + # first a few sanity checks + self.assertEqual(os.listdir(scripts_dir), ['spamd']) + self.assertEqual(os.listdir(install_dir), ['Spamlib-0.1.dist-info']) + + # now the real test fn = os.path.join(install_dir, 'Spamlib-0.1.dist-info', 'RESOURCES') with open(fn, encoding='utf-8') as fp: content = fp.read().strip() diff --git a/Lib/packaging/tests/test_command_install_dist.py b/Lib/packaging/tests/test_command_install_dist.py index 496a3d8..3345d2e 100644 --- a/Lib/packaging/tests/test_command_install_dist.py +++ b/Lib/packaging/tests/test_command_install_dist.py @@ -93,21 +93,20 @@ class InstallTestCase(support.TempdirManager, self.old_expand = os.path.expanduser os.path.expanduser = _expanduser - try: - # this is the actual test - self._test_user_site() - finally: + def cleanup(): _CONFIG_VARS['userbase'] = self.old_user_base _SCHEMES.set(scheme, 'purelib', self.old_user_site) os.path.expanduser = self.old_expand - def _test_user_site(self): + self.addCleanup(cleanup) + schemes = get_scheme_names() for key in ('nt_user', 'posix_user', 'os2_home'): self.assertIn(key, schemes) dist = Distribution({'name': 'xx'}) cmd = install_dist(dist) + # making sure the user option is there options = [name for name, short, lable in cmd.user_options] diff --git a/Lib/packaging/tests/test_command_test.py b/Lib/packaging/tests/test_command_test.py index 31566eb..7aa1f79 100644 --- a/Lib/packaging/tests/test_command_test.py +++ b/Lib/packaging/tests/test_command_test.py @@ -139,7 +139,8 @@ class TestTest(TempdirManager, cmd.run() self.assertEqual(['build has run'], record) - def _test_works_with_2to3(self): + @unittest.skip('needs to be written') + def test_works_with_2to3(self): pass def test_checks_requires(self): diff --git a/Lib/packaging/tests/test_command_upload.py b/Lib/packaging/tests/test_command_upload.py index 82d7360..1f68c1d 100644 --- a/Lib/packaging/tests/test_command_upload.py +++ b/Lib/packaging/tests/test_command_upload.py @@ -129,7 +129,7 @@ class UploadTestCase(support.TempdirManager, support.EnvironRestorer, dist_files = [(command, pyversion, filename)] docs_path = os.path.join(self.tmp_dir, "build", "docs") os.makedirs(docs_path) - self.write_file(os.path.join(docs_path, "index.html"), "yellow") + self.write_file((docs_path, "index.html"), "yellow") self.write_file(self.rc, PYPIRC) # let's run it diff --git a/Lib/packaging/tests/test_command_upload_docs.py b/Lib/packaging/tests/test_command_upload_docs.py index 4162e2a..803e733 100644 --- a/Lib/packaging/tests/test_command_upload_docs.py +++ b/Lib/packaging/tests/test_command_upload_docs.py @@ -71,9 +71,8 @@ class UploadDocsTestCase(support.TempdirManager, if sample_dir is None: sample_dir = self.mkdtemp() os.mkdir(os.path.join(sample_dir, "docs")) - self.write_file(os.path.join(sample_dir, "docs", "index.html"), - "Ce mortel ennui") - self.write_file(os.path.join(sample_dir, "index.html"), "Oh la la") + self.write_file((sample_dir, "docs", "index.html"), "Ce mortel ennui") + self.write_file((sample_dir, "index.html"), "Oh la la") return sample_dir def test_zip_dir(self): diff --git a/Lib/packaging/tests/test_create.py b/Lib/packaging/tests/test_create.py index b896619..16dbfb7 100644 --- a/Lib/packaging/tests/test_create.py +++ b/Lib/packaging/tests/test_create.py @@ -80,8 +80,7 @@ class CreateTestCase(support.TempdirManager, os.mkdir(os.path.join(tempdir, dir_)) for file_ in files: - path = os.path.join(tempdir, file_) - self.write_file(path, 'xxx') + self.write_file((tempdir, file_), 'xxx') mainprogram._find_files() mainprogram.data['packages'].sort() diff --git a/Lib/packaging/tests/test_dist.py b/Lib/packaging/tests/test_dist.py index de68961..3089f36 100644 --- a/Lib/packaging/tests/test_dist.py +++ b/Lib/packaging/tests/test_dist.py @@ -6,7 +6,7 @@ import textwrap import packaging.dist from packaging.dist import Distribution -from packaging.command import set_command +from packaging.command import set_command, _COMMANDS from packaging.command.cmd import Command from packaging.errors import PackagingModuleError, PackagingOptionError from packaging.tests import captured_stdout @@ -28,6 +28,9 @@ class test_dist(Command): def finalize_options(self): pass + def run(self): + pass + class DistributionTestCase(support.TempdirManager, support.LoggingCatcher, @@ -38,12 +41,18 @@ class DistributionTestCase(support.TempdirManager, def setUp(self): super(DistributionTestCase, self).setUp() + # XXX this is ugly, we should fix the functions to accept args + # (defaulting to sys.argv) self.argv = sys.argv, sys.argv[:] del sys.argv[1:] + self._commands = _COMMANDS.copy() def tearDown(self): sys.argv = self.argv[0] sys.argv[:] = self.argv[1] + # XXX maybe we need a public API to remove commands + _COMMANDS.clear() + _COMMANDS.update(self._commands) super(DistributionTestCase, self).tearDown() @unittest.skip('needs to be updated') diff --git a/Lib/packaging/tests/test_mixin2to3.py b/Lib/packaging/tests/test_mixin2to3.py index 14a7487..000a992 100644 --- a/Lib/packaging/tests/test_mixin2to3.py +++ b/Lib/packaging/tests/test_mixin2to3.py @@ -1,4 +1,3 @@ -import sys import textwrap from packaging.tests import unittest, support diff --git a/Lib/packaging/tests/test_uninstall.py b/Lib/packaging/tests/test_uninstall.py index 8f094f4..2168b6f 100644 --- a/Lib/packaging/tests/test_uninstall.py +++ b/Lib/packaging/tests/test_uninstall.py @@ -61,8 +61,7 @@ class UninstallTestCase(support.TempdirManager, kw['pkg'] = pkg pkg_dir = os.path.join(project_dir, pkg) - os.mkdir(pkg_dir) - os.mkdir(os.path.join(pkg_dir, 'sub')) + os.makedirs(os.path.join(pkg_dir, 'sub')) self.write_file((project_dir, 'setup.cfg'), SETUP_CFG % kw) self.write_file((pkg_dir, '__init__.py'), '#') diff --git a/Lib/packaging/tests/test_util.py b/Lib/packaging/tests/test_util.py index 4d8614a..92aa72a 100644 --- a/Lib/packaging/tests/test_util.py +++ b/Lib/packaging/tests/test_util.py @@ -356,24 +356,20 @@ class UtilTestCase(support.EnvironRestorer, # root = self.mkdtemp() pkg1 = os.path.join(root, 'pkg1') - os.mkdir(pkg1) - self.write_file(os.path.join(pkg1, '__init__.py')) - os.mkdir(os.path.join(pkg1, 'pkg2')) - self.write_file(os.path.join(pkg1, 'pkg2', '__init__.py')) - os.mkdir(os.path.join(pkg1, 'pkg3')) - self.write_file(os.path.join(pkg1, 'pkg3', '__init__.py')) - os.mkdir(os.path.join(pkg1, 'pkg3', 'pkg6')) - self.write_file(os.path.join(pkg1, 'pkg3', 'pkg6', '__init__.py')) - os.mkdir(os.path.join(pkg1, 'pkg4')) - os.mkdir(os.path.join(pkg1, 'pkg4', 'pkg8')) - self.write_file(os.path.join(pkg1, 'pkg4', 'pkg8', '__init__.py')) - pkg5 = os.path.join(root, 'pkg5') - os.mkdir(pkg5) - self.write_file(os.path.join(pkg5, '__init__.py')) + os.makedirs(os.path.join(pkg1, 'pkg2')) + os.makedirs(os.path.join(pkg1, 'pkg3', 'pkg6')) + os.makedirs(os.path.join(pkg1, 'pkg4', 'pkg8')) + os.makedirs(os.path.join(root, 'pkg5')) + self.write_file((pkg1, '__init__.py')) + self.write_file((pkg1, 'pkg2', '__init__.py')) + self.write_file((pkg1, 'pkg3', '__init__.py')) + self.write_file((pkg1, 'pkg3', 'pkg6', '__init__.py')) + self.write_file((pkg1, 'pkg4', 'pkg8', '__init__.py')) + self.write_file((root, 'pkg5', '__init__.py')) res = find_packages([root], ['pkg1.pkg2']) - self.assertEqual(set(res), set(['pkg1', 'pkg5', 'pkg1.pkg3', - 'pkg1.pkg3.pkg6'])) + self.assertEqual(sorted(res), + ['pkg1', 'pkg1.pkg3', 'pkg1.pkg3.pkg6', 'pkg5']) def test_resolve_name(self): # test raw module name diff --git a/Lib/packaging/tests/test_version.py b/Lib/packaging/tests/test_version.py index 2c86111..c863362 100644 --- a/Lib/packaging/tests/test_version.py +++ b/Lib/packaging/tests/test_version.py @@ -1,6 +1,5 @@ """Tests for packaging.version.""" import doctest -import os from packaging.version import NormalizedVersion as V from packaging.version import HugeMajorVersionNumError, IrrationalVersionError @@ -46,7 +45,6 @@ class VersionTestCase(unittest.TestCase): def test_from_parts(self): for v, s in self.versions: - parts = v.parts v2 = V.from_parts(*v.parts) self.assertEqual(v, v2) self.assertEqual(str(v), str(v2)) @@ -192,7 +190,7 @@ class VersionTestCase(unittest.TestCase): 'Hey (>=2.5,<2.7)') for predicate in predicates: - v = VersionPredicate(predicate) + VersionPredicate(predicate) self.assertTrue(VersionPredicate('Hey (>=2.5,<2.7)').match('2.6')) self.assertTrue(VersionPredicate('Ho').match('2.6')) |