Remove unused code from packaging.tests.__init__

This commit is contained in:
Éric Araujo 2011-11-15 10:48:36 +01:00
parent 36500344b2
commit 9b5c7f44fa
4 changed files with 10 additions and 108 deletions

View File

@ -14,16 +14,11 @@ standard library for packaging tests and unittest2 for distutils2 tests.
import os
import sys
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():
suite = unittest.TestSuite()
here = os.path.dirname(__file__) or os.curdir
for fn in os.listdir(here):
if fn.startswith("test") and fn.endswith(".py"):
modname = "packaging.tests." + fn[:-3]
@ -31,100 +26,3 @@ def test_suite():
module = sys.modules[modname]
suite.addTest(module.test_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

View File

@ -1,7 +1,8 @@
"""Tests for distutils.command.bdist."""
import os
from test.support import captured_stdout
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,
@ -42,7 +43,9 @@ class BuildTestCase(support.TempdirManager,
'%s should take --skip-build from bdist' % name)
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
num_formats = len(bdist.format_commands)

View File

@ -17,8 +17,8 @@ from packaging.util import find_executable
from packaging.errors import PackagingOptionError
from packaging.command.sdist import sdist, show_formats
from test.support import captured_stdout
from packaging.tests import support, unittest
from packaging.tests import captured_stdout
from packaging.tests.support import requires_zlib
@ -234,7 +234,9 @@ class SDistTestCase(support.TempdirManager,
self.assertIn("'setup.cfg' file not found", warnings[1])
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
num_formats = len(get_archive_formats())

View File

@ -8,7 +8,6 @@ import packaging.dist
from packaging.dist import Distribution
from packaging.command.cmd import Command
from packaging.errors import PackagingModuleError, PackagingOptionError
from packaging.tests import captured_stdout
from packaging.tests import support, unittest
from packaging.tests.support import create_distribution, use_command
from test.support import unload