summary refs log tree commit diff stats
path: root/tests/parallel/twrong_refcounts.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/parallel/twrong_refcounts.nim')
-rw-r--r--tests/parallel/twrong_refcounts.nim53
1 files changed, 0 insertions, 53 deletions
diff --git a/tests/parallel/twrong_refcounts.nim b/tests/parallel/twrong_refcounts.nim
deleted file mode 100644
index 57e0588a0..000000000
--- a/tests/parallel/twrong_refcounts.nim
+++ /dev/null
@@ -1,53 +0,0 @@
-discard """
-  output: "Success"
-"""
-
-import math, random, threadPool
-
-# ---
-
-type
-  Person = object
-    age: int
-    friend: ref Person
-
-var
-  people: seq[ref Person] = @[]
-
-proc newPerson(age:int): ref Person =
-  result.new()
-  result.age = age
-
-proc greet(p:Person) =
-  #echo p.age, ", ", p.friend.age
-  p.friend.age += 1
-
-# ---
-
-proc setup =
-  for i in 0 .. <20:
-    people.add newPerson(i + 1)
-  for i in 0 .. <20:
-    people[i].friend = people[random(20)]
-
-proc update =
-  var countA: array[20, int]
-  var countB: array[20, int]
-
-  for i, p in people:
-    countA[i] = getRefCount(p)
-  parallel:
-    for i in 0 .. people.high:
-      spawn greet(people[i][])
-  for i, p in people:
-    countB[i] = getRefCount(p)
-
-  for i in 0 .. <20:
-    doAssert countA[i] == countB[i]
-  echo "Success"
-
-# ---
-
-when isMainModule:
-  setup()
-  update()