(use-modules (tests) (srfi srfi-71) (fibers) (unit-test) (knots) (knots thread-pool)) (let ((thread-pool (make-thread-pool 2))) (run-fibers-for-tests (lambda () (assert-equal (call-with-thread thread-pool (lambda () 4)) 4)))) (let ((thread-pool (make-thread-pool 2 #:thread-initializer (const '(2))))) (run-fibers-for-tests (lambda () (assert-equal (call-with-thread thread-pool (lambda (num) (* 2 num))) 4)))) (let ((process-job count-jobs count-threads list-jobs (create-work-queue 2 (lambda (i) (* i 2))))) (process-job 3)) (let ((thread-pool (make-thread-pool 2))) (run-fibers-for-tests (lambda () (assert-equal #t (with-exception-handler (lambda (exn) (knots-exception? exn)) (lambda () (call-with-thread thread-pool (lambda () (+ 1 'a)))) #:unwind? #t))))) (display "thread-pool test finished successfully\n")