summaryrefslogtreecommitdiff
path: root/test/etap/120-stats-collect.t
diff options
context:
space:
mode:
Diffstat (limited to 'test/etap/120-stats-collect.t')
-rwxr-xr-xtest/etap/120-stats-collect.t150
1 files changed, 0 insertions, 150 deletions
diff --git a/test/etap/120-stats-collect.t b/test/etap/120-stats-collect.t
deleted file mode 100755
index dee88765..00000000
--- a/test/etap/120-stats-collect.t
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/usr/bin/env escript
-%% -*- erlang -*-
-
-% Licensed under the Apache License, Version 2.0 (the "License"); you may not
-% use this file except in compliance with the License. You may obtain a copy of
-% the License at
-%
-% http://www.apache.org/licenses/LICENSE-2.0
-%
-% Unless required by applicable law or agreed to in writing, software
-% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-% License for the specific language governing permissions and limitations under
-% the License.
-
-main(_) ->
- test_util:init_code_path(),
- etap:plan(11),
- case (catch test()) of
- ok ->
- etap:end_tests();
- Other ->
- etap:diag(io_lib:format("Test died abnormally: ~p", [Other])),
- etap:bail()
- end,
- ok.
-
-test() ->
- couch_stats_collector:start(),
- ok = test_counters(),
- ok = test_abs_values(),
- ok = test_proc_counting(),
- ok = test_all(),
- ok.
-
-test_counters() ->
- AddCount = fun() -> couch_stats_collector:increment(foo) end,
- RemCount = fun() -> couch_stats_collector:decrement(foo) end,
- repeat(AddCount, 100),
- repeat(RemCount, 25),
- repeat(AddCount, 10),
- repeat(RemCount, 5),
- etap:is(
- couch_stats_collector:get(foo),
- 80,
- "Incrememnt tracks correctly."
- ),
-
- repeat(RemCount, 80),
- etap:is(
- couch_stats_collector:get(foo),
- 0,
- "Decremented to zaro."
- ),
- ok.
-
-test_abs_values() ->
- lists:map(fun(Val) ->
- couch_stats_collector:record(bar, Val)
- end, lists:seq(1, 15)),
- etap:is(
- couch_stats_collector:get(bar),
- lists:seq(1, 15),
- "Absolute values are recorded correctly."
- ),
-
- couch_stats_collector:clear(bar),
- etap:is(
- couch_stats_collector:get(bar),
- nil,
- "Absolute values are cleared correctly."
- ),
- ok.
-
-test_proc_counting() ->
- Self = self(),
- OnePid = spawn(fun() ->
- couch_stats_collector:track_process_count(hoopla),
- Self ! reporting,
- receive sepuku -> ok end
- end),
- R1 = erlang:monitor(process, OnePid),
- receive reporting -> ok end,
- etap:is(
- couch_stats_collector:get(hoopla),
- 1,
- "track_process_count incrememnts the counter."
- ),
-
- TwicePid = spawn(fun() ->
- couch_stats_collector:track_process_count(hoopla),
- couch_stats_collector:track_process_count(hoopla),
- Self ! reporting,
- receive sepuku -> ok end
- end),
- R2 = erlang:monitor(process, TwicePid),
- receive reporting -> ok end,
- etap:is(
- couch_stats_collector:get(hoopla),
- 3,
- "track_process_count allows more than one incrememnt per Pid"
- ),
-
- OnePid ! sepuku,
- receive {'DOWN', R1, _, _, _} -> ok end,
- timer:sleep(250),
- etap:is(
- couch_stats_collector:get(hoopla),
- 2,
- "Process count is decremented when process exits."
- ),
-
- TwicePid ! sepuku,
- receive {'DOWN', R2, _, _, _} -> ok end,
- timer:sleep(250),
- etap:is(
- couch_stats_collector:get(hoopla),
- 0,
- "Process count is decremented for each call to track_process_count."
- ),
- ok.
-
-test_all() ->
- couch_stats_collector:record(bar, 0.0),
- couch_stats_collector:record(bar, 1.0),
- etap:is(
- couch_stats_collector:all(),
- [{foo, 0}, {hoopla, 0}, {bar, [1.0, 0.0]}],
- "all/0 returns all counters and absolute values."
- ),
-
- etap:is(
- couch_stats_collector:all(incremental),
- [{foo, 0}, {hoopla, 0}],
- "all/1 returns only the specified type."
- ),
-
- couch_stats_collector:record(zing, 90),
- etap:is(
- couch_stats_collector:all(absolute),
- [{zing, [90]}, {bar, [1.0, 0.0]}],
- "all/1 returns only the specified type."
- ),
- ok.
-
-repeat(_, 0) ->
- ok;
-repeat(Fun, Count) ->
- Fun(),
- repeat(Fun, Count-1).