test: delete emqx_ft_fs_utils_SUITE_data from source code
This commit is contained in:
parent
aed64aae60
commit
a10107045f
|
@ -26,6 +26,51 @@
|
|||
all() ->
|
||||
emqx_common_test_helpers:all(?MODULE).
|
||||
|
||||
%%├── a
|
||||
%%│ ├── b
|
||||
%%│ │ └── foo
|
||||
%%│ │ ├── 42
|
||||
%%│ │ └── Я
|
||||
%%│ └── link -> ../c
|
||||
%%├── c
|
||||
%%│ ├── bar
|
||||
%%│ │ └── 中文
|
||||
%%│ └── link -> ../a
|
||||
%%└── d
|
||||
%% ├── e
|
||||
%% │ └── baz
|
||||
%% │ └── needle
|
||||
%% └── haystack
|
||||
|
||||
init_per_suite(Config) ->
|
||||
Root = ?config(data_dir, Config),
|
||||
A = filename:join([Root, "a", "b", "foo"]),
|
||||
C = filename:join([Root, "c", "bar"]),
|
||||
D = filename:join([Root, "d", "e", "baz"]),
|
||||
|
||||
F42 = filename:join([A, "42"]),
|
||||
F42_1 = filename:join([A, "Я"]),
|
||||
FBar = filename:join([C, "中文"]),
|
||||
FNeedle = filename:join([D, "needle"]),
|
||||
FHayStack = filename:join([Root, "d", "haystack"]),
|
||||
Files = [F42, F42_1, FBar, FNeedle, FHayStack],
|
||||
lists:foreach(fun filelib:ensure_dir/1, Files),
|
||||
%% create files
|
||||
lists:foreach(fun(File) -> file:write_file(File, <<"">>, [write]) end, Files),
|
||||
%% create links
|
||||
ALink = filename:join([Root, "a", "link"]),
|
||||
CLink = filename:join([Root, "c", "link"]),
|
||||
make_symlink("../c", ALink),
|
||||
make_symlink("../a", CLink),
|
||||
Config.
|
||||
|
||||
end_per_suite(Config) ->
|
||||
Root = ?config(data_dir, Config),
|
||||
ok = file:del_dir_r(filename:join([Root, "a"])),
|
||||
ok = file:del_dir_r(filename:join([Root, "c"])),
|
||||
ok = file:del_dir_r(filename:join([Root, "d"])),
|
||||
ok.
|
||||
|
||||
t_fold_single_level(Config) ->
|
||||
Root = ?config(data_dir, Config),
|
||||
?assertMatch(
|
||||
|
@ -248,3 +293,7 @@ cons(Entry, Acc) ->
|
|||
|
||||
sort(L) when is_list(L) ->
|
||||
lists:sort(L).
|
||||
|
||||
make_symlink(FileOrDir, NewLink) ->
|
||||
_ = file:delete(NewLink),
|
||||
ok = file:make_symlink(FileOrDir, NewLink).
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Ты
|
|
@ -1 +0,0 @@
|
|||
../c
|
|
@ -1 +0,0 @@
|
|||
Zhōngwén
|
|
@ -1 +0,0 @@
|
|||
../a
|
|
@ -1 +0,0 @@
|
|||
haystack
|
|
@ -1 +0,0 @@
|
|||
needle
|
|
@ -34,31 +34,23 @@ init_per_suite(Config) ->
|
|||
F2 = filename:join([D1, "2"]),
|
||||
DeepDir = filename:join([Root, "nonempty", "d2", "deep", "down/"]),
|
||||
DeepFile = filename:join([DeepDir, "here"]),
|
||||
ok = filelib:ensure_dir(F1),
|
||||
ok = filelib:ensure_dir(F2),
|
||||
ok = filelib:ensure_dir(DeepFile),
|
||||
D1Mutrec = filename:join([D1, "mutrec"]),
|
||||
D2Mutrec = filename:join([D2, "deep", "mutrec"]),
|
||||
ok = file:write_file(F1, <<"">>, [write]),
|
||||
ok = file:write_file(F2, <<"">>, [write]),
|
||||
ok = file:write_file(DeepFile, <<"">>, [write]),
|
||||
{ok, D1FileInfo} = file:read_file_info(D1),
|
||||
ok = file:write_file_info(D1, D1FileInfo#file_info{mode = 8#00777}),
|
||||
_ = file:delete(D1Mutrec),
|
||||
_ = file:delete(D2Mutrec),
|
||||
ok = file:make_symlink(DeepDir, D1Mutrec),
|
||||
%% can't file:make_link("../../d1", D2Mutrec) on mac, it return {error, eperm}
|
||||
ok = file:make_symlink("../../d1", D2Mutrec),
|
||||
{ok, DeepFileInfo} = file:read_file_info(DeepFile),
|
||||
ok = file:write_file_info(DeepFile, DeepFileInfo#file_info{mode = 8#00600}),
|
||||
{ok, D2MutrecInfo} = file:read_link_info(D2Mutrec),
|
||||
ct:pal("~p~n", [D2MutrecInfo]),
|
||||
%ok = file:write_link_info(D2Mutrec, D2MutrecInfo#file_info{mode = 8#00777}),
|
||||
Files = [F1, F2, DeepFile],
|
||||
lists:foreach(fun filelib:ensure_dir/1, Files),
|
||||
D1LinkMutrec = filename:join([D1, "mutrec"]),
|
||||
D2LinkMutrec = filename:join([D2, "deep", "mutrec"]),
|
||||
lists:foreach(fun(File) -> file:write_file(File, <<"">>, [write]) end, Files),
|
||||
chmod_file(D1, 8#00777),
|
||||
chmod_file(DeepFile, 8#00600),
|
||||
make_symlink(DeepDir, D1LinkMutrec),
|
||||
%% can't file:make_link("../../d1", D2Mutrec) on mac, return {error, eperm}
|
||||
make_symlink("../../d1", D2LinkMutrec),
|
||||
{ok, D2MutrecInfo} = file:read_link_info(D2LinkMutrec),
|
||||
ct:pal("~ts 's file_info is ~p~n", [D2LinkMutrec, D2MutrecInfo]),
|
||||
Config.
|
||||
|
||||
end_per_suite(Config) ->
|
||||
Root = ?config(data_dir, Config),
|
||||
%ok = file:del_dir_r(filename:join([Root, "nonempty"])),
|
||||
ok = file:del_dir_r(filename:join([Root, "nonempty"])),
|
||||
ok.
|
||||
|
||||
%%
|
||||
|
@ -150,3 +142,11 @@ t_canonicalize_non_utf8(_) ->
|
|||
badarg,
|
||||
emqx_utils_fs:canonicalize(<<128, 128, 128>>)
|
||||
).
|
||||
|
||||
chmod_file(File, Mode) ->
|
||||
{ok, FileInfo} = file:read_file_info(File),
|
||||
ok = file:write_file_info(File, FileInfo#file_info{mode = Mode}).
|
||||
|
||||
make_symlink(FileOrDir, NewLink) ->
|
||||
_ = file:delete(NewLink),
|
||||
ok = file:make_symlink(FileOrDir, NewLink).
|
||||
|
|
Loading…
Reference in New Issue