aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/sync/channel_fill_test.v
diff options
context:
space:
mode:
authorIndrajith K L2022-12-03 17:00:20 +0530
committerIndrajith K L2022-12-03 17:00:20 +0530
commitf5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch)
tree2764fc62da58f2ba8da7ed341643fc359873142f /v_windows/v/vlib/sync/channel_fill_test.v
downloadcli-tools-windows-master.tar.gz
cli-tools-windows-master.tar.bz2
cli-tools-windows-master.zip
Adds most of the toolsHEADmaster
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
+}