@ -7,7 +7,8 @@
all / 0 ,
all / 0 ,
escriptize_with_name / 1 ,
escriptize_with_name / 1 ,
escriptize_with_bad_name / 1 ,
escriptize_with_bad_name / 1 ,
build_and_clean_app / 1 ] ) .
build_and_clean_app / 1 ,
escriptize_with_ebin_subdir / 1 ] ) .
- include_lib ( " common_test/include/ct.hrl " ) .
- include_lib ( " common_test/include/ct.hrl " ) .
- include_lib ( " eunit/include/eunit.hrl " ) .
- include_lib ( " eunit/include/eunit.hrl " ) .
@ -29,7 +30,8 @@ all() ->
[
[
build_and_clean_app ,
build_and_clean_app ,
escriptize_with_name ,
escriptize_with_name ,
escriptize_with_bad_name
escriptize_with_bad_name ,
escriptize_with_ebin_subdir
] .
] .
% % Test escriptize builds and runs the app ' s escript
% % Test escriptize builds and runs the app ' s escript
@ -59,3 +61,24 @@ escriptize_with_bad_name(Config) ->
rebar_test_utils : create_app ( AppDir , Name , Vsn , [ kernel , stdlib ] ) ,
rebar_test_utils : create_app ( AppDir , Name , Vsn , [ kernel , stdlib ] ) ,
rebar_test_utils : run_and_check ( Config , [ { escript_main_app , boogers } ] , [ " escriptize " ] ,
rebar_test_utils : run_and_check ( Config , [ { escript_main_app , boogers } ] , [ " escriptize " ] ,
{ error , { rebar_prv_escriptize , { bad_name , boogers } } } ) .
{ error , { rebar_prv_escriptize , { bad_name , boogers } } } ) .
escriptize_with_ebin_subdir ( Config ) - >
AppDir = ? config ( apps , Config ) ,
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 ] ) ,
filelib : ensure_dir ( filename : join ( [ AppDir , " ebin " , " subdir " , " subdirfile " ] ) ) ,
% % To work , this test must run from the AppDir itself . To avoid breaking
% % other tests , be careful with cwd
Cwd = file : get_cwd ( ) ,
try
file : set_cwd ( AppDir ) ,
{ ok , _ } = rebar3 : run ( rebar_state : new ( ? config ( state , Config ) , [ ] , AppDir ) ,
[ " escriptize " ] )
after
file : set_cwd ( Cwd ) % reset always
end ,
ok .