mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 11:06:20 +00:00
99fe270e59
Since the introduction of -r/--recursive, deps were not properly added to the code path when running ct, eunit, etc. To fix that, pass a flag down to process_dir1 and conditionalize execution of the command. This moves the decision into process_dir1 where we can decide to invoke preprocess/2 and postprocess/2 but not execute the command. Without this fix, you'd have to, for example, invoke 'rebar -r ct skip_deps=true', if you wanted to run base_dir's ct suites with deps on the code path (while skipping all non-base_dir ct suites). So, with this patch applied, if you run $ rebar ct deps will be on the code path, and only base_dir's ct suites will be tested. If you want to test ct suites in base_dir and sub_dirs, you have to run $ rebar -r ct skip_deps=true If you want to test ct suites in all dirs, you have to run $ rebar -r ct The fix is not specific to ct and applies to all commands. To be able to add inttest/code_path_no_recurse/deps, I had to fix .gitignore. While at it, I've updated and fixed all entries.
12 lines
458 B
Erlang
12 lines
458 B
Erlang
-module(codepath_tests).
|
|
-include_lib("eunit/include/eunit.hrl").
|
|
|
|
codepath_test() ->
|
|
?assertEqual({module, codepath}, code:ensure_loaded(codepath)),
|
|
?assertEqual({module, foodep}, code:ensure_loaded(foodep)),
|
|
?assertEqual({module, bazdep}, code:ensure_loaded(bazdep)),
|
|
?assert(codepath:codepath()).
|
|
|
|
unuseddep_test() ->
|
|
?assertEqual(non_existing, code:which(unuseddep)),
|
|
?assertEqual({error, nofile}, code:ensure_loaded(unuseddep)).
|