Currently, unit tests for Salt module and for scripts used the SourceFileLoader
class to manually load a specific script. The class load_module() method has
been deprecated for a while and won't be available in Python 3.12+.
Instead, we now use two strategies to import Python code:
- treat _modules/ as a package folder by passing the path as PYTHONPATH
- still use importlib for scripts, with compatible code
To import scripts directly with import can be a challenge, as roles like
"paas-docker" use dashes. The scripts filenames themselves contain dashes.
This fixes the following issue:
<frozen importlib._bootstrap>:283: DeprecationWarning: the load_module() method
is deprecated and slated for removal in Python 3.12; use exec_module() instead