aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/sync/channel_fill_test.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/vlib/sync/channel_fill_test.v')
-rw-r--r--v_windows/v/vlib/sync/channel_fill_test.v22
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
+}