@@ -261,6 +261,7 @@ def is_package_or_sage_namespace_package_dir(path, *, distribution_filter=None):
261261
262262 :mod:`sage.cpython` is an ordinary package::
263263
264+ sage: # optional - !meson_editable
264265 sage: from sage.misc.package_dir import is_package_or_sage_namespace_package_dir
265266 sage: directory = sage.cpython.__path__[0]; directory
266267 '.../sage/cpython'
@@ -270,24 +271,48 @@ def is_package_or_sage_namespace_package_dir(path, *, distribution_filter=None):
270271 :mod:`sage.libs.mpfr` only has an ``__init__.pxd`` file, but we consider
271272 it a package directory for consistency with Cython::
272273
274+ sage: # optional - !meson_editable
273275 sage: directory = os.path.join(sage.libs.__path__[0], 'mpfr'); directory
274276 '.../sage/libs/mpfr'
275- sage: is_package_or_sage_namespace_package_dir(directory) # known bug (seen in build.yml)
277+ sage: is_package_or_sage_namespace_package_dir(directory)
276278 True
277279
278280 :mod:`sage` is designated to become an implicit namespace package::
279281
282+ sage: # optional - !meson_editable
280283 sage: directory = sage.__path__[0]; directory
281284 '.../sage'
282- sage: is_package_or_sage_namespace_package_dir(directory) # known bug (seen in build.yml)
285+ sage: is_package_or_sage_namespace_package_dir(directory)
283286 True
284287
285288 Not a package::
286289
290+ sage: # optional - !meson_editable
287291 sage: directory = os.path.join(sage.symbolic.__path__[0], 'ginac'); directory # needs sage.symbolic
288292 '.../sage/symbolic/ginac'
289293 sage: is_package_or_sage_namespace_package_dir(directory) # needs sage.symbolic
290294 False
295+
296+ TESTS::
297+
298+ sage: # optional - meson_editable
299+ sage: from sage.misc.package_dir import is_package_or_sage_namespace_package_dir
300+ sage: directory = os.path.dirname(sage.cpython.__file__); directory
301+ '.../sage/cpython'
302+ sage: is_package_or_sage_namespace_package_dir(directory)
303+ True
304+
305+ sage: # optional - meson_editable
306+ sage: directory = os.path.join(os.path.dirname(sage.libs.__file__), 'mpfr'); directory
307+ '.../sage/libs/mpfr'
308+ sage: is_package_or_sage_namespace_package_dir(directory)
309+ True
310+
311+ sage: # optional - meson_editable, sage.symbolic
312+ sage: directory = os.path.join(os.path.dirname(sage.symbolic.__file__), 'ginac'); directory
313+ '.../sage/symbolic/ginac'
314+ sage: is_package_or_sage_namespace_package_dir(directory)
315+ False
291316 """
292317 if os .path .exists (os .path .join (path , '__init__.py' )): # ordinary package
293318 return True
@@ -345,8 +370,15 @@ def walk_packages(path=None, prefix='', onerror=None):
345370
346371 EXAMPLES::
347372
373+ sage: # optional - !meson_editable
348374 sage: sorted(sage.misc.package_dir.walk_packages(sage.misc.__path__)) # a namespace package
349375 [..., ModuleInfo(module_finder=FileFinder('.../sage/misc'), name='package_dir', ispkg=False), ...]
376+
377+ TESTS::
378+
379+ sage: # optional - meson_editable
380+ sage: sorted(sage.misc.package_dir.walk_packages(sage.misc.__path__))
381+ [..., ModuleInfo(module_finder=<...MesonpyPathFinder object...>, name='package_dir', ispkg=False), ...]
350382 """
351383 # Adapted from https://github.com/python/cpython/blob/3.11/Lib/pkgutil.py
352384
0 commit comments