bpo-36406: Handle namespace packages in doctest (GH-12520) (GH-17591)

(cherry picked from commit 8289e27393395ee903bd096d42e07c112d7f15c6)

Co-authored-by: Xtreak <tir.karthi@gmail.com>
diff --git a/Lib/doctest.py b/Lib/doctest.py
index bf4889f..dcbcfe5 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -1059,7 +1059,8 @@
         if module is None:
             filename = None
         else:
-            filename = getattr(module, '__file__', module.__name__)
+            # __file__ can be None for namespace packages.
+            filename = getattr(module, '__file__', None) or module.__name__
             if filename[-4:] == ".pyc":
                 filename = filename[:-1]
         return self._parser.get_doctest(docstring, globs, name,