2024-11-19 18:43:43 +00:00
|
|
|
(use-modules (tests)
|
|
|
|
(fibers)
|
|
|
|
(unit-test)
|
|
|
|
(knots parallelism))
|
|
|
|
|
2024-12-22 12:24:49 +00:00
|
|
|
;; Test fibers-map
|
2024-11-19 18:43:43 +00:00
|
|
|
(run-fibers-for-tests
|
|
|
|
(lambda ()
|
|
|
|
(assert-equal
|
|
|
|
1122
|
|
|
|
(apply + (fibers-map
|
|
|
|
(lambda (i)
|
|
|
|
(* 2 i))
|
|
|
|
(iota 34))))))
|
|
|
|
|
2024-12-22 12:24:49 +00:00
|
|
|
;; Test fibers-batch-map with a large batch size
|
|
|
|
(run-fibers-for-tests
|
|
|
|
(lambda ()
|
|
|
|
(assert-equal
|
|
|
|
1122
|
|
|
|
(apply + (fibers-batch-map
|
|
|
|
(lambda (i)
|
|
|
|
(* 2 i))
|
|
|
|
100
|
|
|
|
(iota 34))))))
|
|
|
|
|
|
|
|
;; Test fibers-map with vectors
|
|
|
|
(run-fibers-for-tests
|
|
|
|
(lambda ()
|
|
|
|
(assert-equal
|
|
|
|
1122
|
|
|
|
(apply + (vector->list
|
|
|
|
(fibers-map
|
|
|
|
(lambda (i)
|
|
|
|
(* 2 i))
|
|
|
|
(list->vector (iota 34))))))))
|
|
|
|
|
|
|
|
;; Test fibers-for-each
|
|
|
|
(run-fibers-for-tests
|
|
|
|
(lambda ()
|
|
|
|
(fibers-for-each
|
|
|
|
(lambda (i)
|
|
|
|
(* 2 i))
|
|
|
|
(iota 34))))
|
|
|
|
|
2024-11-19 18:43:43 +00:00
|
|
|
(display "parallelism test finished successfully\n")
|