Robert Collins added the comment: Ok, so here's whats happening: the default behaviour is to do discovery of '.', which bypasses the namespace support code.
Running with tests as the first parameter works because it doesn't require the directory being directly scanned to be a package. Equally, if the namespace isn't mapped to a local directory, 'python -m unittest tests' will load tests from the tests namespace. So - this seems to be acting as designed. Namespace packages working fine. However, I think what you're asking for is that namespace packages in your cwd are picked up and tested, without you having to supply the namespace name? I think what we'd need for that to work sanely is a patch to teach loader.discover to determine the local namespaces which are present under start_dir. Right now this code: elif os.path.isdir(full_path): if (not namespace and not os.path.isfile(os.path.join(full_path, '__init__.py'))): return None, False gets in your way: we assume that either we're processing a namespace, or there are no namespaces at all. I think some more detangling of the generator could address this fairly cleanly. ---------- stage: -> needs patch title: unittest discovery and namespaced packages -> unittest discovery doesn't detect namespace packages when given no parameters versions: +Python 3.5, Python 3.6 -Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23882> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com