summaryrefslogtreecommitdiff
path: root/test/rebar_compile_SUITE.erl
diff options
context:
space:
mode:
authorFred Hebert <mononcqc@ferd.ca>2014-12-29 14:18:33 -0500
committerFred Hebert <mononcqc@ferd.ca>2014-12-29 14:18:33 -0500
commitcb400a39dc3dd73b642ca2594cc02048208e9af4 (patch)
tree2c9fb408db1209c81f776b1d36e2df5923a23a13 /test/rebar_compile_SUITE.erl
parent03ed46fbc68ed5465eaa3d5829dc34325d92ca8d (diff)
parenta945143bb4200f78a94c6f7a492e5fad72dce4a6 (diff)
Merge pull request #82 from rebar/checkouts-test
Adding tests for checkouts being found & compiled
Diffstat (limited to 'test/rebar_compile_SUITE.erl')
-rw-r--r--test/rebar_compile_SUITE.erl46
1 files changed, 42 insertions, 4 deletions
diff --git a/test/rebar_compile_SUITE.erl b/test/rebar_compile_SUITE.erl
index d67be77..627e834 100644
--- a/test/rebar_compile_SUITE.erl
+++ b/test/rebar_compile_SUITE.erl
@@ -6,7 +6,9 @@
init_per_testcase/2,
all/0,
build_basic_app/1,
- build_release_apps/1]).
+ build_release_apps/1,
+ build_checkout_apps/1,
+ build_checkout_deps/1]).
-include_lib("common_test/include/ct.hrl").
-include_lib("eunit/include/eunit.hrl").
@@ -25,7 +27,8 @@ init_per_testcase(_, Config) ->
rebar_test_utils:init_rebar_state(Config).
all() ->
- [build_basic_app, build_release_apps].
+ [build_basic_app, build_release_apps,
+ build_checkout_apps, build_checkout_deps].
build_basic_app(Config) ->
AppDir = ?config(apps, Config),
@@ -39,10 +42,10 @@ build_basic_app(Config) ->
build_release_apps(Config) ->
AppDir = ?config(apps, Config),
- Name1 = rebar_test_utils:create_random_name("app1_"),
+ Name1 = rebar_test_utils:create_random_name("relapp1_"),
Vsn1 = rebar_test_utils:create_random_vsn(),
rebar_test_utils:create_app(filename:join([AppDir,Name1]), Name1, Vsn1, [kernel, stdlib]),
- Name2 = rebar_test_utils:create_random_name("app2_"),
+ Name2 = rebar_test_utils:create_random_name("relapp2_"),
Vsn2 = rebar_test_utils:create_random_vsn(),
rebar_test_utils:create_app(filename:join([AppDir,Name2]), Name2, Vsn2, [kernel, stdlib]),
@@ -50,3 +53,38 @@ build_release_apps(Config) ->
Config, [], ["compile"],
{ok, [{app, Name1}, {app, Name2}]}
).
+
+build_checkout_apps(Config) ->
+ AppDir = ?config(apps, Config),
+ CheckoutsDir = ?config(checkouts, Config),
+ Name1 = rebar_test_utils:create_random_name("checkapp1_"),
+ Vsn1 = rebar_test_utils:create_random_vsn(),
+ rebar_test_utils:create_app(filename:join([AppDir,Name1]), Name1, Vsn1, [kernel, stdlib]),
+ Name2 = rebar_test_utils:create_random_name("checkapp2_"),
+ Vsn2 = rebar_test_utils:create_random_vsn(),
+ rebar_test_utils:create_app(filename:join([CheckoutsDir,Name2]), Name2, Vsn2, [kernel, stdlib]),
+
+ rebar_test_utils:run_and_check(
+ Config, [], ["compile"],
+ {ok, [{app, Name1}, {checkout, Name2}]}
+ ).
+
+build_checkout_deps(Config) ->
+ AppDir = ?config(apps, Config),
+ CheckoutsDir = ?config(checkouts, Config),
+ DepsDir = filename:join([AppDir, "_build", "lib"]),
+ Name1 = rebar_test_utils:create_random_name("checkapp1_"),
+ Vsn1 = rebar_test_utils:create_random_vsn(),
+ rebar_test_utils:create_app(filename:join([AppDir,Name1]), Name1, Vsn1, [kernel, stdlib]),
+ Name2 = rebar_test_utils:create_random_name("checkapp2_"),
+ Vsn2 = rebar_test_utils:create_random_vsn(),
+ rebar_test_utils:create_app(filename:join([CheckoutsDir,Name2]), Name2, Vsn2, [kernel, stdlib]),
+ rebar_test_utils:create_app(filename:join([DepsDir,Name2]), Name2, Vsn1, [kernel, stdlib]),
+
+ rebar_test_utils:run_and_check(
+ Config, [], ["compile"],
+ {ok, [{app, Name1}, {checkout, Name2}]}
+ ),
+ ok = application:load(list_to_atom(Name2)),
+ Loaded = application:loaded_applications(),
+ {_, _, Vsn2} = lists:keyfind(list_to_atom(Name2), 1, Loaded).