summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorILYA Khlopotov <iilyak@apache.org>2017-08-23 08:59:08 -0700
committerILYA Khlopotov <iilyak@apache.org>2017-08-23 08:59:08 -0700
commitf7dac723a5f3549618ebb8b4d551f0834ab10ed0 (patch)
tree9000f6d8938e3d11dfef905a3ef43959f3d95c0a
parentdb0be08245ab0ad755fbe21dd63cc1facc902adc (diff)
downloadcouchdb-f7dac723a5f3549618ebb8b4d551f0834ab10ed0.tar.gz
Remove dependency on proper
-rw-r--r--src/couch/src/couch_debug.erl38
1 files changed, 21 insertions, 17 deletions
diff --git a/src/couch/src/couch_debug.erl b/src/couch/src/couch_debug.erl
index 9783ca4cb..734ebc366 100644
--- a/src/couch/src/couch_debug.erl
+++ b/src/couch/src/couch_debug.erl
@@ -34,12 +34,6 @@
print_linked_processes/1
]).
--ifdef(TEST).
- -compile(export_all).
-
- -include_lib("proper/include/proper.hrl").
--endif.
-
help() ->
[
opened_files,
@@ -461,22 +455,32 @@ table_row(Key, Indent, Props, [{KeyWidth, Align, _} | Spec]) ->
-include_lib("couch/include/couch_eunit.hrl").
random_processes() ->
- random_processes([]).
-
-random_processes(Pids) ->
- frequency([
- {1, ?LET(Started, Pids, lists:flatten(Started))},
- {3, ?LAZY(random_processes([element(1, spawn_monitor(fun process_fun/0)) | Pids]))},
- {5, ?LAZY(random_processes([spawn(fun process_fun/0) | Pids]))},
- {10, ?LAZY(random_processes([spawn_link(fun process_fun/0) | Pids]))}
-]).
+ random_processes([], 50).
+
+random_processes(Pids, 0) ->
+ Pids;
+random_processes(Acc, Left) ->
+ Pid = case oneof([spawn_monitor, spawn, spawn_link]) of
+ spawn_monitor ->
+ {P, _} = spawn_monitor(fun process_fun/0),
+ P;
+ spawn ->
+ spawn(fun process_fun/0);
+ spawn_link ->
+ spawn(fun process_fun/0)
+ end,
+ random_processes([Pid | Acc], Left - 1).
+
+
+oneof(Options) ->
+ lists:nth(random:uniform(length(Options)), Options).
process_fun() ->
receive looper -> ok end.
tree() ->
- {ok, Processes} = proper_gen:pick(random_processes()),
- {ok, InitialPid} = proper_gen:pick(oneof(Processes)),
+ Processes = random_processes(),
+ InitialPid = oneof(Processes),
{InitialPid, Processes, link_tree(InitialPid)}.
setup() ->