diff options
Diffstat (limited to 'v_windows/v/vlib/sync/channel_fill_test.v')
-rw-r--r-- | v_windows/v/vlib/sync/channel_fill_test.v | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/v_windows/v/vlib/sync/channel_fill_test.v b/v_windows/v/vlib/sync/channel_fill_test.v new file mode 100644 index 0000000..b4eabc0 --- /dev/null +++ b/v_windows/v/vlib/sync/channel_fill_test.v @@ -0,0 +1,22 @@ +import sync + +const ( + queue_len = 1000 + queue_fill = 763 +) + +fn do_send(ch chan int, mut fin sync.Semaphore) { + for i in 0 .. queue_fill { + ch <- i + } + fin.post() +} + +fn test_channel_len_cap() { + ch := chan int{cap: queue_len} + mut sem := sync.new_semaphore() + go do_send(ch, mut sem) + sem.wait() + assert ch.cap == queue_len + assert ch.len == queue_fill +} |