diff options
author | ILYA Khlopotov <iilyak@apache.org> | 2017-08-23 08:59:08 -0700 |
---|---|---|
committer | ILYA Khlopotov <iilyak@apache.org> | 2017-08-23 08:59:08 -0700 |
commit | f7dac723a5f3549618ebb8b4d551f0834ab10ed0 (patch) | |
tree | 9000f6d8938e3d11dfef905a3ef43959f3d95c0a | |
parent | db0be08245ab0ad755fbe21dd63cc1facc902adc (diff) | |
download | couchdb-f7dac723a5f3549618ebb8b4d551f0834ab10ed0.tar.gz |
Remove dependency on proper
-rw-r--r-- | src/couch/src/couch_debug.erl | 38 |
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() -> |