@ -18,6 +18,8 @@
% % we need to modify app_info state before compile
- define ( DEPS , [ lock ] ) .
- define ( DEFAULT_TEST_REGEX , " ^[^._].* \\ .erl \ $ " ) .
% % == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == =
% % Public API
% % == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == =
@ -174,21 +176,24 @@ set_apps([App|Rest], Acc) ->
set_modules ( Apps , State ) - > set_modules ( Apps , State , { [ ] , [ ] } ) .
set_modules ( [ ] , State , { AppAcc , TestAcc } ) - >
TestSrc = gather_src ( [ filename : join ( [ rebar_state : dir ( State ) , " test " ] ) ] ) ,
Regex = rebar_state : get ( State , eunit_test_regex , ? DEFAULT_TEST_REGEX ) ,
BareTestDir = [ filename : join ( [ rebar_state : dir ( State ) , " test " ] ) ] ,
TestSrc = gather_src ( BareTestDir , Regex ) ,
dedupe_tests ( { AppAcc , TestAcc ++ TestSrc } ) ;
set_modules ( [ App | Rest ] , State , { AppAcc , TestAcc } ) - >
F = fun ( Dir ) - > filename : join ( [ rebar_app_info : dir ( App ) , Dir ] ) end ,
AppDirs = lists : map ( F , rebar_dir : src_dirs ( rebar_app_info : opts ( App ) , [ " src " ] ) ) ,
AppSrc = gather_src ( AppDirs ) ,
Regex = rebar_state : get ( State , eunit_test_regex , ? DEFAULT_TEST_REGEX ) ,
AppSrc = gather_src ( AppDirs , Regex ) ,
TestDirs = [ filename : join ( [ rebar_app_info : dir ( App ) , " test " ] ) ] ,
TestSrc = gather_src ( TestDirs ) ,
TestSrc = gather_src ( TestDirs , Regex ),
set_modules ( Rest , State , { AppSrc ++ AppAcc , TestSrc ++ TestAcc } ) .
gather_src ( Dirs ) - > gather_src ( Dirs , [ ] ) .
gather_src ( Dirs , Regex ) - > gather_src ( Dirs , Regex , [ ] ) .
gather_src ( [ ] , Srcs ) - > Srcs ;
gather_src ( [ Dir | Rest ] , Srcs ) - >
gather_src ( Rest , Srcs ++ rebar_utils : find_files ( Dir , " ^[^._].* \\ .erl \ $ " , true ) ) .
gather_src ( [ ] , _ Regex , Srcs ) - > Srcs ;
gather_src ( [ Dir | Rest ] , Regex , Srcs) - >
gather_src ( Rest , Regex , Srcs ++ rebar_utils : find_files ( Dir , Regex , true ) ) .
dedupe_tests ( { AppMods , TestMods } ) - >
% % for each modules in TestMods create a test if there is not a module