From bebd9d2ae6da04c367e4b7aa976c2b4d4abbd471 Mon Sep 17 00:00:00 2001 From: Tim Watson Date: Tue, 22 May 2012 15:50:26 +0100 Subject: [PATCH] Support ct_run using short name Not every system under test can be run with long names, and this makes rebar's common_test support useless in those environments, as it currently uses long names (test@hostname.domain) by default, without recourse to change them. This patch adds support for a {ct_use_short_names, boolean()} config variable, which allows the user to specify whether short or long names are required. --- rebar.config.sample | 3 +++ src/rebar_ct.erl | 14 ++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/rebar.config.sample b/rebar.config.sample index dc4253b..0e846f9 100644 --- a/rebar.config.sample +++ b/rebar.config.sample @@ -85,6 +85,9 @@ %% Option to pass extra parameters when launching Common Test {ct_extra_params, "-boot start_sasl -s myapp"}. +%% Option to use short names (i.e., -sname test) when starting ct +{ct_use_short_names, true}. + %% == Cleanup == %% Which files to cleanup diff --git a/src/rebar_ct.erl b/src/rebar_ct.erl index b3e77b0..b8060b2 100644 --- a/src/rebar_ct.erl +++ b/src/rebar_ct.erl @@ -145,14 +145,14 @@ make_cmd(TestDir, Config) -> undefined -> ?FMT("erl " % should we expand ERL_PATH? " -noshell -pa ~s ~s" - " -name test@~s" + " ~s" " -logdir \"~s\"" " -env TEST_DIR \"~s\"" " ~s" " -s ct_run script_start -s erlang halt", [CodePathString, Include, - net_adm:localhost(), + build_name(Config), LogDir, filename:join(Cwd, TestDir), get_extra_params(Config)]) ++ @@ -164,14 +164,14 @@ make_cmd(TestDir, Config) -> SpecFlags -> ?FMT("erl " % should we expand ERL_PATH? " -noshell -pa ~s ~s" - " -name test@~s" + " ~s" " -logdir \"~s\"" " -env TEST_DIR \"~s\"" " ~s" " -s ct_run script_start -s erlang halt", [CodePathString, Include, - net_adm:localhost(), + build_name(Config), LogDir, filename:join(Cwd, TestDir), get_extra_params(Config)]) ++ @@ -180,6 +180,12 @@ make_cmd(TestDir, Config) -> RawLog = filename:join(LogDir, "raw.log"), {Cmd, RawLog}. +build_name(Config) -> + case rebar_config:get_local(Config, ct_use_short_names, false) of + true -> "-sname test"; + false -> " -name test@" ++ net_adm:localhost() + end. + get_extra_params(Config) -> rebar_config:get_local(Config, ct_extra_params, "").