(self, depth, alter_sys=False,
*, namespace=False, parent_namespaces=False)
| 335 | if verbose > 1: print("Module executed successfully") |
| 336 | |
| 337 | def _check_package(self, depth, alter_sys=False, |
| 338 | *, namespace=False, parent_namespaces=False): |
| 339 | pkg_dir, mod_fname, mod_name, mod_spec = ( |
| 340 | self._make_pkg(example_source, depth, "__main__", |
| 341 | namespace=namespace, |
| 342 | parent_namespaces=parent_namespaces)) |
| 343 | pkg_name = mod_name.rpartition(".")[0] |
| 344 | forget(mod_name) |
| 345 | expected_ns = example_namespace.copy() |
| 346 | expected_ns.update({ |
| 347 | "__name__": mod_name, |
| 348 | "__file__": mod_fname, |
| 349 | "__package__": pkg_name, |
| 350 | "__spec__": mod_spec, |
| 351 | }) |
| 352 | if alter_sys: |
| 353 | expected_ns.update({ |
| 354 | "run_argv0": mod_fname, |
| 355 | "run_name_in_sys_modules": True, |
| 356 | "module_in_sys_modules": True, |
| 357 | }) |
| 358 | def create_ns(init_globals): |
| 359 | return run_module(pkg_name, init_globals, alter_sys=alter_sys) |
| 360 | try: |
| 361 | if verbose > 1: print("Running from source:", pkg_name) |
| 362 | self.check_code_execution(create_ns, expected_ns) |
| 363 | importlib.invalidate_caches() |
| 364 | __import__(mod_name) |
| 365 | if not sys.dont_write_bytecode: |
| 366 | make_legacy_pyc(mod_fname, allow_compile=True) |
| 367 | unload(mod_name) # In case loader caches paths |
| 368 | os.remove(mod_fname) |
| 369 | if verbose > 1: print("Running from compiled:", pkg_name) |
| 370 | importlib.invalidate_caches() |
| 371 | self._fix_ns_for_legacy_pyc(expected_ns, alter_sys) |
| 372 | self.check_code_execution(create_ns, expected_ns) |
| 373 | else: |
| 374 | os.remove(mod_fname) |
| 375 | finally: |
| 376 | self._del_pkg(pkg_dir) |
| 377 | if verbose > 1: print("Package executed successfully") |
| 378 | |
| 379 | def _add_relative_modules(self, base_dir, source, depth): |
| 380 | if depth <= 1: |
no test coverage detected