diff options
author | Théo de la Hogue | 2023-05-31 11:36:49 +0200 |
---|---|---|
committer | Théo de la Hogue | 2023-05-31 11:36:49 +0200 |
commit | 9fd1954be304ec7691667b635f10eb61bd5e25d8 (patch) | |
tree | 352edec698ef307d42a2de10736077b2402a6ade | |
parent | 5ff3aacbea7507f74d0d2217fdc9aaa5a2bee6b0 (diff) | |
download | argaze-9fd1954be304ec7691667b635f10eb61bd5e25d8.zip argaze-9fd1954be304ec7691667b635f10eb61bd5e25d8.tar.gz argaze-9fd1954be304ec7691667b635f10eb61bd5e25d8.tar.bz2 argaze-9fd1954be304ec7691667b635f10eb61bd5e25d8.tar.xz |
Adding an importFromTestPackage function for testing purpose.
-rw-r--r-- | src/argaze/utils/MiscFeatures.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/argaze/utils/MiscFeatures.py b/src/argaze/utils/MiscFeatures.py index 46e0269..09c289d 100644 --- a/src/argaze/utils/MiscFeatures.py +++ b/src/argaze/utils/MiscFeatures.py @@ -30,6 +30,26 @@ def printProgressBar (iteration:int, total:int, prefix:str = '', suffix:str = '' if iteration == total: print() +def importFromTestPackage(module: str): + """Import module from ArGaze test package. + * **Returns:** + - a module named <Module>Test""" + + import argaze + import importlib.util + import sys + import os + + source_directory = os.path.dirname(os.path.dirname(os.path.abspath(argaze.__file__))) + module_directory = os.path.join(source_directory, 'argaze.test', f'{module}.py') + + spec = importlib.util.spec_from_file_location(f'{module}Test', module_directory) + TestModule = importlib.util.module_from_spec(spec) + sys.modules[f'{module}Test'] = TestModule + spec.loader.exec_module(TestModule) + + return TestModule + class ExitSignalHandler(): """Handle exit event""" def __init__(self): |