fix test_autodoc with Python 3.6.5

This commit is contained in:
Charalampos Stratakis 2018-04-11 19:05:47 +02:00
parent 61f25030e6
commit 9e75ecd41f
2 changed files with 36 additions and 0 deletions

32
fix-test_autodoc.patch Normal file
View File

@ -0,0 +1,32 @@
diff --git a/sphinx/util/inspect.py b/sphinx/util/inspect.py
index e8427fd84..492db8700 100644
--- a/sphinx/util/inspect.py
+++ b/sphinx/util/inspect.py
@@ -313,7 +313,10 @@ def __init__(self, subject, bound_method=False):
try:
self.signature = inspect.signature(subject)
except IndexError:
- if hasattr(subject, '_partialmethod'): # partialmethod with no argument
+ # Until python 3.6.4, cpython has been crashed on inspection for
+ # partialmethods not having any arguments.
+ # https://bugs.python.org/issue33009
+ if hasattr(subject, '_partialmethod'):
self.signature = None
self.partialmethod_with_noargs = True
else:
diff --git a/tests/test_autodoc.py b/tests/test_autodoc.py
index 9398edc34..ed6d050fa 100644
--- a/tests/test_autodoc.py
+++ b/tests/test_autodoc.py
@@ -952,7 +952,10 @@ def call_autodoc(objtype, name):
' Update state of cell to *state*.',
' ',
]
- if sys.version_info < (3, 5, 4):
+ if (sys.version_info < (3, 5, 4) or
+ (3, 6, 5) <= sys.version_info < (3, 7) or
+ (3, 7, 0, 'beta', 3) <= sys.version_info):
+ # TODO: this condition should be updated after 3.7-final release.
expected = '\n'.join(expected).replace(' -> None', '').split('\n')
assert call_autodoc('class', 'target.partialmethod.Cell') == expected

View File

@ -42,6 +42,10 @@ Source6: default-sphinx-command.in
# to fetch images, which is not possible in koji or mock.
Patch0: xfail-test_latex_remote_images.patch
# Fix test_autodoc failure with Python 3.6.5
# Fixed upstream: https://github.com/sphinx-doc/sphinx/pull/4822
patch1: fix-test_autodoc.patch
BuildArch: noarch
BuildRequires: python2-devel >= 2.4
BuildRequires: python2-babel