aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/old/vlib/sync/array_rlock_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/old/vlib/sync/array_rlock_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/old/vlib/sync/array_rlock_test.v')
-rw-r--r--v_windows/v/old/vlib/sync/array_rlock_test.v38
1 files changed, 38 insertions, 0 deletions
diff --git a/v_windows/v/old/vlib/sync/array_rlock_test.v b/v_windows/v/old/vlib/sync/array_rlock_test.v
new file mode 100644
index 0000000..ad4f778
--- /dev/null
+++ b/v_windows/v/old/vlib/sync/array_rlock_test.v
@@ -0,0 +1,38 @@
+fn test_shared_modification() {
+ shared foo := &[2, 0, 5]
+ lock foo {
+ unsafe {
+ foo[1] = 3
+ foo[0] *= 7
+ foo[1]--
+ foo[2] -= 2
+ }
+ }
+ rlock foo {
+ unsafe {
+ assert foo[0] == 14
+ assert foo[1] == 2
+ assert foo[2] == 3
+ }
+ }
+}
+
+[direct_array_access]
+fn test_shared_direct_modification() {
+ shared foo := &[2, 0, 5]
+ lock foo {
+ unsafe {
+ foo[1] = 3
+ foo[0] *= 7
+ foo[1]--
+ foo[2] -= 2
+ }
+ }
+ rlock foo {
+ unsafe {
+ assert foo[0] == 14
+ assert foo[1] == 2
+ assert foo[2] == 3
+ }
+ }
+}