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):
import sys
import tempfile
+from 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
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)