diff --git a/tests/test_importall.py b/tests/test_importall.py index dfa867efd37fa786aecf014851cc5c72e8f295df..ca8027790a4fceb962c245fd135028de87ab82b7 100644 --- a/tests/test_importall.py +++ b/tests/test_importall.py @@ -6,20 +6,26 @@ # + import pkgutil +import importlib +import fsl def test_importall(): - import fsl as fsl - import fsl.data as data - import fsl.utils as utils - import fsl.scripts as scripts - - for _, module, _ in pkgutil.iter_modules(fsl.__path__, 'fsl.'): - __import__(module) - for _, module, _ in pkgutil.iter_modules(data.__path__, 'fsl.data.'): - __import__(module) - for _, module, _ in pkgutil.iter_modules(utils.__path__, 'fsl.utils.'): - __import__(module) - for _, module, _ in pkgutil.iter_modules(scripts.__path__, 'fsl.scripts.'): - __import__(module) + + + def recurse(module): + + path = module.__path__ + name = module.__name__ + submods = list(pkgutil.iter_modules(path, '{}.'.format(name))) + + for i, (spath, smodname, ispkg) in enumerate(submods): + + submod = importlib.import_module(smodname) + + if ispkg: + recurse(submod) + + recurse(fsl)