| 1 | module executor |
| 2 | |
| 3 | fn test_new_rejects_zero_queue_size() { |
| 4 | new(queue_size: 0) or { |
| 5 | assert err.msg() == 'executor: queue size must be positive' |
| 6 | return |
| 7 | } |
| 8 | assert false, 'new accepted a zero queue size' |
| 9 | } |
| 10 | |
| 11 | fn test_new_rejects_negative_queue_size() { |
| 12 | new(queue_size: -1) or { |
| 13 | assert err.msg() == 'executor: queue size must be positive' |
| 14 | return |
| 15 | } |
| 16 | assert false, 'new accepted a negative queue size' |
| 17 | } |
| 18 | |
| 19 | fn test_try_post_rejects_nil_job() { |
| 20 | mut ex := new(queue_size: 1)! |
| 21 | nil_job := unsafe { JobFn(nil) } |
| 22 | ex.try_post(nil_job) or { |
| 23 | assert err.msg() == 'executor: job function is nil' |
| 24 | ex.stop() |
| 25 | return |
| 26 | } |
| 27 | assert false, 'try_post accepted a nil job' |
| 28 | } |
| 29 | |