aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/test/erl_prim_loader_SUITE.erl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2014-07-10 10:45:13 +0200
committerErlang/OTP <[email protected]>2014-07-10 10:45:13 +0200
commitb376a4b8dd21a943be3226bb696a1622537edf86 (patch)
tree04546a16fe10c520c21aecd95caaa890723f75d8 /lib/kernel/test/erl_prim_loader_SUITE.erl
parenta7176f9186ffd7eb2b26daca2264d425383cf6a7 (diff)
parentab5afc3d8cbd0211fef7c9c71edc2708f643f705 (diff)
downloadotp-b376a4b8dd21a943be3226bb696a1622537edf86.tar.gz
otp-b376a4b8dd21a943be3226bb696a1622537edf86.tar.bz2
otp-b376a4b8dd21a943be3226bb696a1622537edf86.zip
Merge branch 'nox/filelib-wildcard-broken-link' into maint-17
* nox/filelib-wildcard-broken-link: Update stdlib appup file Update runtime dependencies Update preloaded Add tests of filelib and symlinks Fix handling of broken symlinks in filelib Conflicts: erts/preloaded/ebin/erl_prim_loader.beam
Diffstat (limited to 'lib/kernel/test/erl_prim_loader_SUITE.erl')
-rw-r--r--lib/kernel/test/erl_prim_loader_SUITE.erl26
1 files changed, 25 insertions, 1 deletions
diff --git a/lib/kernel/test/erl_prim_loader_SUITE.erl b/lib/kernel/test/erl_prim_loader_SUITE.erl
index b2ca3bdbc2..658c31c14d 100644
--- a/lib/kernel/test/erl_prim_loader_SUITE.erl
+++ b/lib/kernel/test/erl_prim_loader_SUITE.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 1996-2013. All Rights Reserved.
+%% Copyright Ericsson AB 1996-2014. All Rights Reserved.
%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
@@ -328,6 +328,30 @@ file_requests(Config) when is_list(Config) ->
{ok,Info} = file:read_file_info(code:which(test_server)),
?line {ok,Info} = rpc:call(Node, erl_prim_loader, read_file_info,
[code:which(test_server)]),
+
+ PrivDir = ?config(priv_dir,Config),
+ Dir = filename:join(PrivDir,?MODULE_STRING++"_file_requests"),
+ ok = file:make_dir(Dir),
+ Alias = filename:join(Dir,"symlink"),
+ case file:make_symlink(code:which(test_server), Alias) of
+ {error, enotsup} ->
+ %% Links not supported on this platform
+ ok;
+ {error, eperm} ->
+ {win32,_} = os:type(),
+ %% Windows user not privileged to create symlinks"
+ ok;
+ ok ->
+ %% Reading file info for link should return file info for
+ %% link target
+ {ok,Info} = rpc:call(Node, erl_prim_loader, read_file_info,
+ [Alias]),
+ #file_info{type=regular} = Info,
+ {ok,#file_info{type=symlink}} =
+ rpc:call(Node, erl_prim_loader, read_link_info,
+ [Alias])
+ end,
+
{ok,Cwd} = file:get_cwd(),
?line {ok,Cwd} = rpc:call(Node, erl_prim_loader, get_cwd, []),
case file:get_cwd("C:") of