|
|
@ -7,6 +7,7 @@ |
|
|
|
all/0, |
|
|
|
profile_new_key/1, |
|
|
|
profile_merge_keys/1, |
|
|
|
all_deps_code_paths/1, |
|
|
|
profile_merges/1, |
|
|
|
add_to_profile/1, |
|
|
|
add_to_existing_profile/1, |
|
|
@ -21,7 +22,7 @@ |
|
|
|
-include_lib("kernel/include/file.hrl"). |
|
|
|
|
|
|
|
all() -> |
|
|
|
[profile_new_key, profile_merge_keys, profile_merges, |
|
|
|
[profile_new_key, profile_merge_keys, all_deps_code_paths, profile_merges, |
|
|
|
add_to_profile, add_to_existing_profile, |
|
|
|
profiles_remain_applied_with_config_present, |
|
|
|
test_profile_applied_at_completion, |
|
|
@ -95,6 +96,40 @@ profile_merge_keys(Config) -> |
|
|
|
,{dep, "a", "1.0.0"} |
|
|
|
,{dep, "b", "2.0.0"}]}). |
|
|
|
|
|
|
|
all_deps_code_paths(Config) -> |
|
|
|
AppDir = ?config(apps, Config), |
|
|
|
|
|
|
|
AllDeps = rebar_test_utils:expand_deps(git, [{"a", "1.0.0", []} |
|
|
|
,{"b", "2.0.0", []}]), |
|
|
|
mock_git_resource:mock([{deps, rebar_test_utils:flat_deps(AllDeps)}]), |
|
|
|
|
|
|
|
Name = rebar_test_utils:create_random_name("all_deps_code_paths"), |
|
|
|
Vsn = rebar_test_utils:create_random_vsn(), |
|
|
|
rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]), |
|
|
|
|
|
|
|
Deps = rebar_test_utils:top_level_deps( |
|
|
|
rebar_test_utils:expand_deps(git, [{"a", "1.0.0", []}])), |
|
|
|
ProfileDeps = rebar_test_utils:top_level_deps( |
|
|
|
rebar_test_utils:expand_deps(git, [{"b", "2.0.0", []}])), |
|
|
|
|
|
|
|
RebarConfig = [{deps, Deps}, |
|
|
|
{profiles, |
|
|
|
[{all_deps_test, |
|
|
|
[{deps, ProfileDeps}]}]}], |
|
|
|
os:putenv("REBAR_PROFILE", "all_deps_test"), |
|
|
|
{ok, State} = rebar_test_utils:run_and_check(Config, RebarConfig, |
|
|
|
["compile"], {ok, [{app, Name} |
|
|
|
,{dep, "a", "1.0.0"} |
|
|
|
,{dep, "b", "2.0.0"}]}), |
|
|
|
os:unsetenv("REBAR_PROFILE"), |
|
|
|
|
|
|
|
Paths = rebar_state:code_paths(State, all_deps), |
|
|
|
Path = lists:reverse(["_build", "all_deps_test", "lib", "b", "ebin"]), |
|
|
|
?assert(lists:any(fun(X) -> |
|
|
|
Path =:= lists:sublist(lists:reverse(filename:split(X)), 5) |
|
|
|
end, Paths)). |
|
|
|
|
|
|
|
|
|
|
|
profile_merges(_Config) -> |
|
|
|
RebarConfig = [{test1, [{key1, 1, 2}, key2]}, |
|
|
|
{test2, "hello"}, |
|
|
@ -164,7 +199,7 @@ profiles_remain_applied_with_config_present(Config) -> |
|
|
|
["as", "not_ok", "compile"], {ok, [{app, Name}]}), |
|
|
|
|
|
|
|
Path = filename:join([AppDir, "_build", "not_ok", "lib", Name, "ebin"]), |
|
|
|
code:add_path(Path), |
|
|
|
code:add_patha(Path), |
|
|
|
|
|
|
|
Mod = list_to_atom("not_a_real_src_" ++ Name), |
|
|
|
|
|
|
|