It's not so simple. That test works as expected on Linux, it looks like it
is only failing on Darwin.

Rick

On Sat, Feb 16, 2019 at 6:38 AM Enrico Sorichetti via Oorexx-devel <
oorexx-devel@lists.sourceforge.net> wrote:

> Certainly different from windows ,
>
> On unix it behaves according to the docs
>
> deleteFile uses unlink which does not check the permissions on the file
>
> E
>
> Quoting the libc manual
>
>
> 14.6 Deleting Files
>
> You can delete a file with unlink or remove.
>
> Deletion actually deletes a file name. If this is the file’s only name,
> then the file is deleted as well. If the file has other remaining names
> (see Hard Links
> <https://www.gnu.org/software/libc/manual/html_node/Hard-Links.html#Hard-Links>),
> it remains accessible under those names.
> Function: *int* *unlink* *(const char *filename)*
>
> Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts
> <https://www.gnu.org/software/libc/manual/html_node/POSIX-Safety-Concepts.html#POSIX-Safety-Concepts>
> .
>
> The unlink function deletes the file name filename. If this is a file’s
> sole name, the file itself is also deleted. (Actually, if any process has
> the file open when this happens, deletion is postponed until all processes
> have closed the file.)
>
> The function unlink is declared in the header file unistd.h.
>
> This function returns 0 on successful completion, and -1 on error. In
> addition to the usual file name errors (see File Name Errors
> <https://www.gnu.org/software/libc/manual/html_node/File-Name-Errors.html#File-Name-Errors>),
> the following errno error conditions are defined for this function:
> EACCES
>
> Write permission is denied for the directory from which the file is to be
> removed, or the directory has the sticky bit set and you do not own the
> file.
> EBUSY
>
> This error indicates that the file is being used by the system in such a
> way that it can’t be unlinked. For example, you might see this error if the
> file name specifies the root directory or a mount point for a file system.
> ENOENT
>
> The file name to be deleted doesn’t exist.
> EPERM
>
> On some systems unlink cannot be used to delete the name of a directory,
> or at least can only be used this way by a privileged user. To avoid such
> problems, use rmdir to delete directories. (On GNU/Linux and GNU/Hurd
> systems unlink can never delete the name of a directory.)
> EROFS
>
> The directory containing the file name to be deleted is on a read-only
> file system and can’t be modified.
>
> 11.2.3 File Name Errors
>
> Functions that accept file name arguments usually detect these errno error
> conditions relating to the file name syntax or trouble finding the named
> file. These errors are referred to throughout this manual as the *usual
> file name errors*.
> EACCES
>
> The process does not have search permission for a directory component of
> the file name.
> ENAMETOOLONG
>
> This error is used when either the total length of a file name is greater
> than PATH_MAX, or when an individual file name component has a length
> greater than NAME_MAX. See Limits for Files
> <https://www.gnu.org/software/libc/manual/html_node/Limits-for-Files.html#Limits-for-Files>
> .
>
> On GNU/Hurd systems, there is no imposed limit on overall file name
> length, but some file systems may place limits on the length of a component.
> ENOENT
>
> This error is reported when a file referenced as a directory component in
> the file name doesn’t exist, or when a component is a symbolic link whose
> target file does not exist. See Symbolic Links
> <https://www.gnu.org/software/libc/manual/html_node/Symbolic-Links.html#Symbolic-Links>
> .
> ENOTDIR
>
> A file that is referenced as a directory component in the file name
> exists, but it isn’t a directory.
> ELOOP
>
> Too many symbolic links were resolved while trying to look up the file
> name. The system has an arbitrary limit on the number of symbolic links
> that may be resolved in looking up a single file name, as a primitive way
> to detect loops. See Symbolic Links
> <https://www.gnu.org/software/libc/manual/html_node/Symbolic-Links.html#Symbolic-Links>
> .
>
>
>
>
> On 16 Feb 2019, at 11:44, Rick McGuire <object.r...@gmail.com> wrote:
>
> No, those are correct. The test is expecting that an attempt to delete a
> read-only file will fail. Just another one of those maddening differences
> between platforms.
>
>
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to