summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFred Hebert <mononcqc@ferd.ca>2014-07-15 08:20:29 -0400
committerFred Hebert <mononcqc@ferd.ca>2014-07-15 08:20:29 -0400
commitdcfa6daf30cbd7bd1e570636d1ec76fda799eb26 (patch)
treeb1e3c26adaf9b095499ba21c781ad7b911620f4d
parent0d1ae7a4683b1e4a305eb848e70ec641984a1067 (diff)
parent35ee4571760ec7bd3bad9741d982699798bee1dc (diff)
Merge branch 'erl-args-to-end' of https://github.com/NineFX/rebar into NineFX-erl-args-to-end
Conflicts: THANKS
-rw-r--r--THANKS1
-rw-r--r--inttest/ct1/app.config2
-rw-r--r--inttest/ct1/ct1_rt.erl2
-rw-r--r--inttest/ct1/rebar.config1
-rw-r--r--inttest/ct1/test_SUITE.erl8
-rw-r--r--src/rebar_ct.erl22
6 files changed, 25 insertions, 11 deletions
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