ATS - Automated Testing System - is an open-source, Python-based tool for automating the running of tests of an application across a broad range of high performance computers.
BSD 3-Clause "New" or "Revised" License
7
stars
5
forks
source link
Resolve circular dependency in "executables.py" #24
In "ats/src/ats/executables.py" the import statement
from configuration import machine
is called from within the Executable class' init function.
This is a circular dependency workaround since
"configuration.py" imports "machines.py"
"machines.py" imports "configuration.py" (the contents of machines.py are not imported yet)
"configuration.py" imports "executables.py"
and "executables.py" imports "configuration.machine" (more accurately: from configuration import machine).
For now the code works since Executable (in executables.py) does not try to reference configuration.machine until after it has been imported elsewhere.
Goal
Resolve dependencies so "from configuration import machine" can exist outside of the Executable.init() call.
Problem
In "ats/src/ats/executables.py" the import statement
is called from within the Executable class' init function.
This is a circular dependency workaround since "configuration.py" imports "machines.py" "machines.py" imports "configuration.py" (the contents of machines.py are not imported yet) "configuration.py" imports "executables.py" and "executables.py" imports "configuration.machine" (more accurately: from configuration import machine).
For now the code works since Executable (in executables.py) does not try to reference configuration.machine until after it has been imported elsewhere.
Goal
Resolve dependencies so "from configuration import machine" can exist outside of the Executable.init() call.