diff options
Diffstat (limited to 'quickcheck')
| -rwxr-xr-x | quickcheck | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/quickcheck b/quickcheck new file mode 100755 index 0000000000..24edae7031 --- /dev/null +++ b/quickcheck @@ -0,0 +1,32 @@ +#!/usr/bin/env escript +%% -*- erlang -*- +%%! -sname quickcheck +-mode(compile). + +%% A helper to test quickcheck properties on a running broker +%% NodeStr is a local broker node name +%% ModStr is the module containing quickcheck properties +%% The number of trials is optional +main([NodeStr, ModStr | TrialsStr]) -> + Node = list_to_atom(NodeStr ++ "@" ++ net_adm:localhost()), + Mod = list_to_atom(ModStr), + Trials = lists:map(fun erlang:list_to_integer/1, TrialsStr), + case rpc:call(Node, code, ensure_loaded, [proper]) of + {module, proper} -> + case rpc:call(Node, proper, module, [Mod] ++ Trials) of + [] -> ok; + _ -> quit(1) + end; + _ -> + io:format("PropEr module not present on node ~p.~n", [Node]), + quit(2) + end; +main([]) -> + io:format("This script requires a node name and a module.~n"). + +quit(Status) -> + case os:type() of + {unix, _} -> halt(Status); + {win32, _} -> init:stop(Status) + end. + |
