From 6c9bc2c1d5e7041f7e81cc470b6de78220ea9eb1 Mon Sep 17 00:00:00 2001 From: Francisco Rojas Date: Tue, 15 Mar 2016 21:51:39 -0700 Subject: Allows overwrite default cache dir using REBAR_CACHE_DIR Allows overwrite the default cache directory using the environment variable REBAR_CACHE_DIR. --- test/rebar_dir_SUITE.erl | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'test/rebar_dir_SUITE.erl') diff --git a/test/rebar_dir_SUITE.erl b/test/rebar_dir_SUITE.erl index 1221db7..8194464 100644 --- a/test/rebar_dir_SUITE.erl +++ b/test/rebar_dir_SUITE.erl @@ -6,6 +6,7 @@ -export([src_dirs/1, extra_src_dirs/1, all_src_dirs/1]). -export([profile_src_dirs/1, profile_extra_src_dirs/1, profile_all_src_dirs/1]). -export([retarget_path/1, alt_base_dir_abs/1, alt_base_dir_rel/1]). +-export([global_cache_dir/1, default_global_cache_dir/1, overwrite_default_global_cache_dir/1]). -include_lib("common_test/include/ct.hrl"). -include_lib("eunit/include/eunit.hrl"). @@ -15,8 +16,19 @@ all() -> [default_src_dirs, default_extra_src_dirs, default_all_src_dirs, src_dirs, extra_src_dirs, all_src_dirs, profile_src_dirs, profile_extra_src_dirs, profile_all_src_dirs, - retarget_path, alt_base_dir_abs, alt_base_dir_rel]. - + retarget_path, alt_base_dir_abs, alt_base_dir_rel, global_cache_dir, + default_global_cache_dir, overwrite_default_global_cache_dir]. + +init_per_testcase(default_global_cache_dir, Config) -> + [{apps, AppsDir}, {checkouts, CheckoutsDir}, {state, _State} | Config] = rebar_test_utils:init_rebar_state(Config), + NewState = rebar_state:new([{base_dir, filename:join([AppsDir, "_build"])} + ,{root_dir, AppsDir}]), + [{apps, AppsDir}, {checkouts, CheckoutsDir}, {state, NewState} | Config]; +init_per_testcase(overwrite_default_global_cache_dir, Config) -> + [{apps, AppsDir}, {checkouts, CheckoutsDir}, {state, _State} | Config] = rebar_test_utils:init_rebar_state(Config), + NewState = rebar_state:new([{base_dir, filename:join([AppsDir, "_build"])} + ,{root_dir, AppsDir}]), + [{apps, AppsDir}, {checkouts, CheckoutsDir}, {state, NewState} | Config]; init_per_testcase(_, Config) -> C = rebar_test_utils:init_rebar_state(Config), AppDir = ?config(apps, C), @@ -162,3 +174,23 @@ alt_base_dir_rel(Config) -> ?assert(filelib:is_dir(filename:join([BaseDir, "lib", Name2, "ebin"]))), ?assert(filelib:is_file(filename:join([BaseDir, "lib", Name2, "ebin", Name2++".app"]))), ?assert(filelib:is_file(filename:join([BaseDir, "lib", Name2, "ebin", Name2++".beam"]))). + +global_cache_dir(Config) -> + RebarConfig = [{erl_opts, []}], + {ok, State} = rebar_test_utils:run_and_check(Config, RebarConfig, ["compile"], return), + DataDir = ?config(priv_dir, Config), + Expected = filename:join([DataDir, "cache"]), + ?assertEqual(Expected, rebar_dir:global_cache_dir(rebar_state:opts(State))). + +default_global_cache_dir(Config) -> + RebarConfig = [{erl_opts, []}], + {ok, State} = rebar_test_utils:run_and_check(Config, RebarConfig, ["compile"], return), + Expected = filename:join([rebar_dir:home_dir(), ".cache", "rebar3"]), + ?assertEqual(Expected, rebar_dir:global_cache_dir(rebar_state:opts(State))). + +overwrite_default_global_cache_dir(Config) -> + os:putenv("REBAR_CACHE_DIR", "/tmp/"), + RebarConfig = [{erl_opts, []}], + {ok, State} = rebar_test_utils:run_and_check(Config, RebarConfig, ["compile"], return), + Expected = "/tmp/", + ?assertEqual(Expected, rebar_dir:global_cache_dir(rebar_state:opts(State))). -- cgit v1.1 From 2d1d251add285c6296e0ce1c12e2a9a961c2209b Mon Sep 17 00:00:00 2001 From: Francisco Rojas Date: Thu, 17 Mar 2016 20:09:44 -0700 Subject: use priv_dir in rebar_dir test --- test/rebar_dir_SUITE.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/rebar_dir_SUITE.erl') diff --git a/test/rebar_dir_SUITE.erl b/test/rebar_dir_SUITE.erl index 8194464..f287d5f 100644 --- a/test/rebar_dir_SUITE.erl +++ b/test/rebar_dir_SUITE.erl @@ -189,8 +189,8 @@ default_global_cache_dir(Config) -> ?assertEqual(Expected, rebar_dir:global_cache_dir(rebar_state:opts(State))). overwrite_default_global_cache_dir(Config) -> - os:putenv("REBAR_CACHE_DIR", "/tmp/"), + os:putenv("REBAR_CACHE_DIR", ?config(priv_dir, Config)), RebarConfig = [{erl_opts, []}], {ok, State} = rebar_test_utils:run_and_check(Config, RebarConfig, ["compile"], return), - Expected = "/tmp/", + Expected = ?config(priv_dir, Config), ?assertEqual(Expected, rebar_dir:global_cache_dir(rebar_state:opts(State))). -- cgit v1.1 From 243e94391a4ac446cfe0c814750abfb014db9ac4 Mon Sep 17 00:00:00 2001 From: Francisco Rojas Date: Wed, 6 Apr 2016 21:16:25 -0700 Subject: Read env var REBAR_CACHE_DIR on rebar3 only once Instead of reading every time that rebar_dir:global_cache_dir/1 is called --- test/rebar_dir_SUITE.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/rebar_dir_SUITE.erl') diff --git a/test/rebar_dir_SUITE.erl b/test/rebar_dir_SUITE.erl index f287d5f..9734830 100644 --- a/test/rebar_dir_SUITE.erl +++ b/test/rebar_dir_SUITE.erl @@ -25,6 +25,7 @@ init_per_testcase(default_global_cache_dir, Config) -> ,{root_dir, AppsDir}]), [{apps, AppsDir}, {checkouts, CheckoutsDir}, {state, NewState} | Config]; init_per_testcase(overwrite_default_global_cache_dir, Config) -> + os:putenv("REBAR_CACHE_DIR", ?config(priv_dir, Config)), [{apps, AppsDir}, {checkouts, CheckoutsDir}, {state, _State} | Config] = rebar_test_utils:init_rebar_state(Config), NewState = rebar_state:new([{base_dir, filename:join([AppsDir, "_build"])} ,{root_dir, AppsDir}]), @@ -189,7 +190,6 @@ default_global_cache_dir(Config) -> ?assertEqual(Expected, rebar_dir:global_cache_dir(rebar_state:opts(State))). overwrite_default_global_cache_dir(Config) -> - os:putenv("REBAR_CACHE_DIR", ?config(priv_dir, Config)), RebarConfig = [{erl_opts, []}], {ok, State} = rebar_test_utils:run_and_check(Config, RebarConfig, ["compile"], return), Expected = ?config(priv_dir, Config), -- cgit v1.1