How to use _import_root_package method in lisa

Best Python code snippet using lisa_python

package.py

Source:package.py Github

copy

Full Screen

...42 f" loading module from file: {file}, "43 f"full_module_name: '{full_module_name}'",44 )45 importlib.import_module(name=module_name, package=root_package_name)46def _import_root_package(package_name: str, path: Path) -> None:47 # the module can be imported with __init__.py only, but it doesn't need to exist48 init_file = path / "__init__.py"49 spec = importlib.util.spec_from_file_location(50 name=package_name,51 location=init_file,52 )53 assert spec54 module = importlib.util.module_from_spec(spec)55 assert spec.loader56 sys.modules[package_name] = module57 if init_file.exists():58 # if __init__ file exists, execute it's actual import logic.59 spec.loader.exec_module(module)60def import_package(path: Path, package_name: str, enable_log: bool = True) -> None:61 if not path.exists():62 raise FileNotFoundError(f"import module path: {path}")63 if enable_log:64 log: Optional[Logger] = get_logger("init", "module")65 assert log66 log.info(f"loading Python extensions from {path}")67 else:68 log = None69 package_files: Iterable[Path]70 if path.is_file():71 # Import a single module within a package.72 package_dir = path.parent73 package_files = [path]74 else:75 # Import the entire package.76 package_dir = path77 package_files = path.glob("**/*.py")78 # import the package79 _import_root_package(package_name=package_name, path=package_dir)80 # import all the modules in the package81 for file in package_files:82 file_name = file.stem83 # skip test files and __init__.py84 if ("tests" == file.parent.stem and file_name.startswith("test_")) or (85 file.stem == "__init__"86 ):87 continue88 _import_module(89 file=file,90 root_package_name=package_name,91 package_dir=package_dir,92 log=log,93 )

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run lisa automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful