Skip to content

Commit 17441cc

Browse files
make excluded threadunsafe tests threadsafe
1 parent 3b9e4fd commit 17441cc

File tree

1 file changed

+6
-20
lines changed

1 file changed

+6
-20
lines changed

test/distributed_exec.jl

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -159,18 +159,6 @@ function _getenv_include_thread_unsafe()
159159
return b
160160
end
161161
const _env_include_thread_unsafe = _getenv_include_thread_unsafe()
162-
function include_thread_unsafe_tests()
163-
if Threads.maxthreadid() > 1
164-
if _env_include_thread_unsafe
165-
return true
166-
end
167-
msg = "Skipping a thread-unsafe test because `Threads.maxthreadid() > 1`"
168-
@warn msg Threads.maxthreadid()
169-
Test.@test_broken false
170-
return false
171-
end
172-
return true
173-
end
174162

175163
# Distributed GC tests for Futures
176164
function test_futures_dgc(id)
@@ -294,16 +282,14 @@ let wid1 = workers()[1],
294282
fstore = RemoteChannel(wid2)
295283

296284
put!(fstore, rr)
297-
if include_thread_unsafe_tests()
298-
# timedwait() is necessary because wid1 is asynchronously informed of
299-
# the existence of rr/rrid through the call to `put!(fstore, rr)`.
300-
@test timedwait(() -> remotecall_fetch(k -> haskey(Distributed.PGRP.refs, k), wid1, rrid), 10) === :ok
301-
end
285+
# timedwait() is necessary because wid1 is asynchronously informed of
286+
# the existence of rr/rrid through the call to `put!(fstore, rr)`.
287+
@test timedwait(() -> remotecall_fetch(k -> haskey(Distributed.PGRP.refs, k), wid1, rrid), 10) === :ok
288+
302289
finalize(rr) # finalize locally
303290
yield() # flush gc msgs
304-
if include_thread_unsafe_tests()
305-
@test remotecall_fetch(k -> haskey(Distributed.PGRP.refs, k), wid1, rrid) == true
306-
end
291+
@test timedwait(() -> remotecall_fetch(k -> haskey(Distributed.PGRP.refs, k), wid1, rrid), 10) === :ok
292+
307293
remotecall_fetch(r -> (finalize(take!(r)); yield(); nothing), wid2, fstore) # finalize remotely
308294
sleep(0.5) # to ensure that wid2 messages have been executed on wid1
309295
@test poll_while(() -> remotecall_fetch(k -> haskey(Distributed.PGRP.refs, k), wid1, rrid))

0 commit comments

Comments
 (0)