diff --git a/tests/resource-pool.scm b/tests/resource-pool.scm index 2e30cb9..b3a84d7 100644 --- a/tests/resource-pool.scm +++ b/tests/resource-pool.scm @@ -252,4 +252,34 @@ (destroy-resource-pool resource-pool)))) +;; Test allocating resources to waiters and destroying resources +(run-fibers-for-tests + (lambda () + (let ((resource-pool (make-resource-pool + (lambda () + (sleep 1) + 'res) + 2 + #:idle-seconds 1 + #:add-resources-parallelism 10 + #:destructor + (const #t)))) + (fibers-for-each + (lambda _ + (with-resource-from-pool resource-pool + res + res)) + (iota 20)) + + (sleep 2) + + (fibers-for-each + (lambda _ + (with-resource-from-pool resource-pool + res + res)) + (iota 20)) + + (destroy-resource-pool resource-pool)))) + (display "resource-pool test finished successfully\n")