diff --git a/tests/worker_pool.c b/tests/worker_pool.c
index 6a5bcb43289cf69bc19b5d85fa3d8ec88ca6c3a4..e644aa63a92636ef54199f7db8c98c29faf4aeda 100644
--- a/tests/worker_pool.c
+++ b/tests/worker_pool.c
@@ -112,6 +112,21 @@ int main(void)
 	worker_pool_wait(pool);
 	ok(executed_reset(&log) == TASKS_BATCH, "executed count after add");
 
+	// temporary suspension
+
+	worker_pool_suspend(pool);
+
+	for (int i = 0; i < TASKS_BATCH; i++) {
+		worker_pool_assign(pool, &task);
+	}
+
+	sched_yield();
+	ok(executed_reset(&log) == 0, "executed count after suspend");
+
+	worker_pool_resume(pool);
+	worker_pool_wait(pool);
+	ok(executed_reset(&log) == TASKS_BATCH, "executed count after resume");
+
 	// try clean
 
 	pthread_mutex_lock(&log.mx);