diff options
Diffstat (limited to 'test/tracer_SUITE.erl')
-rw-r--r-- | test/tracer_SUITE.erl | 24 |
1 files changed, 21 insertions, 3 deletions
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), |