Skip to content

Commit 982e473

Browse files
committed
use channel to make test more robust
1 parent 7e3b5d5 commit 982e473

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

test/sample.jl

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -681,14 +681,17 @@
681681

682682
@testset "chain_number keyword argument" begin
683683
@testset for m in [MCMCSerial(), MCMCThreads(), MCMCDistributed()]
684-
# check that the `chain_number` keyword argument is passed to the callback
685-
chain_numbers = Int[]
686-
function callback(args...; kwargs...)
687-
@test haskey(kwargs, :chain_number)
688-
return push!(chain_numbers, kwargs[:chain_number])
684+
niters = 10
685+
channel = Channel{Int}() do chn
686+
# check that the `chain_number` keyword argument is passed to the callback
687+
function callback(args...; kwargs...)
688+
@test haskey(kwargs, :chain_number)
689+
return put!(chn, kwargs[:chain_number])
690+
end
691+
chain = sample(MyModel(), MySampler(), m, niters, 4; callback=callback)
689692
end
690-
chain = sample(MyModel(), MySampler(), m, 10, 4; callback=callback)
691-
@test sort(chain_numbers) == repeat(1:4; inner=10)
693+
chain_numbers = collect(channel)
694+
@test sort(chain_numbers) == repeat(1:4; inner=niters)
692695
end
693696
end
694697

0 commit comments

Comments
 (0)