Skip to content

Commit 1beac1d

Browse files
committed
Add missing tests.
1 parent a10d563 commit 1beac1d

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

PyFunceble/ext/process_manager/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ def ignore_if_terminating(func: Callable[..., Any]) -> Callable[..., Any]:
492492

493493
@functools.wraps(func)
494494
def wrapper(self, *args, **kwargs):
495-
if self.is_terminating():
495+
if self.is_terminating(): # pragma: no cover # impossible to test - yet.
496496
return self
497497

498498
return func(self, *args, **kwargs) # pylint: disable=not-callable

tests/test_process_core.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,40 @@ def test_terminate(process_manager):
483483
assert len(process_manager.created_workers) == 0
484484

485485

486+
def test_terminate_wrong_mode(process_manager):
487+
process_manager.push_to_output_queues = MagicMock()
488+
489+
process_manager.spawn_worker()
490+
process_manager.spawn_worker()
491+
492+
assert len(process_manager.created_workers) == 2
493+
494+
with pytest.raises(ValueError):
495+
process_manager.terminate(mode="foobar")
496+
497+
assert len(process_manager.created_workers) == 2
498+
499+
500+
def test_terminate_hard(process_manager):
501+
process_manager.push_to_output_queues = MagicMock()
502+
503+
worker1 = process_manager.spawn_worker()
504+
worker2 = process_manager.spawn_worker()
505+
506+
worker1.terminate = MagicMock()
507+
worker2.terminate = MagicMock()
508+
509+
assert len(process_manager.created_workers) == 2
510+
511+
process_manager.terminate(mode="hard")
512+
513+
# In the hard mode, we terminate all workers without waiting for them to finish.
514+
worker1.terminate.assert_called_once()
515+
worker2.terminate.assert_called_once()
516+
517+
assert len(process_manager.created_workers) == 0
518+
519+
486520
def test_terminate_spread_stop_signal(process_manager):
487521
process_manager.push_to_output_queues = MagicMock()
488522
process_manager.spread_stop_signal = True

0 commit comments

Comments
 (0)