add tests for #15584 (#15619)

* add test for #15584

* Rename userlocks.nim to trlocks.nim

* add bug comment

* improve cmd

* reference bugfix, not bug

* add test that runs rlocks

* disallow joining

joining with other test cases (e.g., a test case that invokes `RLock.initRLock()`) may cause this test to compile, when the goal is to test if these lines can be compiled in isolation

(cherry picked from commit 78cbb52fa0)
This commit is contained in:
n5m
2020-10-18 16:57:13 +00:00
committed by narimiran
parent 8a9da2fa0d
commit 642807de18
2 changed files with 27 additions and 0 deletions

14
tests/stdlib/trlocks.nim Normal file
View File

@@ -0,0 +1,14 @@
discard """
action: "compile"
# Disallow joining to ensure it can compile in isolation.
# See #15584
joinable: false
cmd: "nim $target --threads:on $options $file"
"""
# bugfix #15584
import rlocks
var r: RLock
r.initRLock()

View File

@@ -0,0 +1,13 @@
discard """
cmd: "nim $target --threads:on $options $file"
"""
import rlocks
var r: RLock
r.initRLock()
doAssert r.tryAcquire()
doAssert r.tryAcquire()
r.release()
r.release()
r.deinitRLock()