summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOscar Hellström <oscar@hellstrom.st>2010-08-24 21:54:54 +0200
committerOscar Hellström <oscar@hellstrom.st>2010-08-24 21:54:54 +0200
commit8c03d5959be4f9e14ed72bbaa3d17d0fc67412fb (patch)
tree846ac74e11962048dca4426bd03d7553e93b8c55 /src
parent79546e66ffd37675b352eb8a4cdc3485fec095c1 (diff)
Make sure *both* .eunit and ebin directory exists before setting up the code path.
Normally the ebin directory doesn't contain any source files. Therefore it won't be kept in the repository by, at least, mercurial and also maybe git unless you put some .keep file in it or do some other hack. The ebin directory is created by rebar compile, but if rebar eunit is called before rebar compile, you end up with a {'EXIT', {{badmatch,{error,bad_directory}},...}. Another approach would be not to match cod:add_pathz(ebin_dir()) with ok, but I think this is an ok solution as well.
Diffstat (limited to 'src')
-rw-r--r--src/rebar_eunit.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rebar_eunit.erl b/src/rebar_eunit.erl
index 9f2baf1..a8ce954 100644
--- a/src/rebar_eunit.erl
+++ b/src/rebar_eunit.erl
@@ -74,8 +74,9 @@ eunit(Config, AppFile) ->
end
end,
- %% Make sure ?EUNIT_DIR/ directory exists (tack on dummy module)
+ %% Make sure ?EUNIT_DIR/ and ebin/ directory exists (tack on dummy module)
ok = filelib:ensure_dir(?EUNIT_DIR ++ "/foo"),
+ ok = filelib:ensure_dir(ebin_dir() ++ "/foo"),
%% Setup code path prior to compilation so that parse_transforms and the like
%% work properly. Also, be sure to add ebin_dir() to the END of the code path