Avoid garbage collection for instrument coordinator components
Explanation of changes
- Keeps track of all instances of
InstrumentCoordinatorComponentBasein a class dictionary. - Changes test such that the integration with QCoDeS is fully tested including garbage collection (main issue of #151 (closed)).
This is a proposal to address #151 (closed). After giving more thought to this I do not see any issue with this implementation. But I might be wrong.
@AdriaanRol is there any use-case that this would violate? I think reloading at least should be safe.
Motivation of changes
Closes #151 (closed)
Merge checklist
See also merge request guidelines
-
Merge request has been reviewed and approved by a project maintainer. -
Merge request contains a clear description of the proposed changes and the issue it addresses. -
Merge request made onto appropriate branch (develop for most MRs). -
New code is fully tested. -
New code is documented and docstrings use numpydoc format. -
Changelog has been updated (when applicable). -
CI pipelines pass - black code-formatting passes (gitlab-ci),
- test suite passes (gitlab-ci),
- no degradation in code-coverage (codacy),
- no (serious) new pylint code quality issues introduced (codacy),
- documentation builds successfully (CI and readthedocs),
-
windows tests pass (manually triggered by maintainers before merging).
For reference, the issues workflow is described in the contribution guidelines.
Edited by Victor Negîrneac