]> granicus.if.org Git - python/commitdiff
more test coverage for distutils sdist command
authorTarek Ziadé <ziade.tarek@gmail.com>
Thu, 14 May 2009 12:40:59 +0000 (12:40 +0000)
committerTarek Ziadé <ziade.tarek@gmail.com>
Thu, 14 May 2009 12:40:59 +0000 (12:40 +0000)
Lib/distutils/command/sdist.py
Lib/distutils/tests/test_sdist.py

index a9ce28a7ebac709342bf02082f60c6edba767cc9..f77f52c1740ea4f23164ec352daf171e0229ab10 100644 (file)
@@ -16,19 +16,18 @@ from distutils.filelist import FileList
 from distutils import log
 from distutils.util import convert_path
 
-def show_formats ():
+def show_formats():
     """Print all possible values for the 'formats' option (used by
     the "--help-formats" command-line option).
     """
     from distutils.fancy_getopt import FancyGetopt
     from distutils.archive_util import ARCHIVE_FORMATS
-    formats=[]
+    formats = []
     for format in ARCHIVE_FORMATS.keys():
         formats.append(("formats=" + format, None,
                         ARCHIVE_FORMATS[format][2]))
     formats.sort()
-    pretty_printer = FancyGetopt(formats)
-    pretty_printer.print_help(
+    FancyGetopt(formats).print_help(
         "List of available source distribution formats:")
 
 class sdist (Command):
index 8af080f95027d53177672bebb96461d89440f849..551357edc7b5fa4844a1e83ebefa79a10f4bbb12 100644 (file)
@@ -7,12 +7,16 @@ from os.path import join
 import sys
 import tempfile
 
+from test.test_support import captured_stdout
+
 from distutils.command.sdist import sdist
+from distutils.command.sdist import show_formats
 from distutils.core import Distribution
 from distutils.tests.test_config import PyPIRCCommandTestCase
 from distutils.errors import DistutilsExecError
 from distutils.spawn import find_executable
 from distutils.tests import support
+from distutils.archive_util import ARCHIVE_FORMATS
 
 SETUP_PY = """
 from distutils.core import setup
@@ -210,6 +214,16 @@ class sdistTestCase(PyPIRCCommandTestCase):
         manifest = open(join(self.tmp_dir, 'MANIFEST')).read()
         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():
     return unittest.makeSuite(sdistTestCase)