Skip to content
Snippets Groups Projects
Commit df75f2d0 authored by Tobias Hangleiter's avatar Tobias Hangleiter
Browse files

Merge branch 'enh/close_figures_in_tests' into 'main'

Explicitly close figures to avoid racking up memory

See merge request !75
parents 8a3d6718 2cc563b2
No related branches found
No related tags found
No related merge requests found
Pipeline #1711845 passed
...@@ -134,6 +134,8 @@ def started(spectrometer, plot_timetrace, in_process, in_gitlab_ci): ...@@ -134,6 +134,8 @@ def started(spectrometer, plot_timetrace, in_process, in_gitlab_ci):
for view in views: for view in views:
view.process.terminate() view.process.terminate()
plt.close(spectrometer.fig)
@pytest.fixture @pytest.fixture
def stopped(started: list[LiveViewT], in_process: bool): def stopped(started: list[LiveViewT], in_process: bool):
......
...@@ -6,6 +6,8 @@ import time ...@@ -6,6 +6,8 @@ import time
from tempfile import mkdtemp from tempfile import mkdtemp
import pytest import pytest
from matplotlib import pyplot as plt
from python_spectrometer import Spectrometer, daq from python_spectrometer import Spectrometer, daq
from qutil.plotting import is_using_mpl_gui_backend from qutil.plotting import is_using_mpl_gui_backend
...@@ -55,7 +57,6 @@ def spectrometer(monkeypatch, relative_paths: bool, threaded_acquisition: bool): ...@@ -55,7 +57,6 @@ def spectrometer(monkeypatch, relative_paths: bool, threaded_acquisition: bool):
relative_paths=relative_paths) relative_paths=relative_paths)
speck.savepath.mkdir(parents=True, exist_ok=True) speck.savepath.mkdir(parents=True, exist_ok=True)
try:
os.chdir(speck.savepath) os.chdir(speck.savepath)
# XXX: need to block to avoid timing issues when running tests # XXX: need to block to avoid timing issues when running tests
...@@ -71,12 +72,13 @@ def spectrometer(monkeypatch, relative_paths: bool, threaded_acquisition: bool): ...@@ -71,12 +72,13 @@ def spectrometer(monkeypatch, relative_paths: bool, threaded_acquisition: bool):
advance_frames(speck, 2) advance_frames(speck, 2)
yield speck yield speck
finally:
for file in speck.files: for file in speck.files:
remove_file_if_exists(file) remove_file_if_exists(file)
remove_dir_if_exists(speck.savepath) remove_dir_if_exists(speck.savepath)
os.chdir(cwd) os.chdir(cwd)
plt.close(speck.fig)
@pytest.fixture @pytest.fixture
...@@ -84,11 +86,10 @@ def serialized(done_saving: Spectrometer): ...@@ -84,11 +86,10 @@ def serialized(done_saving: Spectrometer):
spectrometer = done_saving spectrometer = done_saving
stem = ''.join(random.choices(string.ascii_letters, k=10)) stem = ''.join(random.choices(string.ascii_letters, k=10))
try:
spectrometer.serialize_to_disk(stem) spectrometer.serialize_to_disk(stem)
yield spectrometer.savepath / stem yield spectrometer.savepath / stem
finally:
exts = ['_files.txt'] exts = ['_files.txt']
if (spectrometer.savepath / stem).is_file(): if (spectrometer.savepath / stem).is_file():
remove_file_if_exists(spectrometer.savepath / stem) remove_file_if_exists(spectrometer.savepath / stem)
...@@ -97,6 +98,8 @@ def serialized(done_saving: Spectrometer): ...@@ -97,6 +98,8 @@ def serialized(done_saving: Spectrometer):
for ext in exts: for ext in exts:
remove_file_if_exists(spectrometer.savepath / f'{stem}{ext}') remove_file_if_exists(spectrometer.savepath / f'{stem}{ext}')
plt.close(spectrometer.fig)
@pytest.fixture @pytest.fixture
def done_saving(spectrometer: Spectrometer): def done_saving(spectrometer: Spectrometer):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment