From 81969f1cf68f9509ee1bb18a15695b610fd33bd7 Mon Sep 17 00:00:00 2001 From: Kelly McLaughlin Date: Sun, 22 Mar 2015 22:09:27 -0600 Subject: Test cases to exercise the dev_mode release option Add one test case to verify the dev_mode option for a release and another to verify overriding the dev_mode option in a profile for a release. Verification of proper dev_mode functioning is done in the rebar_test_utils:check_results/2 function by checking if all the directories in the release lib dir are symlinks or not and comparing that result to the dev_mode expectation passed as input to the check_results function. --- test/rebar_test_utils.erl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'test/rebar_test_utils.erl') diff --git a/test/rebar_test_utils.erl b/test/rebar_test_utils.erl index 7c52a18..c035b91 100644 --- a/test/rebar_test_utils.erl +++ b/test/rebar_test_utils.erl @@ -217,7 +217,7 @@ check_results(AppDir, Expected) -> ?assertEqual(iolist_to_binary(Vsn), iolist_to_binary(LockVsn)) end - ; ({release, Name, Vsn}) -> + ; ({release, Name, Vsn, ExpectedDevMode}) -> ct:pal("Release: ~p-~s", [Name, Vsn]), {ok, Cwd} = file:get_cwd(), try @@ -228,6 +228,15 @@ check_results(AppDir, Expected) -> {ok, RelxState2} = rlx_prv_app_discover:do(RelxState1), {ok, RelxState3} = rlx_prv_rel_discover:do(RelxState2), + LibDir = filename:join([ReleaseDir, Name, "lib"]), + {ok, RelLibs} = file:list_dir(LibDir), + IsSymLinkFun = + fun(X) -> + ec_file:is_symlink(filename:join(LibDir, X)) + end, + DevMode = lists:all(IsSymLinkFun, RelLibs), + ?assertEqual(ExpectedDevMode, DevMode), + %% throws not_found if it doesn't exist rlx_state:get_realized_release(RelxState3, Name, Vsn) catch -- cgit v1.1