mirror of
https://github.com/correl/rebar.git
synced 2024-11-14 19:19:30 +00:00
Fix app.config argument passing when using ct_run (take 2)
ct_run has changed its config key from -ct_config to -config, thus, -config key, used to specify app.config now must be placed after -erl_args
This commit is contained in:
parent
5be65b633f
commit
d5d691d7f7
8 changed files with 120 additions and 6 deletions
1
THANKS
1
THANKS
|
@ -132,3 +132,4 @@ Luis Rascao
|
|||
Vlad Dumitrescu
|
||||
stwind
|
||||
Pavel Baturko
|
||||
Igor Savchuk
|
||||
|
|
2
inttest/ct3/app.config
Normal file
2
inttest/ct3/app.config
Normal file
|
@ -0,0 +1,2 @@
|
|||
%% This file is an application config file, not a CT test config file
|
||||
[{a1, [{foo, bar}]}].
|
0
inttest/ct3/converted/.keep
Normal file
0
inttest/ct3/converted/.keep
Normal file
55
inttest/ct3/ct3_rt.erl
Normal file
55
inttest/ct3/ct3_rt.erl
Normal file
|
@ -0,0 +1,55 @@
|
|||
%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*-
|
||||
%% ex: ts=4 sw=4 et
|
||||
%% -------------------------------------------------------------------
|
||||
%%
|
||||
%% rebar: Erlang Build Tools
|
||||
%%
|
||||
%% Copyright (c) 2014 Savchuk Igor
|
||||
%%
|
||||
%% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
%% of this software and associated documentation files (the "Software"), to deal
|
||||
%% in the Software without restriction, including without limitation the rights
|
||||
%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
%% copies of the Software, and to permit persons to whom the Software is
|
||||
%% furnished to do so, subject to the following conditions:
|
||||
%%
|
||||
%% The above copyright notice and this permission notice shall be included in
|
||||
%% all copies or substantial portions of the Software.
|
||||
%%
|
||||
%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
%% THE SOFTWARE.
|
||||
%% -------------------------------------------------------------------
|
||||
-module(ct3_rt).
|
||||
|
||||
-compile(export_all).
|
||||
|
||||
|
||||
files() ->
|
||||
[{create, "ebin/a1.app", app(a1)},
|
||||
{copy, "../../rebar", "rebar"},
|
||||
{copy, "rebar.config", "rebar.config"},
|
||||
{copy, "app.config", "itest/app.config"},
|
||||
{copy, "test_SUITE.erl", "itest/test_SUITE.erl"},
|
||||
{copy, "converted"},
|
||||
{copy, "unconverted"}].
|
||||
|
||||
run(_Dir) ->
|
||||
{ok, _} = retest:sh("./rebar compile ct -v", [{env, [{"ERL_FLAGS", "-name ct_rt3"}]}]),
|
||||
ok.
|
||||
|
||||
%%
|
||||
%% Generate the contents of a simple .app file
|
||||
%%
|
||||
app(Name) ->
|
||||
App = {application, Name,
|
||||
[{description, atom_to_list(Name)},
|
||||
{vsn, "1"},
|
||||
{modules, []},
|
||||
{registered, []},
|
||||
{applications, [kernel, stdlib]}]},
|
||||
io_lib:format("~p.\n", [App]).
|
2
inttest/ct3/rebar.config
Normal file
2
inttest/ct3/rebar.config
Normal file
|
@ -0,0 +1,2 @@
|
|||
{ct_dir, "itest"}.
|
||||
{ct_extra_params, "-repeat 2 -pa converted -erl_args -pa unconverted"}.
|
52
inttest/ct3/test_SUITE.erl
Normal file
52
inttest/ct3/test_SUITE.erl
Normal file
|
@ -0,0 +1,52 @@
|
|||
%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*-
|
||||
%% ex: ts=4 sw=4 et
|
||||
%% -------------------------------------------------------------------
|
||||
%%
|
||||
%% rebar: Erlang Build Tools
|
||||
%%
|
||||
%% Copyright (c) 2014 Savchuk Igor
|
||||
%%
|
||||
%% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
%% of this software and associated documentation files (the "Software"), to deal
|
||||
%% in the Software without restriction, including without limitation the rights
|
||||
%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
%% copies of the Software, and to permit persons to whom the Software is
|
||||
%% furnished to do so, subject to the following conditions:
|
||||
%%
|
||||
%% The above copyright notice and this permission notice shall be included in
|
||||
%% all copies or substantial portions of the Software.
|
||||
%%
|
||||
%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
%% THE SOFTWARE.
|
||||
%% -------------------------------------------------------------------
|
||||
-module(test_SUITE).
|
||||
|
||||
-compile(export_all).
|
||||
|
||||
-include_lib("ct.hrl").
|
||||
|
||||
all() ->
|
||||
[simple_test,
|
||||
app_config_file_test,
|
||||
check_path].
|
||||
|
||||
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).
|
||||
|
||||
%% check if -erl_args in ct_extra_params of rebar.config is working
|
||||
%% if it is, path before -erl_args is converted to absolute
|
||||
%% and path after -erl_args is not
|
||||
check_path(_Config) ->
|
||||
Path = code:get_path(),
|
||||
false = lists:member("converted", Path),
|
||||
true = lists:member("unconverted", Path).
|
0
inttest/ct3/unconverted/.keep
Normal file
0
inttest/ct3/unconverted/.keep
Normal file
|
@ -226,9 +226,10 @@ make_cmd(TestDir, RawLogDir, Config) ->
|
|||
filename:join(Cwd, TestDir)]) ++
|
||||
get_cover_config(Config, Cwd) ++
|
||||
get_ct_config_file(TestDir) ++
|
||||
get_config_file(TestDir) ++
|
||||
get_suites(Config, TestDir) ++
|
||||
get_case(Config);
|
||||
get_case(Config) ++
|
||||
get_extra_params(Config) ++
|
||||
get_config_file(TestDir);
|
||||
SpecFlags ->
|
||||
?FMT("~s"
|
||||
" -pa ~s"
|
||||
|
@ -242,11 +243,12 @@ make_cmd(TestDir, RawLogDir, Config) ->
|
|||
build_name(Config),
|
||||
LogDir,
|
||||
filename:join(Cwd, TestDir)]) ++
|
||||
SpecFlags ++ get_cover_config(Config, Cwd)
|
||||
SpecFlags ++
|
||||
get_cover_config(Config, Cwd) ++
|
||||
get_extra_params(Config)
|
||||
end,
|
||||
Cmd1 = Cmd ++ get_extra_params(Config),
|
||||
RawLog = filename:join(LogDir, "raw.log"),
|
||||
{Cmd1, RawLog}.
|
||||
{Cmd, RawLog}.
|
||||
|
||||
build_name(Config) ->
|
||||
case rebar_config:get_local(Config, ct_use_short_names, false) of
|
||||
|
@ -326,7 +328,7 @@ get_config_file(TestDir) ->
|
|||
false ->
|
||||
" ";
|
||||
true ->
|
||||
" -config " ++ Config
|
||||
" -erl_args -config " ++ Config
|
||||
end.
|
||||
|
||||
get_suites(Config, TestDir) ->
|
||||
|
|
Loading…
Reference in a new issue