-module(rebar_disable_app_SUITE).
|
|
-compile(export_all).
|
|
-include_lib("common_test/include/ct.hrl").
|
|
-include_lib("eunit/include/eunit.hrl").
|
|
|
|
-define(MOD(Name),
|
|
io_lib:format("-module(~s).~n-export([x/0]).~nx() -> ok.~n", [Name])).
|
|
|
|
all() -> [disable_app].
|
|
|
|
init_per_testcase(_, Config) ->
|
|
rebar_test_utils:init_rebar_state(Config).
|
|
|
|
end_per_testcase(_, _Config) ->
|
|
ok.
|
|
|
|
disable_app(Config) ->
|
|
AppDir = ?config(apps, Config),
|
|
|
|
Name1 = create_random_app(AppDir, "app1_"),
|
|
Name2 = create_random_app(AppDir, "app2_"),
|
|
|
|
RebarConfig = [{excluded_apps, [list_to_atom(Name1)]}],
|
|
%RebarConfig = [],
|
|
|
|
rebar_test_utils:run_and_check(
|
|
Config, RebarConfig, ["compile"],
|
|
{ok, [{app, Name2}]}),
|
|
|
|
App1 = filename:join([AppDir, "_build", "default", "lib", Name1, "ebin", Name1 ++ ".app"]),
|
|
?assertEqual(filelib:is_file(App1), false),
|
|
|
|
App2 = filename:join([AppDir, "_build", "default", "lib", Name2, "ebin", Name2 ++ ".app"]),
|
|
?assertEqual(filelib:is_file(App2), true).
|
|
|
|
%%
|
|
%% Utils
|
|
%%
|
|
create_random_app(AppDir, Prefix) ->
|
|
Name = rebar_test_utils:create_random_name(Prefix),
|
|
Vsn = rebar_test_utils:create_random_vsn(),
|
|
rebar_test_utils:create_empty_app(filename:join([AppDir, "apps", Name]), Name, Vsn, [kernel, stdlib]),
|
|
|
|
ModName = rebar_test_utils:create_random_name("mod1_"),
|
|
Mod = filename:join([AppDir, "apps", Name, "src", ModName ++ ".erl"]),
|
|
ok = filelib:ensure_dir(Mod),
|
|
Src = ?MOD(ModName),
|
|
ok = ec_file:write(Mod, Src),
|
|
Name.
|