aboutsummaryrefslogtreecommitdiff
path: root/tests/resource-pool.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/resource-pool.scm')
-rw-r--r--tests/resource-pool.scm23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/resource-pool.scm b/tests/resource-pool.scm
index 24a4f53..1d998ef 100644
--- a/tests/resource-pool.scm
+++ b/tests/resource-pool.scm
@@ -72,4 +72,27 @@
(destroy-resource-pool resource-pool))))
+(run-fibers-for-tests
+ (lambda ()
+ (let* ((counter 0)
+ (resource-pool (make-resource-pool
+ (lambda ()
+ (let ((start-val counter))
+ (sleep 0.05)
+ (if (= start-val counter)
+ (set! counter (+ 1 counter))
+ (error "collision detected")))
+ (new-number))
+ 1)))
+ (fibers-for-each
+ (lambda _
+ (with-resource-from-pool
+ resource-pool res
+ (let ((start-val counter))
+ (sleep 0.05)
+ (if (= start-val counter)
+ (set! counter (+ 1 counter))
+ (error "collision detected")))))
+ (iota 50)))))
+
(display "resource-pool test finished successfully\n")