From 6cc162583df2e476db6464a58c96318e3063bd19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 10 Nov 2017 14:59:11 +0000 Subject: Keep the state returned by the tracer callback It was mistakenly discarded. --- test/tracer_SUITE.erl | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'test/tracer_SUITE.erl') diff --git a/test/tracer_SUITE.erl b/test/tracer_SUITE.erl index 6f83fd3..0f7fc5f 100644 --- a/test/tracer_SUITE.erl +++ b/test/tracer_SUITE.erl @@ -98,12 +98,13 @@ do_tracer_callback(Pid) -> fun (Event, _) when Event =:= init; Event =:= terminate -> Pid ! Event, - undefined; + 0; (Event={trace_ts, _, call, {cowboy_req, reply, _}, _}, State) -> Pid ! Event, - State; + Pid ! {state, State}, + State + 1; (_, State) -> - State + State + 1 end. %% Tests. @@ -140,6 +141,23 @@ terminate(Config) -> error(timeout) end. +state(Config) -> + doc("Ensure the returned state is used."), + Ref = config(ref, Config), + Opts = ranch:get_protocol_options(Ref), + ranch:set_protocol_options(Ref, Opts#{ + tracer_callback => do_tracer_callback(self()), + tracer_match_specs => [fun(_,_,_) -> true end] + }), + do_get("/", Config), + receive + {state, St} -> + true = St > 0, + ok + after 100 -> + error(timeout) + end. + empty(Config) -> doc("Empty match specs unconditionally enable tracing."), Ref = config(ref, Config), -- cgit v1.2.3