[Python-checkins] r71585 - in python/trunk/Lib/distutils: cmd.py tests/test_cmd.py

tarek.ziade python-checkins at python.org
Mon Apr 13 22:03:45 CEST 2009


Author: tarek.ziade
Date: Mon Apr 13 22:03:44 2009
New Revision: 71585
Log:
improved test coverage for distutils.cmd
Modified:
 python/trunk/Lib/distutils/cmd.py
 python/trunk/Lib/distutils/tests/test_cmd.py
Modified: python/trunk/Lib/distutils/cmd.py
==============================================================================
--- python/trunk/Lib/distutils/cmd.py	(original)
+++ python/trunk/Lib/distutils/cmd.py	Mon Apr 13 22:03:44 2009
@@ -214,7 +214,7 @@
 # and they can be guaranteed that thereafter, self.foo will be
 # a list of strings.
 
- def _ensure_stringlike (self, option, what, default=None):
+ def _ensure_stringlike(self, option, what, default=None):
 val = getattr(self, option)
 if val is None:
 setattr(self, option, default)
@@ -224,13 +224,13 @@
 "'%s' must be a %s (got `%s`)" % (option, what, val)
 return val
 
- def ensure_string (self, option, default=None):
+ def ensure_string(self, option, default=None):
 """Ensure that 'option' is a string; if not defined, set it to
 'default'.
 """
 self._ensure_stringlike(option, "string", default)
 
- def ensure_string_list (self, option):
+ def ensure_string_list(self, option):
 """Ensure that 'option' is a list of strings. If 'option' is
 currently a string, we split it either on /,\s*/ or /\s+/, so
 "foo bar baz", "foo,bar,baz", and "foo, bar baz" all become
@@ -258,20 +258,20 @@
 (option, val)
 
 
- def _ensure_tested_string (self, option, tester,
- what, error_fmt, default=None):
+ def _ensure_tested_string(self, option, tester,
+ what, error_fmt, default=None):
 val = self._ensure_stringlike(option, what, default)
 if val is not None and not tester(val):
 raise DistutilsOptionError, \
 ("error in '%s' option: " + error_fmt) % (option, val)
 
- def ensure_filename (self, option):
+ def ensure_filename(self, option):
 """Ensure that 'option' is the name of an existing file."""
 self._ensure_tested_string(option, os.path.isfile,
 "filename",
 "'%s' does not exist or is not a file")
 
- def ensure_dirname (self, option):
+ def ensure_dirname(self, option):
 self._ensure_tested_string(option, os.path.isdir,
 "directory name",
 "'%s' does not exist or is not a directory")
Modified: python/trunk/Lib/distutils/tests/test_cmd.py
==============================================================================
--- python/trunk/Lib/distutils/tests/test_cmd.py	(original)
+++ python/trunk/Lib/distutils/tests/test_cmd.py	Mon Apr 13 22:03:44 2009
@@ -1,5 +1,6 @@
 """Tests for distutils.cmd."""
 import unittest
+import os
 
 from distutils.cmd import Command
 from distutils.dist import Distribution
@@ -62,6 +63,45 @@
 ' option2 = 1']
 self.assertEquals(msgs, wanted)
 
+ def test_ensure_string(self):
+ cmd = self.cmd
+ cmd.option1 = 'ok'
+ cmd.ensure_string('option1')
+
+ cmd.option2 = None
+ cmd.ensure_string('option2', 'xxx')
+ self.assert_(hasattr(cmd, 'option2'))
+
+ cmd.option3 = 1
+ self.assertRaises(DistutilsOptionError, cmd.ensure_string, 'option3')
+
+ def test_ensure_string_list(self):
+ cmd = self.cmd
+ cmd.option1 = 'ok,dok'
+ cmd.ensure_string_list('option1')
+ self.assertEquals(cmd.option1, ['ok', 'dok'])
+
+ cmd.option2 = ['xxx', 'www']
+ cmd.ensure_string_list('option2')
+
+ cmd.option3 = ['ok', 2]
+ self.assertRaises(DistutilsOptionError, cmd.ensure_string_list,
+ 'option3')
+
+ def test_ensure_filename(self):
+ cmd = self.cmd
+ cmd.option1 = __file__
+ cmd.ensure_filename('option1')
+ cmd.option2 = 'xxx'
+ self.assertRaises(DistutilsOptionError, cmd.ensure_filename, 'option2')
+
+ def test_ensure_dirname(self):
+ cmd = self.cmd
+ cmd.option1 = os.path.dirname(__file__)
+ cmd.ensure_dirname('option1')
+ cmd.option2 = 'xxx'
+ self.assertRaises(DistutilsOptionError, cmd.ensure_dirname, 'option2')
+
 def test_suite():
 return unittest.makeSuite(CommandTestCase)
 


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /