From f77afd43c31dce68664358e7bf1c32b02f45b39e Mon Sep 17 00:00:00 2001 From: Eric Merritt Date: Fri, 19 Oct 2012 08:57:23 -0500 Subject: [PATCH] add exists to ec_file Signed-off-by: Jordan Wilberding --- src/ec_file.erl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/ec_file.erl b/src/ec_file.erl index 37ad1b1..45adb2a 100644 --- a/src/ec_file.erl +++ b/src/ec_file.erl @@ -7,6 +7,7 @@ -module(ec_file). -export([ + exists/1, copy/2, copy/3, insecure_mkdtemp/0, @@ -40,6 +41,15 @@ %%%=================================================================== %%% API %%%=================================================================== +-spec exists(file:filename()) -> boolean(). +exists(Filename) -> + case file:read_file_info(Filename) of + {ok, _} -> + true; + {error, _Reason} -> + false + end. + %% @doc copy an entire directory to another location. -spec copy(file:name(), file:name(), Options::[option()]) -> ok | {error, Reason::term()}. copy(From, To, []) -> @@ -314,6 +324,16 @@ setup_base_and_target() -> ok = file:write_file(NoName, DummyContents), {BaseDir, SourceDir, {Name1, Name2, Name3, NoName}}. +exists_test() -> + BaseDir = insecure_mkdtemp(), + SourceDir = filename:join([BaseDir, "source1"]), + NoName = filename:join([SourceDir, "noname"]), + ok = file:make_dir(SourceDir), + Name1 = filename:join([SourceDir, "fileone"]), + ok = file:write_file(Name1, <<"Testn">>), + ?assertMatch(true, exists(Name1)), + ?assertMatch(false, exists(NoName)). + find_test() -> %% Create a directory in /tmp for the test. Clean everything afterwards {BaseDir, _SourceDir, {Name1, Name2, Name3, _NoName}} = setup_base_and_target(),