summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSiri Hansen <siri@erlang.org>2016-12-08 15:46:35 +0100
committerSiri Hansen <siri@erlang.org>2016-12-08 16:07:18 +0100
commita0e7ff2eb95a8093f666d310bd5df6395a243bd8 (patch)
tree94210ab0ac92b404598851e505ee1476b5802b58 /src
parent85e00f2a434d3295d7a683838cda002403f5af17 (diff)
Add directory of testspec as extra_src_dir
This is necessary in order to automatically get the testspec included as an artifact (i.e. copied to the _build dir) in the case when it is stored in another directory than 'test'.
Diffstat (limited to 'src')
-rw-r--r--src/rebar_prv_common_test.erl16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/rebar_prv_common_test.erl b/src/rebar_prv_common_test.erl
index 5fa7ae4..17358a5 100644
--- a/src/rebar_prv_common_test.erl
+++ b/src/rebar_prv_common_test.erl
@@ -429,9 +429,9 @@ test_dirs(State, Apps, Opts) ->
set_compile_dirs(State, Apps, join(Suites, Dir));
{_Suites, _Dirs} -> {error, "Only a single directory may be specified when specifying suites"}
end;
- _Specs ->
- %% Currently not adding any directories from the spec files.
- {ok, rebar_state:project_apps(State, Apps)}
+ Specs ->
+ set_compile_dirs(State, Apps, {spec, Specs})
+
end.
join(Suite, Dir) when is_integer(hd(Suite)) ->
@@ -451,15 +451,15 @@ set_compile_dirs(State, Apps, {dir, Dirs}) ->
F = fun(Dir, {S, A}) -> maybe_inject_test_dir(S, [], A, Dir) end,
{NewState, NewApps} = lists:foldl(F, {State, Apps}, Dirs),
{ok, rebar_state:project_apps(NewState, NewApps)};
-set_compile_dirs(State, Apps, {suite, Suites}) ->
- %% suites with dir component
- Dirs = find_suite_dirs(Suites),
+set_compile_dirs(State, Apps, {Type, Files}) when Type==spec; Type==suite ->
+ %% specs or suites with dir component
+ Dirs = find_file_dirs(Files),
F = fun(Dir, {S, A}) -> maybe_inject_test_dir(S, [], A, Dir) end,
{NewState, NewApps} = lists:foldl(F, {State, Apps}, Dirs),
{ok, rebar_state:project_apps(NewState, NewApps)}.
-find_suite_dirs(Suites) ->
- AllDirs = lists:map(fun(S) -> filename:dirname(filename:absname(S)) end, Suites),
+find_file_dirs(Files) ->
+ AllDirs = lists:map(fun(F) -> filename:dirname(filename:absname(F)) end, Files),
%% eliminate duplicates
lists:usort(AllDirs).