more test coverage for distutils sdist command

This commit is contained in:
Tarek Ziadé 2009-05-14 12:40:59 +00:00
parent 51d06abc99
commit 064a768101
2 changed files with 17 additions and 4 deletions

View File

@ -16,19 +16,18 @@ from distutils.filelist import FileList
from distutils import log from distutils import log
from distutils.util import convert_path from distutils.util import convert_path
def show_formats (): def show_formats():
"""Print all possible values for the 'formats' option (used by """Print all possible values for the 'formats' option (used by
the "--help-formats" command-line option). the "--help-formats" command-line option).
""" """
from distutils.fancy_getopt import FancyGetopt from distutils.fancy_getopt import FancyGetopt
from distutils.archive_util import ARCHIVE_FORMATS from distutils.archive_util import ARCHIVE_FORMATS
formats=[] formats = []
for format in ARCHIVE_FORMATS.keys(): for format in ARCHIVE_FORMATS.keys():
formats.append(("formats=" + format, None, formats.append(("formats=" + format, None,
ARCHIVE_FORMATS[format][2])) ARCHIVE_FORMATS[format][2]))
formats.sort() formats.sort()
pretty_printer = FancyGetopt(formats) FancyGetopt(formats).print_help(
pretty_printer.print_help(
"List of available source distribution formats:") "List of available source distribution formats:")
class sdist (Command): class sdist (Command):

View File

@ -7,12 +7,16 @@ from os.path import join
import sys import sys
import tempfile import tempfile
from test.test_support import captured_stdout
from distutils.command.sdist import sdist from distutils.command.sdist import sdist
from distutils.command.sdist import show_formats
from distutils.core import Distribution from distutils.core import Distribution
from distutils.tests.test_config import PyPIRCCommandTestCase from distutils.tests.test_config import PyPIRCCommandTestCase
from distutils.errors import DistutilsExecError from distutils.errors import DistutilsExecError
from distutils.spawn import find_executable from distutils.spawn import find_executable
from distutils.tests import support from distutils.tests import support
from distutils.archive_util import ARCHIVE_FORMATS
SETUP_PY = """ SETUP_PY = """
from distutils.core import setup from distutils.core import setup
@ -210,6 +214,16 @@ class sdistTestCase(PyPIRCCommandTestCase):
manifest = open(join(self.tmp_dir, 'MANIFEST')).read() manifest = open(join(self.tmp_dir, 'MANIFEST')).read()
self.assertEquals(manifest, MANIFEST % {'sep': os.sep}) self.assertEquals(manifest, MANIFEST % {'sep': os.sep})
def test_show_formats(self):
with captured_stdout() as stdout:
show_formats()
# the output should be a header line + one line per format
num_formats = len(ARCHIVE_FORMATS.keys())
output = [line for line in stdout.getvalue().split('\n')
if line.strip().startswith('--formats=')]
self.assertEquals(len(output), num_formats)
def test_suite(): def test_suite():
return unittest.makeSuite(sdistTestCase) return unittest.makeSuite(sdistTestCase)