From 8c0e7e49648f4953c7c3e3b73285aa9ab7962f49 Mon Sep 17 00:00:00 2001 From: Jarrett Revels Date: Sat, 8 Dec 2018 09:38:42 -0500 Subject: [PATCH] add test for #73 --- test/misctests.jl | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/test/misctests.jl b/test/misctests.jl index d307b64..3e1f91d 100644 --- a/test/misctests.jl +++ b/test/misctests.jl @@ -383,6 +383,8 @@ println("done (took ", time() - before_time, " seconds)") print(" running MemoizeCtx test...") +before_time = time() + fib(x) = x < 3 ? 1 : fib(x - 2) + fib(x - 1) fibtest(n) = fib(2 * n) + n @@ -399,3 +401,34 @@ result = Cassette.overdub(ctx, fibtest, n) @test all(fib(k) == v for (k, v) in ctx.metadata) println("done (took ", time() - before_time, " seconds)") + +############################################################################################# + +if VERSION >= v"1.1-" + +# ref https://github.com/jrevels/Cassette.jl/issues/73 + +print(" running NoOpCtx test...") + +before_time = time() + +@context NoOpCtx; + +function loop(x, n) + r = x / x + while n > 0 + r *= sin(x) + n -= 1 + end + return r +end + +f(x, n) = overdub(NoOpCtx(), loop, x, n) + +f(2, 50) # warm up + +@test @allocated(f(2, 50)) == 0 + +println("done (took ", time() - before_time, " seconds)") + +end # if block