diff --git a/tests/test_live_view.py b/tests/test_live_view.py index e5245e5efe443b36a3af3a1970b5d23c5e9dd612..f77d456b6815bc5ca02a25e9970a3511827ecf16 100644 --- a/tests/test_live_view.py +++ b/tests/test_live_view.py @@ -134,6 +134,8 @@ def started(spectrometer, plot_timetrace, in_process, in_gitlab_ci): for view in views: view.process.terminate() + plt.close(spectrometer.fig) + @pytest.fixture def stopped(started: list[LiveViewT], in_process: bool): diff --git a/tests/test_serialization.py b/tests/test_serialization.py index ae664a3fb8878a43e844286868c0071188c6c1e1..645393bb530af2946409e5c1960d2f09f21df27d 100644 --- a/tests/test_serialization.py +++ b/tests/test_serialization.py @@ -6,6 +6,8 @@ import time from tempfile import mkdtemp import pytest +from matplotlib import pyplot as plt + from python_spectrometer import Spectrometer, daq from qutil.plotting import is_using_mpl_gui_backend @@ -55,28 +57,28 @@ def spectrometer(monkeypatch, relative_paths: bool, threaded_acquisition: bool): relative_paths=relative_paths) 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 + speck.take('foo', progress=False) + speck.block_until_ready() + if threaded_acquisition: + # Advance two frames in headless mode, otherwise data is not saved. + advance_frames(speck, 2) - # XXX: need to block to avoid timing issues when running tests - speck.take('foo', progress=False) - speck.block_until_ready() - if threaded_acquisition: - # Advance two frames in headless mode, otherwise data is not saved. - advance_frames(speck, 2) + speck.take('baz', fs=1e3, nperseg=400, progress=False) + speck.block_until_ready() + if threaded_acquisition: + advance_frames(speck, 2) - speck.take('baz', fs=1e3, nperseg=400, progress=False) - speck.block_until_ready() - if threaded_acquisition: - advance_frames(speck, 2) + yield speck - yield speck - finally: - for file in speck.files: - remove_file_if_exists(file) - remove_dir_if_exists(speck.savepath) + for file in speck.files: + remove_file_if_exists(file) + remove_dir_if_exists(speck.savepath) - os.chdir(cwd) + os.chdir(cwd) + plt.close(speck.fig) @pytest.fixture @@ -84,18 +86,19 @@ def serialized(done_saving: Spectrometer): spectrometer = done_saving stem = ''.join(random.choices(string.ascii_letters, k=10)) - try: - spectrometer.serialize_to_disk(stem) + spectrometer.serialize_to_disk(stem) - yield spectrometer.savepath / stem - finally: - exts = ['_files.txt'] - if (spectrometer.savepath / stem).is_file(): - remove_file_if_exists(spectrometer.savepath / stem) - else: - exts.extend(['.bak', '.dat', '.dir']) - for ext in exts: - remove_file_if_exists(spectrometer.savepath / f'{stem}{ext}') + yield spectrometer.savepath / stem + + exts = ['_files.txt'] + if (spectrometer.savepath / stem).is_file(): + remove_file_if_exists(spectrometer.savepath / stem) + else: + exts.extend(['.bak', '.dat', '.dir']) + for ext in exts: + remove_file_if_exists(spectrometer.savepath / f'{stem}{ext}') + + plt.close(spectrometer.fig) @pytest.fixture