Skip to content

Commit 7a8f6d4

Browse files
committed
Testing updates
1 parent 8cbc81b commit 7a8f6d4

File tree

3 files changed

+51
-32
lines changed

3 files changed

+51
-32
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import warnings
2+
from qtpy.QtWidgets import QTextEdit
3+
4+
5+
class LogFixture(QTextEdit):
6+
"""Fixture for testing, replaces napari_cellseg3d.interface.Log in model_workers during testing"""
7+
8+
def __init__(self):
9+
super(LogFixture, self).__init__()
10+
11+
def print_and_log(self, text, printing=None):
12+
print(text)
13+
14+
def warn(self, warning):
15+
warnings.warn(warning)
Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,10 @@
11
from tifffile import imread
22
from pathlib import Path
3-
import warnings
4-
5-
from qtpy.QtWidgets import QTextEdit
63

4+
from napari_cellseg3d._tests.fixtures import LogFixture
75
from napari_cellseg3d.code_plugins.plugin_model_inference import Inferer
86

97

10-
class LogFixture(QTextEdit):
11-
def __init__(self):
12-
super(LogFixture, self).__init__()
13-
14-
def print_and_log(self, text, printing=None):
15-
print(text)
16-
17-
def warn(self, warning):
18-
warnings.warn(warning)
19-
20-
218
def test_inference(make_napari_viewer, qtbot):
229

2310
im_path = str(Path(__file__).resolve().parent / "res/test.tif")
@@ -39,10 +26,10 @@ def test_inference(make_napari_viewer, qtbot):
3926

4027
assert widget.check_ready()
4128

42-
widget.start()
43-
assert widget.worker is not None
44-
45-
with qtbot.waitSignal(signal=widget.worker.finished) as blocker:
46-
blocker.connect(widget.worker.errored)
47-
48-
assert len(viewer.layers) == 2
29+
# widget.start() # takes too long on Github Actions (~30min)
30+
# assert widget.worker is not None
31+
#
32+
# with qtbot.waitSignal(signal=widget.worker.finished) as blocker:
33+
# blocker.connect(widget.worker.errored)
34+
#
35+
# assert len(viewer.layers) == 2

napari_cellseg3d/_tests/test_training.py

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,44 @@
1+
from pathlib import Path
2+
13
from napari_cellseg3d import config
2-
from napari_cellseg3d.code_plugins import plugin_model_training as train
4+
from napari_cellseg3d.code_plugins.plugin_model_training import Trainer
5+
from napari_cellseg3d._tests.fixtures import LogFixture
36

47

5-
def test_check_ready(make_napari_viewer):
6-
view = make_napari_viewer()
7-
widget = train.Trainer(view)
8+
def test_training(make_napari_viewer, qtbot):
9+
im_path = str(Path(__file__).resolve().parent / "res/test.tif")
10+
11+
viewer = make_napari_viewer()
12+
widget = Trainer(viewer)
13+
widget.log = LogFixture()
14+
viewer.window.add_dock_widget(widget)
815

916
widget.images_filepath = None
1017
widget.labels_filepaths = None
1118

12-
res = widget.check_ready()
13-
assert not res
19+
assert not widget.check_ready()
20+
21+
assert widget.filetype_choice.currentText() == ".tif"
22+
23+
widget.images_filepaths = [im_path]
24+
widget.labels_filepaths = [im_path]
25+
26+
assert widget.check_ready()
27+
28+
#################
29+
# Training is too long to test properly this way. Do not use on Github
30+
#################
1431

15-
# widget.images_filepath = ["C:/test/something.tif"]
16-
# widget.labels_filepaths = ["C:/test/lab_something.tif"]
17-
# res = widget.check_ready()
32+
# widget.start()
33+
# assert widget.worker is not None
1834
#
19-
# assert res
35+
# with qtbot.waitSignal(signal=widget.worker.finished, timeout=60000) as blocker: # wait only for 60 seconds.
36+
# blocker.connect(widget.worker.errored)
2037

2138

2239
def test_update_loss_plot(make_napari_viewer):
2340
view = make_napari_viewer()
24-
widget = train.Trainer(view)
41+
widget = Trainer(view)
2542

2643
widget.worker_config = config.TrainingWorkerConfig()
2744
widget.worker_config.validation_interval = 1

0 commit comments

Comments
 (0)