Skip to content

Commit be72665

Browse files
authored
Make @benchmarkset work with for loop (#284)
Fixes a bug where every iteration of the for loop would overwrite the previous test case. Test.
1 parent ae1f8a7 commit be72665

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/groups.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ function benchmarkset_block(title, ex::Expr)
391391
stack = GlobalRef(BenchmarkTools, :benchmark_stack)
392392
quote
393393
let $(Symbol("#root#")) = last($stack)
394-
$(Symbol("#root#"))[$title] = $(Symbol("#suite#")) = BenchmarkGroup()
394+
$(Symbol("#suite#")) = $(Symbol("#root#"))[$title]
395395
push!($stack, $(Symbol("#suite#")))
396396
$ex
397397
pop!($stack)

test/GroupsTests.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,16 @@ g2[[1, "a", :b]] = "hello" # should create higher levels on the fly
293293
@test haskey(g1["test set"], "test case 1")
294294
@test haskey(g1["test set"], "test case 2")
295295
end
296+
297+
@testset "benchmarkset for loop" begin
298+
g1 = @benchmarkset "test set" for k in 1:2
299+
@case "test case $k" $k + $k
300+
end
301+
302+
@test haskey(g1, "test set")
303+
@test haskey(g1["test set"], "test case 1")
304+
@test haskey(g1["test set"], "test case 2")
305+
end
296306
# pretty printing #
297307
#-----------------#
298308

0 commit comments

Comments
 (0)