summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--sphinx/ext/autodoc/__init__.py13
-rw-r--r--tests/roots/test-ext-autodoc/target/module.py4
-rw-r--r--tests/test_autodoc.py24
4 files changed, 4 insertions, 39 deletions
diff --git a/CHANGES b/CHANGES
index 4df249167..a1a1e7e79 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,8 @@ Dependencies
Incompatible changes
--------------------
+* #6447: autodoc: Stop to generate document for undocumented module variables
+
Deprecated
----------
diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py
index f66269a6b..7172553ac 100644
--- a/sphinx/ext/autodoc/__init__.py
+++ b/sphinx/ext/autodoc/__init__.py
@@ -549,10 +549,8 @@ class Documenter:
if self.analyzer:
attr_docs = self.analyzer.find_attr_docs()
- tagorder = self.analyzer.tagorder
else:
attr_docs = {}
- tagorder = {}
# process members and determine which to skip
for (membername, member) in members:
@@ -582,13 +580,12 @@ class Documenter:
membername in self.options.special_members:
keep = has_doc or self.options.undoc_members
elif (namespace, membername) in attr_docs:
- has_doc = bool(attr_docs[namespace, membername])
if want_all and membername.startswith('_'):
# ignore members whose name starts with _ by default
- keep = has_doc and self.options.private_members
+ keep = self.options.private_members
else:
# keep documented attributes
- keep = has_doc
+ keep = True
isattr = True
elif want_all and membername.startswith('_'):
# ignore members whose name starts with _ by default
@@ -597,8 +594,6 @@ class Documenter:
else:
# ignore undocumented members if :undoc-members: is not given
keep = has_doc or self.options.undoc_members
- # module top level item or not
- isattr = membername in tagorder
# give the user a chance to decide whether this member
# should be skipped
@@ -1296,10 +1291,6 @@ class DataDocumenter(ModuleLevelDocumenter):
return self.get_attr(self.parent or self.object, '__module__', None) \
or self.modname
- def get_doc(self, encoding=None, ignore=1):
- # type: (str, int) -> List[List[str]]
- return []
-
class MethodDocumenter(DocstringSignatureMixin, ClassLevelDocumenter): # type: ignore
"""
diff --git a/tests/roots/test-ext-autodoc/target/module.py b/tests/roots/test-ext-autodoc/target/module.py
deleted file mode 100644
index d5b557d94..000000000
--- a/tests/roots/test-ext-autodoc/target/module.py
+++ /dev/null
@@ -1,4 +0,0 @@
-#: docstring for CONSTANT1
-CONSTANT1 = ""
-
-CONSTANT2 = ""
diff --git a/tests/test_autodoc.py b/tests/test_autodoc.py
index 518d23e8c..f6f5a618c 100644
--- a/tests/test_autodoc.py
+++ b/tests/test_autodoc.py
@@ -1689,30 +1689,6 @@ def test_partialmethod(app):
assert list(actual) == expected
-@pytest.mark.usefixtures('setup_test')
-def test_module_variables():
- options = {"members": None,
- "undoc-members": True}
- actual = do_autodoc(app, 'module', 'target.module', options)
- assert list(actual) == [
- '',
- '.. py:module:: target.module',
- '',
- '',
- '.. py:data:: CONSTANT1',
- ' :module: target.module',
- " :annotation: = ''",
- '',
- ' docstring for CONSTANT1',
- ' ',
- '',
- '.. py:data:: CONSTANT2',
- ' :module: target.module',
- " :annotation: = ''",
- '',
- ]
-
-
@pytest.mark.sphinx('html', testroot='ext-autodoc')
def test_autodoc_typehints_signature(app):
app.config.autodoc_typehints = "signature"