Avoid garbage collection for instrument coordinator components

Explanation of changes

  • Keeps track of all instances of InstrumentCoordinatorComponentBase in 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.

@dcrielaard

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

Merge request reports

Loading