]> granicus.if.org Git - python/commitdiff
removed sys.platform == 'mac' support in distutils.dist.parse_command_line and improv...
authorTarek Ziadé <ziade.tarek@gmail.com>
Sun, 17 May 2009 10:44:12 +0000 (10:44 +0000)
committerTarek Ziadé <ziade.tarek@gmail.com>
Sun, 17 May 2009 10:44:12 +0000 (10:44 +0000)
Lib/distutils/dist.py
Lib/distutils/tests/test_dist.py

index 0c77f85e7b3ea0977feb42fe30031dff7d3d761e..93325b97209a2c2c2e7a5442cd6cda0dbe462ce0 100644 (file)
@@ -414,11 +414,6 @@ Common commands: (see '--help-commands' for more)
         # that allows the user to interactively specify the "command line".
         #
         toplevel_options = self._get_toplevel_options()
-        if sys.platform == 'mac':
-            import EasyDialogs
-            cmdlist = self.get_command_list()
-            self.script_args = EasyDialogs.GetArgv(
-                toplevel_options + self.display_options, cmdlist)
 
         # We have to parse the command line a bit at a time -- global
         # options, then the first command, then its options, and so on --
@@ -438,7 +433,6 @@ Common commands: (see '--help-commands' for more)
         # for display options we return immediately
         if self.handle_display_options(option_order):
             return
-
         while args:
             args = self._parse_command_opts(parser, args)
             if args is None:            # user asked for help (and got it)
index 3304790b51f039e33cbe88f24d481e1c34c96b2a..49230c54c00b336aa2b6ca4f04fd40c6dd5f5886 100644 (file)
@@ -1,19 +1,19 @@
 # -*- coding: latin-1 -*-
 
 """Tests for distutils.dist."""
-
-import distutils.cmd
-import distutils.dist
 import os
 import StringIO
 import sys
 import unittest
 import warnings
 
-from test.test_support import TESTFN
+from distutils.dist import Distribution, fix_help_options
+from distutils.cmd import Command
+
+from test.test_support import TESTFN, captured_stdout
 from distutils.tests import support
 
-class test_dist(distutils.cmd.Command):
+class test_dist(Command):
     """Sample distutils extension command."""
 
     user_options = [
@@ -24,7 +24,7 @@ class test_dist(distutils.cmd.Command):
         self.sample_option = None
 
 
-class TestDistribution(distutils.dist.Distribution):
+class TestDistribution(Distribution):
     """Distribution subclasses that avoids the default search for
     configuration files.
 
@@ -104,7 +104,7 @@ class DistributionTestCase(support.TempdirManager, unittest.TestCase):
         # Check DistributionMetadata handling of Unicode fields
         tmp_dir = self.mkdtemp()
         my_file = os.path.join(tmp_dir, 'f')
-        klass = distutils.dist.Distribution
+        klass = Distribution
 
         dist = klass(attrs={'author': u'Mister Café',
                             'name': 'my.package',
@@ -131,7 +131,7 @@ class DistributionTestCase(support.TempdirManager, unittest.TestCase):
     def test_empty_options(self):
         # an empty options dictionary should not stay in the
         # list of attributes
-        klass = distutils.dist.Distribution
+        klass = Distribution
 
         # catching warnings
         warns = []
@@ -157,7 +157,7 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
     def test_simple_metadata(self):
         attrs = {"name": "package",
                  "version": "1.0"}
-        dist = distutils.dist.Distribution(attrs)
+        dist = Distribution(attrs)
         meta = self.format_metadata(dist)
         self.assert_("Metadata-Version: 1.0" in meta)
         self.assert_("provides:" not in meta.lower())
@@ -168,7 +168,7 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
         attrs = {"name": "package",
                  "version": "1.0",
                  "provides": ["package", "package.sub"]}
-        dist = distutils.dist.Distribution(attrs)
+        dist = Distribution(attrs)
         self.assertEqual(dist.metadata.get_provides(),
                          ["package", "package.sub"])
         self.assertEqual(dist.get_provides(),
@@ -179,8 +179,7 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
         self.assert_("obsoletes:" not in meta.lower())
 
     def test_provides_illegal(self):
-        self.assertRaises(ValueError,
-                          distutils.dist.Distribution,
+        self.assertRaises(ValueError, Distribution,
                           {"name": "package",
                            "version": "1.0",
                            "provides": ["my.pkg (splat)"]})
@@ -189,7 +188,7 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
         attrs = {"name": "package",
                  "version": "1.0",
                  "requires": ["other", "another (==1.0)"]}
-        dist = distutils.dist.Distribution(attrs)
+        dist = Distribution(attrs)
         self.assertEqual(dist.metadata.get_requires(),
                          ["other", "another (==1.0)"])
         self.assertEqual(dist.get_requires(),
@@ -202,8 +201,7 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
         self.assert_("obsoletes:" not in meta.lower())
 
     def test_requires_illegal(self):
-        self.assertRaises(ValueError,
-                          distutils.dist.Distribution,
+        self.assertRaises(ValueError, Distribution,
                           {"name": "package",
                            "version": "1.0",
                            "requires": ["my.pkg (splat)"]})
@@ -212,7 +210,7 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
         attrs = {"name": "package",
                  "version": "1.0",
                  "obsoletes": ["other", "another (<1.0)"]}
-        dist = distutils.dist.Distribution(attrs)
+        dist = Distribution(attrs)
         self.assertEqual(dist.metadata.get_obsoletes(),
                          ["other", "another (<1.0)"])
         self.assertEqual(dist.get_obsoletes(),
@@ -225,8 +223,7 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
         self.assert_("Obsoletes: another (<1.0)" in meta)
 
     def test_obsoletes_illegal(self):
-        self.assertRaises(ValueError,
-                          distutils.dist.Distribution,
+        self.assertRaises(ValueError, Distribution,
                           {"name": "package",
                            "version": "1.0",
                            "obsoletes": ["my.pkg (splat)"]})
@@ -251,7 +248,7 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
         f.close()
 
         try:
-            dist = distutils.dist.Distribution()
+            dist = Distribution()
 
             # linux-style
             if sys.platform in ('linux', 'darwin'):
@@ -269,6 +266,29 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
         finally:
             os.remove(user_filename)
 
+    def test_fix_help_options(self):
+        help_tuples = [('a', 'b', 'c', 'd'), (1, 2, 3, 4)]
+        fancy_options = fix_help_options(help_tuples)
+        self.assertEquals(fancy_options[0], ('a', 'b', 'c'))
+        self.assertEquals(fancy_options[1], (1, 2, 3))
+
+    def test_show_help(self):
+        # smoke test, just makes sure some help is displayed
+        dist = Distribution()
+        old_argv = sys.argv
+        sys.argv = []
+        try:
+            dist.help = 1
+            dist.script_name = 'setup.py'
+            with captured_stdout() as s:
+                dist.parse_command_line()
+        finally:
+            sys.argv = old_argv
+
+        output = [line for line in s.getvalue().split('\n')
+                  if line.strip() != '']
+        self.assert_(len(output) > 0)
+
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(DistributionTestCase))