diff options
Diffstat (limited to 'lib/erl_interface/test/runner.erl')
-rw-r--r-- | lib/erl_interface/test/runner.erl | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/erl_interface/test/runner.erl b/lib/erl_interface/test/runner.erl index 484890006e..76cbc49907 100644 --- a/lib/erl_interface/test/runner.erl +++ b/lib/erl_interface/test/runner.erl @@ -23,7 +23,7 @@ -export([test/2, test/3, init_per_testcase/3, - start/2, send_term/2, finish/1, send_eot/1, recv_eot/1, + start/2, start/3, send_term/2, finish/1, send_eot/1, recv_eot/1, get_term/1, get_term/2]). -define(default_timeout, 5000). @@ -55,14 +55,21 @@ test(Config, Tc, Timeout) -> %% %% Returns: {ok, Port} -start(Config, {Prog, Tc}) when is_list(Prog), is_integer(Tc) -> - Port = open_port({spawn, prog_cmd(Config, Prog)}, +start(Config, ProgTc) -> + start(Config, ProgTc, []). + +start(Config, {Prog, Tc}, Opt) when is_list(Prog), is_integer(Tc) -> + Port = open_port({spawn, prog_cmd(Config, Prog, Opt)}, [{packet, 4}, exit_status]), Command = [Tc div 256, Tc rem 256], Port ! {self(), {command, Command}}, Port. -prog_cmd(Config, Prog) -> +prog_cmd(Config, Prog0, Opt) -> + Prog = case Opt of + rr -> "rr " ++ Prog0; + [] -> Prog0 + end, case proplists:get_value(valgrind_cmd_fun, Config) of undefined -> Prog; |