diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rebar_prv_common_test.erl | 16 | ||||
| -rw-r--r-- | src/rebar_prv_eunit.erl | 27 | ||||
| -rw-r--r-- | src/rebar_prv_shell.erl | 17 | 
3 files changed, 46 insertions, 14 deletions
| diff --git a/src/rebar_prv_common_test.erl b/src/rebar_prv_common_test.erl index 14dc4cc..5712fbf 100644 --- a/src/rebar_prv_common_test.erl +++ b/src/rebar_prv_common_test.erl @@ -37,6 +37,7 @@ init(State) ->  -spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.  do(State) -> +    setup_name(State),      Tests = prepare_tests(State),      case compile(State, Tests) of          %% successfully compiled apps @@ -105,6 +106,10 @@ format_error({multiple_errors, Errors}) ->  %% Internal functions  %% =================================================================== +setup_name(State) -> +    {Long, Short, Opts} = rebar_dist_utils:find_options(State), +    rebar_dist_utils:either(Long, Short, Opts). +  prepare_tests(State) ->      %% command line test options      CmdOpts = cmdopts(State), @@ -639,7 +644,10 @@ ct_opts(_State) ->       {create_priv_dir, undefined, "create_priv_dir", string, help(create_priv_dir)},       {include, undefined, "include", string, help(include)},       {readable, undefined, "readable", boolean, help(readable)}, -     {verbose, $v, "verbose", boolean, help(verbose)} +     {verbose, $v, "verbose", boolean, help(verbose)}, +     {name, undefined, "name", atom, help(name)}, +     {sname, undefined, "sname", atom, help(sname)}, +     {setcookie, undefined, "setcookie", atom, help(setcookie)}      ].  help(dir) -> @@ -694,5 +702,11 @@ help(readable) ->      "Shows test case names and only displays logs to shell on failures";  help(verbose) ->      "Verbose output"; +help(name) -> +    "Gives a long name to the node"; +help(sname) -> +    "Gives a short name to the node"; +help(setcookie) -> +    "Sets the cookie if the node is distributed";  help(_) ->      "". diff --git a/src/rebar_prv_eunit.erl b/src/rebar_prv_eunit.erl index 46ea48d..942fd10 100644 --- a/src/rebar_prv_eunit.erl +++ b/src/rebar_prv_eunit.erl @@ -51,6 +51,7 @@ do(State) ->  do(State, Tests) ->      ?INFO("Performing EUnit tests...", []), +    setup_name(State),      rebar_utils:update_code(rebar_state:code_paths(State, all_deps), [soft_purge]),      %% Run eunit provider prehooks @@ -106,6 +107,10 @@ format_error({error, Error}) ->  %% Internal functions  %% =================================================================== +setup_name(State) -> +    {Long, Short, Opts} = rebar_dist_utils:find_options(State), +    rebar_dist_utils:either(Long, Short, Opts). +  prepare_tests(State) ->      %% parse and translate command line tests      CmdTests = resolve_tests(State), @@ -479,11 +484,17 @@ eunit_opts(_State) ->       {file, $f, "file", string, help(file)},       {module, $m, "module", string, help(module)},       {suite, $s, "suite", string, help(module)}, -     {verbose, $v, "verbose", boolean, help(verbose)}]. - -help(app)     -> "Comma separated list of application test suites to run. Equivalent to `[{application, App}]`."; -help(cover)   -> "Generate cover data. Defaults to false."; -help(dir)     -> "Comma separated list of dirs to load tests from. Equivalent to `[{dir, Dir}]`."; -help(file)    -> "Comma separated list of files to load tests from. Equivalent to `[{file, File}]`."; -help(module)  -> "Comma separated list of modules to load tests from. Equivalent to `[{module, Module}]`."; -help(verbose) -> "Verbose output. Defaults to false.". +     {verbose, $v, "verbose", boolean, help(verbose)}, +     {name, undefined, "name", atom, help(name)}, +     {sname, undefined, "sname", atom, help(sname)}, +     {setcookie, undefined, "setcookie", atom, help(setcookie)}]. + +help(app)       -> "Comma separated list of application test suites to run. Equivalent to `[{application, App}]`."; +help(cover)     -> "Generate cover data. Defaults to false."; +help(dir)       -> "Comma separated list of dirs to load tests from. Equivalent to `[{dir, Dir}]`."; +help(file)      -> "Comma separated list of files to load tests from. Equivalent to `[{file, File}]`."; +help(module)    -> "Comma separated list of modules to load tests from. Equivalent to `[{module, Module}]`."; +help(verbose)   -> "Verbose output. Defaults to false."; +help(name)      -> "Gives a long name to the node"; +help(sname)     -> "Gives a short name to the node"; +help(setcookie) -> "Sets the cookie if the node is distributed". diff --git a/src/rebar_prv_shell.erl b/src/rebar_prv_shell.erl index 365ed66..ab496c6 100644 --- a/src/rebar_prv_shell.erl +++ b/src/rebar_prv_shell.erl @@ -328,7 +328,8 @@ reread_config(State) ->          ConfigList ->              try                  [application:set_env(Application, Key, Val) -                  || {Application, Items} <- ConfigList, +                  || Config <- ConfigList, +                     {Application, Items} <- Config,                       {Key, Val} <- Items]              catch _:_ ->                  ?ERROR("The configuration file submitted could not be read " @@ -391,7 +392,7 @@ add_test_paths(State) ->      ok.  % First try the --config flag, then try the relx sys_config --spec find_config(rebar_state:t()) -> [tuple()] | no_config. +-spec find_config(rebar_state:t()) -> [[tuple()]] | no_config.  find_config(State) ->      case first_value([fun find_config_option/1,                        fun find_config_rebar/1, @@ -439,11 +440,17 @@ find_config_relx(State) ->      debug_get_value(sys_config, rebar_state:get(State, relx, []), no_value,                      "Found config from relx."). --spec consult_config(rebar_state:t(), string()) -> [tuple()]. +-spec consult_config(rebar_state:t(), string()) -> [[tuple()]].  consult_config(State, Filename) ->      Fullpath = filename:join(rebar_dir:root_dir(State), Filename),      ?DEBUG("Loading configuration from ~p", [Fullpath]), -    case rebar_file_utils:try_consult(Fullpath) of +    Config = case rebar_file_utils:try_consult(Fullpath) of          [T] -> T;          [] -> [] -    end. +    end, +    SubConfigs = [consult_config(State, Entry ++ ".config") || +                  Entry <- Config, is_list(Entry) +                 ], + +    [Config | lists:merge(SubConfigs)]. + | 
