summaryrefslogtreecommitdiff
path: root/test/rebar_compile_SUITE.erl
diff options
context:
space:
mode:
Diffstat (limited to 'test/rebar_compile_SUITE.erl')
-rw-r--r--test/rebar_compile_SUITE.erl91
1 files changed, 6 insertions, 85 deletions
diff --git a/test/rebar_compile_SUITE.erl b/test/rebar_compile_SUITE.erl
index 2acc64a..6c5cd1e 100644
--- a/test/rebar_compile_SUITE.erl
+++ b/test/rebar_compile_SUITE.erl
@@ -10,7 +10,6 @@
-include_lib("common_test/include/ct.hrl").
-include_lib("eunit/include/eunit.hrl").
-include_lib("kernel/include/file.hrl").
--include_lib("kernel/include/file.hrl").
suite() ->
[].
@@ -22,95 +21,17 @@ end_per_suite(_Config) ->
ok.
init_per_testcase(_, Config) ->
- DataDir = proplists:get_value(data_dir, Config),
- AppsDir = filename:join([DataDir, create_random_name("apps_dir1_")]),
- ok = ec_file:mkdir_p(AppsDir),
- Verbosity = rebar3:log_level(),
- rebar_log:init(command_line, Verbosity),
- State = rebar_state:new(),
- [{apps, AppsDir}, {state, State} | Config].
+ rebar_test_utils:init_rebar_state(Config).
all() ->
[build_basic_app].
build_basic_app(Config) ->
- AppDir = proplists:get_value(apps, Config),
-
- Name = create_random_name("app1_"),
- Vsn = create_random_vsn(),
- create_app(AppDir, Name, Vsn, [kernel, stdlib]),
-
- run_and_check(Config, [], "compile", [{app, Name}]).
-
-%%%===================================================================
-%%% Helper Functions
-%%%===================================================================
-
-run_and_check(Config, RebarConfig, Command, Expect) ->
- AppDir = proplists:get_value(apps, Config),
- State = proplists:get_value(state, Config),
-
- rebar3:run(rebar_state:new(State, RebarConfig, AppDir), Command),
-
- lists:foreach(fun({app, Name}) ->
- [App] = rebar_app_discover:find_apps([AppDir]),
- ?assertEqual(Name, ec_cnv:to_list(rebar_app_info:name(App)))
- end, Expect).
-
-create_app(AppDir, Name, Vsn, Deps) ->
- write_src_file(AppDir, Name),
- write_app_src_file(AppDir, Name, Vsn, Deps),
- rebar_app_info:new(Name, Vsn, AppDir, Deps).
-
-create_empty_app(AppDir, Name, Vsn, Deps) ->
- write_app_file(AppDir, Name, Vsn, Deps),
- rebar_app_info:new(Name, Vsn, AppDir, Deps).
-
-write_beam_file(Dir, Name) ->
- Beam = filename:join([Dir, "ebin", "not_a_real_beam" ++ Name ++ ".beam"]),
- ok = filelib:ensure_dir(Beam),
- ok = ec_file:write_term(Beam, testing_purposes_only).
-
-write_src_file(Dir, Name) ->
- Erl = filename:join([Dir, "src", "not_a_real_src" ++ Name ++ ".erl"]),
- ok = filelib:ensure_dir(Erl),
- ok = ec_file:write(Erl, erl_src_file("not_a_real_src" ++ Name ++ ".erl")).
-
-write_app_file(Dir, Name, Version, Deps) ->
- Filename = filename:join([Dir, "ebin", Name ++ ".app"]),
- ok = filelib:ensure_dir(Filename),
- ok = ec_file:write_term(Filename, get_app_metadata(ec_cnv:to_list(Name), Version, Deps)).
-
-write_app_src_file(Dir, Name, Version, Deps) ->
- Filename = filename:join([Dir, "src", Name ++ ".app.src"]),
- ok = filelib:ensure_dir(Filename),
- ok = ec_file:write_term(Filename, get_app_metadata(ec_cnv:to_list(Name), Version, Deps)).
-
-get_app_metadata(Name, Vsn, Deps) ->
- {application, erlang:list_to_atom(Name),
- [{description, ""},
- {vsn, Vsn},
- {modules, []},
- {included_applications, []},
- {registered, []},
- {applications, Deps}]}.
-
-create_random_name(Name) ->
- random:seed(erlang:now()),
- Name ++ erlang:integer_to_list(random:uniform(1000000)).
+ AppDir = ?config(apps, Config),
-create_random_vsn() ->
- random:seed(erlang:now()),
- lists:flatten([erlang:integer_to_list(random:uniform(100)),
- ".", erlang:integer_to_list(random:uniform(100)),
- ".", erlang:integer_to_list(random:uniform(100))]).
+ Name = rebar_test_utils:create_random_name("app1_"),
+ Vsn = rebar_test_utils:create_random_vsn(),
+ rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
-write_config(Filename, Values) ->
- ok = filelib:ensure_dir(Filename),
- ok = ec_file:write(Filename,
- [io_lib:format("~p.\n", [Val]) || Val <- Values]).
+ rebar_test_utils:run_and_check(Config, [], "compile", [{app, Name}]).
-erl_src_file(Name) ->
- io_lib:format("-module(~s).\n"
- "-export([main/0]).\n"
- "main() -> ok.\n", [filename:basename(Name, ".erl")]).