diff options
author | Tristan Sloughter <t@crashfast.com> | 2015-04-22 21:43:59 -0500 |
---|---|---|
committer | Tristan Sloughter <t@crashfast.com> | 2015-04-22 21:43:59 -0500 |
commit | 16e9b3ffa2ddd81e26238530fd1e25a54a42b7dc (patch) | |
tree | c0a547163cfa739bf6d319a1dc39eb2391b748a6 /test | |
parent | 4374999d9567acf93fbd3515aa19319c4e502390 (diff) |
fix tracking of all profiles dep paths
Diffstat (limited to 'test')
-rw-r--r-- | test/rebar_profiles_SUITE.erl | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/test/rebar_profiles_SUITE.erl b/test/rebar_profiles_SUITE.erl index f0d1c48..59c65e9 100644 --- a/test/rebar_profiles_SUITE.erl +++ b/test/rebar_profiles_SUITE.erl @@ -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), |