Skip to content

Commit 6874c75

Browse files
committed
tighten logic for corner cases
1 parent 4fe031e commit 6874c75

17 files changed

+52
-36
lines changed

+stdlib/device.m

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@
2222
end
2323

2424
end
25+
26+
%!assert(device(pwd) >= 0);
27+
%!assert(isempty(device(tempname())));

+stdlib/expanduser.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
%!assert(expanduser(''), '')
3939
%!assert(expanduser("~"), homedir())
40-
%!assert(expanduser("~/"), homedir())
40+
%!assert(expanduser("~/"), strcat(homedir(), '/'))
4141
%!assert(expanduser("~user"), "~user")
42-
%!assert(expanduser("~user/"), "~user")
43-
%!assert(expanduser("~///c"), strcat(homedir(), "/c"))
42+
%!assert(expanduser("~user/"), "~user/")
43+
%!assert(expanduser("~/c"), strcat(homedir(), "/c"))

+stdlib/get_modtime.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@
3434

3535
%!test
3636
%! p = tempname();
37-
%! assert(touch(p, []))
37+
%! assert(touch(p, now))
3838
%! assert(get_modtime(p) > 0)
3939
%! delete(p)

+stdlib/get_owner.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,3 @@
2727
end
2828

2929
%!assert(!isempty(get_owner(pwd)))
30-
%!assert(isempty(get_owner(tempname)))

+stdlib/get_permissions.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,4 @@
7070

7171
end
7272

73-
%!assert(length(get_permissions('get_permissions.m')) == 9)
73+
%!assert(length(get_permissions('get_permissions.m')) >= 9)

+stdlib/inode.m

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@
2222
end
2323

2424
end
25+
26+
%!assert(inode(pwd) >= 0);
27+
%!assert(isempty(inode(tempname())));

+stdlib/is_admin.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@
44
function is_admin()
55
error("buildtool mex")
66
end
7+
8+
%!testif 0

+stdlib/is_regular_file.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
end
88

99
% needs absolute()
10-
p = stdlib.absolute(p);
10+
p = stdlib.absolute(p, pwd());
1111

1212
op = javaPathObject(p);
1313
opt = javaLinkOption();

+stdlib/is_symlink.m

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
switch e.identifier
1414
case "MATLAB:UndefinedFunction", ok = java.nio.file.Files.isSymbolicLink(javaPathObject(stdlib.absolute(p)));
1515
case "Octave:undefined-function"
16-
[s, err] = stat(p);
16+
% use lstat() to work with a broken symlink, like Matlab isSymbolicLink
17+
[s, err] = lstat(p);
1718
ok = err == 0 && S_ISLNK(s.mode);
1819
otherwise, rethrow(e)
1920
end
@@ -24,6 +25,7 @@
2425
%!test
2526
%! if !ispc
2627
%! p = tempname();
27-
%! assert(create_symlink(mfilename("fullpath"), p))
28-
%! assert(is_symlink(p))
28+
%! assert(create_symlink("is_symlink.m", p))
29+
%! assert(is_symlink(p), p)
30+
%! delete(p)
2931
%! endif

+stdlib/proximate_to.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@
1212
function proximate_to(~,~)
1313
error("buildtool mex")
1414
end
15+
16+
%!testif 0

0 commit comments

Comments
 (0)