|
| 1 | +import importlib |
| 2 | +import pkgutil |
| 3 | + |
| 4 | +import invokeai |
| 5 | + |
| 6 | +KNOWN_IMPORT_ERRORS = { |
| 7 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.setup", |
| 8 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.validate", |
| 9 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.caffe2_benchmark", |
| 10 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.caffe2_validate", |
| 11 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.onnx_optimize", |
| 12 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.onnx_validate", |
| 13 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.onnx_to_caffe", |
| 14 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.geffnet", |
| 15 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.onnx_export", |
| 16 | + "invokeai.backend.model_manager.load.model_cache.torch_module_autocast.custom_modules.custom_invoke_linear_nf4", |
| 17 | + "invokeai.backend.model_manager.load.model_cache.torch_module_autocast.custom_modules.custom_invoke_linear_8_bit_lt", |
| 18 | + "invokeai.backend.image_util.normal_bae.nets.submodules.efficientnet_repo.hubconf", |
| 19 | + "invokeai.backend.quantization.bnb_nf4", |
| 20 | + "invokeai.backend.quantization.bnb_llm_int8", |
| 21 | +} |
| 22 | + |
| 23 | + |
| 24 | +def test_invokeai_imports(): |
| 25 | + modules = {name for _, name, _ in pkgutil.walk_packages(invokeai.__path__, invokeai.__name__ + ".")} |
| 26 | + failed_to_import = set() |
| 27 | + |
| 28 | + for mod in modules: |
| 29 | + try: |
| 30 | + importlib.import_module(mod) |
| 31 | + except Exception: |
| 32 | + if mod not in KNOWN_IMPORT_ERRORS: |
| 33 | + failed_to_import.add(mod) |
| 34 | + |
| 35 | + assert not failed_to_import, f"Modules failed to import: {failed_to_import}" |
0 commit comments