Commit 9b5c7f44 authored by Éric Araujo's avatar Éric Araujo

Remove unused code from packaging.tests.__init__

parent 36500344
...@@ -14,16 +14,11 @@ standard library for packaging tests and unittest2 for distutils2 tests. ...@@ -14,16 +14,11 @@ standard library for packaging tests and unittest2 for distutils2 tests.
import os import os
import sys import sys
import unittest import unittest
from io import StringIO
# XXX move helpers to support, add tests for them, remove things that
# duplicate test.support (or keep them for the backport; needs thinking)
here = os.path.dirname(__file__) or os.curdir
verbose = 1
def test_suite(): def test_suite():
suite = unittest.TestSuite() suite = unittest.TestSuite()
here = os.path.dirname(__file__) or os.curdir
for fn in os.listdir(here): for fn in os.listdir(here):
if fn.startswith("test") and fn.endswith(".py"): if fn.startswith("test") and fn.endswith(".py"):
modname = "packaging.tests." + fn[:-3] modname = "packaging.tests." + fn[:-3]
...@@ -31,100 +26,3 @@ def test_suite(): ...@@ -31,100 +26,3 @@ def test_suite():
module = sys.modules[modname] module = sys.modules[modname]
suite.addTest(module.test_suite()) suite.addTest(module.test_suite())
return suite return suite
class Error(Exception):
"""Base class for regression test exceptions."""
class TestFailed(Error):
"""Test failed."""
class BasicTestRunner:
def run(self, test):
result = unittest.TestResult()
test(result)
return result
def _run_suite(suite, verbose_=1):
"""Run tests from a unittest.TestSuite-derived class."""
global verbose
verbose = verbose_
if verbose_:
runner = unittest.TextTestRunner(sys.stdout, verbosity=2)
else:
runner = BasicTestRunner()
result = runner.run(suite)
if not result.wasSuccessful():
if len(result.errors) == 1 and not result.failures:
err = result.errors[0][1]
elif len(result.failures) == 1 and not result.errors:
err = result.failures[0][1]
else:
err = "errors occurred; run in verbose mode for details"
raise TestFailed(err)
def run_unittest(classes, verbose_=1):
"""Run tests from unittest.TestCase-derived classes.
Originally extracted from stdlib test.test_support and modified to
support unittest2.
"""
valid_types = (unittest.TestSuite, unittest.TestCase)
suite = unittest.TestSuite()
for cls in classes:
if isinstance(cls, str):
if cls in sys.modules:
suite.addTest(unittest.findTestCases(sys.modules[cls]))
else:
raise ValueError("str arguments must be keys in sys.modules")
elif isinstance(cls, valid_types):
suite.addTest(cls)
else:
suite.addTest(unittest.makeSuite(cls))
_run_suite(suite, verbose_)
def reap_children():
"""Use this function at the end of test_main() whenever sub-processes
are started. This will help ensure that no extra children (zombies)
stick around to hog resources and create problems when looking
for refleaks.
Extracted from stdlib test.support.
"""
# Reap all our dead child processes so we don't leave zombies around.
# These hog resources and might be causing some of the buildbots to die.
if hasattr(os, 'waitpid'):
any_process = -1
while True:
try:
# This will raise an exception on Windows. That's ok.
pid, status = os.waitpid(any_process, os.WNOHANG)
if pid == 0:
break
except:
break
def captured_stdout(func, *args, **kw):
orig_stdout = getattr(sys, 'stdout')
setattr(sys, 'stdout', StringIO())
try:
res = func(*args, **kw)
sys.stdout.seek(0)
return res, sys.stdout.read()
finally:
setattr(sys, 'stdout', orig_stdout)
def unload(name):
try:
del sys.modules[name]
except KeyError:
pass
"""Tests for distutils.command.bdist.""" """Tests for distutils.command.bdist."""
import os import os
from test.support import captured_stdout
from packaging.command.bdist import bdist, show_formats from packaging.command.bdist import bdist, show_formats
from packaging.tests import unittest, support, captured_stdout from packaging.tests import unittest, support
class BuildTestCase(support.TempdirManager, class BuildTestCase(support.TempdirManager,
...@@ -42,7 +43,9 @@ class BuildTestCase(support.TempdirManager, ...@@ -42,7 +43,9 @@ class BuildTestCase(support.TempdirManager,
'%s should take --skip-build from bdist' % name) '%s should take --skip-build from bdist' % name)
def test_show_formats(self): def test_show_formats(self):
__, stdout = captured_stdout(show_formats) with captured_stdout() as stdout:
show_formats()
stdout = stdout.getvalue()
# the output should be a header line + one line per format # the output should be a header line + one line per format
num_formats = len(bdist.format_commands) num_formats = len(bdist.format_commands)
......
...@@ -17,8 +17,8 @@ from packaging.util import find_executable ...@@ -17,8 +17,8 @@ from packaging.util import find_executable
from packaging.errors import PackagingOptionError from packaging.errors import PackagingOptionError
from packaging.command.sdist import sdist, show_formats from packaging.command.sdist import sdist, show_formats
from test.support import captured_stdout
from packaging.tests import support, unittest from packaging.tests import support, unittest
from packaging.tests import captured_stdout
from packaging.tests.support import requires_zlib from packaging.tests.support import requires_zlib
...@@ -234,7 +234,9 @@ class SDistTestCase(support.TempdirManager, ...@@ -234,7 +234,9 @@ class SDistTestCase(support.TempdirManager,
self.assertIn("'setup.cfg' file not found", warnings[1]) self.assertIn("'setup.cfg' file not found", warnings[1])
def test_show_formats(self): def test_show_formats(self):
__, stdout = captured_stdout(show_formats) with captured_stdout() as stdout:
show_formats()
stdout = stdout.getvalue()
# the output should be a header line + one line per format # the output should be a header line + one line per format
num_formats = len(get_archive_formats()) num_formats = len(get_archive_formats())
......
...@@ -8,7 +8,6 @@ import packaging.dist ...@@ -8,7 +8,6 @@ import packaging.dist
from packaging.dist import Distribution from packaging.dist import Distribution
from packaging.command.cmd import Command from packaging.command.cmd import Command
from packaging.errors import PackagingModuleError, PackagingOptionError from packaging.errors import PackagingModuleError, PackagingOptionError
from packaging.tests import captured_stdout
from packaging.tests import support, unittest from packaging.tests import support, unittest
from packaging.tests.support import create_distribution, use_command from packaging.tests.support import create_distribution, use_command
from test.support import unload from test.support import unload
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment