From a565848dfa1165ee29f16b71510c8ef041d9fb3c Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Mon, 13 Jul 2020 15:02:44 +0300 Subject: [PATCH] tests: remove duplicate test autolock_array_1_test.v --- vlib/v/tests/autolock_array_1_test.v | 52 ---------------------------- 1 file changed, 52 deletions(-) delete mode 100644 vlib/v/tests/autolock_array_1_test.v diff --git a/vlib/v/tests/autolock_array_1_test.v b/vlib/v/tests/autolock_array_1_test.v deleted file mode 100644 index 9919ca40d9..0000000000 --- a/vlib/v/tests/autolock_array_1_test.v +++ /dev/null @@ -1,52 +0,0 @@ -import sync -import time - -const ( - iterations_per_thread = 100000 -) - -fn add_elements(shared foo []int, n int) { - for _ in 0 .. iterations_per_thread { - foo << n - } - // automatic lock is not yet implemented for this... - lock foo { - foo[0]++ - } -} - -fn test_autolocked_array() { - shared abc := &[0] - go add_elements(shared abc, 1) - go add_elements(shared abc, 3) - for _ in 0 .. iterations_per_thread { - abc << 0 - } - // wait for coroutines to finish - that should really be - // done by channels, yield, semaphore... - for { - mut finished_threads := 0 - rlock abc { - finished_threads = abc[0] - } - if finished_threads == 2 { - break - } - time.sleep_ms(100) - } - // create histogram of results - mut result := [0, 0, 0, 0] - rlock abc { - // automatic rlock for iteration is also not implemented, yet - for v in abc { - if v > 3 { - panic('unexpected element on array') - } - result[v]++ - } - } - assert result[0] == iterations_per_thread - assert result[1] == iterations_per_thread - assert result[2] == 1 // number of non-main threads - assert result[3] == iterations_per_thread -}