vxx2 / vlib / x / executor / config_test.v
28 lines · 25 sloc · 660 bytes · e80386b6af8a071a2e13fd654ebcdb2105fb9202
Raw
1module executor
2
3fn 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
11fn 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
19fn 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