diff --git a/THANKS b/THANKS index ef359ac..3db3b4c 100644 --- a/THANKS +++ b/THANKS @@ -126,3 +126,4 @@ Yuki Ito alisdair sullivan Alexander Verbitsky Andras Horvath +Drew Varner diff --git a/inttest/ct1/app.config b/inttest/ct1/app.config new file mode 100644 index 0000000..bb718b2 --- /dev/null +++ b/inttest/ct1/app.config @@ -0,0 +1,2 @@ +%% This file is an application config file, not a CT test config file +[{a1, [{foo, bar}]}]. diff --git a/inttest/ct1/ct1_rt.erl b/inttest/ct1/ct1_rt.erl index f173d3f..f9de372 100644 --- a/inttest/ct1/ct1_rt.erl +++ b/inttest/ct1/ct1_rt.erl @@ -7,10 +7,12 @@ files() -> [{create, "ebin/a1.app", app(a1)}, {copy, "../../rebar", "rebar"}, {copy, "rebar.config", "rebar.config"}, + {copy, "app.config", "app.config"}, {copy, "test_SUITE.erl", "itest/test_SUITE.erl"}]. run(_Dir) -> {ok, _} = retest:sh("./rebar compile ct"), + {ok, _} = retest:sh("./rebar compile ct -v"), ok. diff --git a/inttest/ct1/rebar.config b/inttest/ct1/rebar.config index a4b5284..58047ba 100644 --- a/inttest/ct1/rebar.config +++ b/inttest/ct1/rebar.config @@ -1 +1,2 @@ {ct_dir, "itest"}. +{ct_extra_params, "-repeat 2 -erl_args -config app"}. diff --git a/inttest/ct1/test_SUITE.erl b/inttest/ct1/test_SUITE.erl index 92f2b2e..e8a2bb8 100644 --- a/inttest/ct1/test_SUITE.erl +++ b/inttest/ct1/test_SUITE.erl @@ -5,7 +5,13 @@ -include_lib("ct.hrl"). all() -> - [simple_test]. + [simple_test, + app_config_file_test]. simple_test(Config) -> io:format("Test: ~p\n", [Config]). + +app_config_file_test(_Config) -> + application:start(a1), + {ok, bar} = application:get_env(a1, foo), + application:stop(a1). diff --git a/src/rebar_ct.erl b/src/rebar_ct.erl index c075e8c..6bccb82 100644 --- a/src/rebar_ct.erl +++ b/src/rebar_ct.erl @@ -217,15 +217,13 @@ make_cmd(TestDir, RawLogDir, Config) -> " ~s" " ~s" " -logdir \"~s\"" - " -env TEST_DIR \"~s\"" - " ~s", + " -env TEST_DIR \"~s\"", [BaseCmd, CodePathString, Include, build_name(Config), LogDir, - filename:join(Cwd, TestDir), - get_extra_params(Config)]) ++ + filename:join(Cwd, TestDir)]) ++ get_cover_config(Config, Cwd) ++ get_ct_config_file(TestDir) ++ get_config_file(TestDir) ++ @@ -237,19 +235,18 @@ make_cmd(TestDir, RawLogDir, Config) -> " ~s" " ~s" " -logdir \"~s\"" - " -env TEST_DIR \"~s\"" - " ~s", + " -env TEST_DIR \"~s\"", [BaseCmd, CodePathString, Include, build_name(Config), LogDir, - filename:join(Cwd, TestDir), - get_extra_params(Config)]) ++ + filename:join(Cwd, TestDir)]) ++ SpecFlags ++ get_cover_config(Config, Cwd) end, + Cmd1 = Cmd ++ get_extra_params(Config), RawLog = filename:join(LogDir, "raw.log"), - {Cmd, RawLog}. + {Cmd1, RawLog}. build_name(Config) -> case rebar_config:get_local(Config, ct_use_short_names, false) of @@ -258,7 +255,12 @@ build_name(Config) -> end. get_extra_params(Config) -> - rebar_config:get_local(Config, ct_extra_params, ""). + case rebar_config:get_local(Config, ct_extra_params, undefined) of + undefined -> + ""; + Defined -> + " " ++ Defined + end. get_ct_specs(Config, Cwd) -> case collect_glob(Config, Cwd, ".*\.test\.spec\$") of