[Python-checkins] cpython: Issue #20226: Added tests for new features and regressions.

larry.hastings python-checkins at python.org
Thu Jan 16 23:15:20 CET 2014


http://hg.python.org/cpython/rev/cd3fdf21a6e4
changeset:   88514:cd3fdf21a6e4
parent:      88512:abf87e1fbc62
user:        Larry Hastings <larry at hastings.org>
date:        Thu Jan 16 14:15:03 2014 -0800
summary:
  Issue #20226: Added tests for new features and regressions.

files:
  Lib/test/test_pydoc.py      |   5 +++++
  Tools/clinic/clinic_test.py |  15 +++++++++++++++
  2 files changed, 20 insertions(+), 0 deletions(-)


diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py
--- a/Lib/test/test_pydoc.py
+++ b/Lib/test/test_pydoc.py
@@ -689,6 +689,11 @@
             self.assertIsNone(pydoc.locate(name))
             self.assertRaises(ImportError, pydoc.render_doc, name)
 
+        # test producing signatures from builtins
+        stat_sig = pydoc.render_doc(os.stat)
+        self.assertEqual(pydoc.plain(stat_sig).splitlines()[2],
+            'stat(path, *, dir_fd=None, follow_symlinks=True)')
+
 
 @unittest.skipUnless(threading, 'Threading required for this test.')
 class PydocServerTest(unittest.TestCase):
diff --git a/Tools/clinic/clinic_test.py b/Tools/clinic/clinic_test.py
--- a/Tools/clinic/clinic_test.py
+++ b/Tools/clinic/clinic_test.py
@@ -9,6 +9,7 @@
 import collections
 import inspect
 from test import support
+import sys
 import unittest
 from unittest import TestCase
 
@@ -277,6 +278,20 @@
         p = function.parameters['follow_symlinks']
         self.assertEqual(True, p.default)
 
+    def test_param_with_continuations(self):
+        function = self.parse_function("module os\nos.access\n    follow_symlinks: \\\n   bool \\\n   =\\\n    True")
+        p = function.parameters['follow_symlinks']
+        self.assertEqual(True, p.default)
+
+    def test_param_default_expression(self):
+        function = self.parse_function("module os\nos.access\n    follow_symlinks: int(c_default='MAXSIZE') = sys.maxsize")
+        p = function.parameters['follow_symlinks']
+        self.assertEqual(sys.maxsize, p.default)
+        self.assertEqual("MAXSIZE", p.converter.c_default)
+
+        s = self.parse_function_should_fail("module os\nos.access\n    follow_symlinks: int = sys.maxsize")
+        self.assertEqual(s, "Error on line 0:\nWhen you specify a named constant ('sys.maxsize') as your default value,\nyou MUST specify a valid c_default.\n")
+
     def test_param_no_docstring(self):
         function = self.parse_function("""
 module os

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list