diff --git a/src/rebar_ct.erl b/src/rebar_ct.erl index 4a6f11e..c075e8c 100644 --- a/src/rebar_ct.erl +++ b/src/rebar_ct.erl @@ -210,7 +210,7 @@ make_cmd(TestDir, RawLogDir, Config) -> CodeDirs = [io_lib:format("\"~s\"", [Dir]) || Dir <- [EbinDir|NonLibCodeDirs]], CodePathString = string:join(CodeDirs, " "), - Cmd = case get_ct_specs(Cwd) of + Cmd = case get_ct_specs(Config, Cwd) of undefined -> ?FMT("~s" " -pa ~s" @@ -260,8 +260,8 @@ build_name(Config) -> get_extra_params(Config) -> rebar_config:get_local(Config, ct_extra_params, ""). -get_ct_specs(Cwd) -> - case collect_glob(Cwd, ".*\.test\.spec\$") of +get_ct_specs(Config, Cwd) -> + case collect_glob(Config, Cwd, ".*\.test\.spec\$") of [] -> undefined; [Spec] -> " -spec " ++ Spec; @@ -275,7 +275,7 @@ get_cover_config(Config, Cwd) -> false -> ""; true -> - case collect_glob(Cwd, ".*cover\.spec\$") of + case collect_glob(Config, Cwd, ".*cover\.spec\$") of [] -> ?DEBUG("No cover spec found: ~s~n", [Cwd]), ""; @@ -287,14 +287,15 @@ get_cover_config(Config, Cwd) -> end end. -collect_glob(Cwd, Glob) -> +collect_glob(Config, Cwd, Glob) -> + {true, Deps} = rebar_deps:get_deps_dir(Config), CwdParts = filename:split(Cwd), filelib:fold_files(Cwd, Glob, true, fun(F, Acc) -> %% Ignore any specs under the deps/ directory. Do this pulling %% the dirname off the F and then splitting it into a list. Parts = filename:split(filename:dirname(F)), Parts2 = remove_common_prefix(Parts, CwdParts), - case lists:member("deps", Parts2) of + case lists:member(Deps, Parts2) of true -> Acc; % There is a directory named "deps" in path false -> diff --git a/src/rebar_deps.erl b/src/rebar_deps.erl index 43bde04..68fb40c 100644 --- a/src/rebar_deps.erl +++ b/src/rebar_deps.erl @@ -40,6 +40,7 @@ %% for internal use only -export([info/2]). +-export([get_deps_dir/1]). -record(dep, { dir, app,