Sorry for the delay.

I'm almost ready to send the patch with the test, but there are some questions.

On 02/10/14 08:14, Sebastian Huber wrote:
Hello Andre,

thanks for the test case.

On 2014-02-08 13:26, Andre Marques wrote:
Hi,

As discussed in [1], I created a new fstest to check the rename()
implementation against the POSIX specification [2].

What the attached patch does not test:

- Testing the existance of a link visible to other processes during the rename process (ensuring that there is always a reference to the file). Not sure about
the best way to test this.

The file system instance is locked during the rename operation, so other threads cannot interfere here.


Should I test the lock then?

What happens if you rename a file with an open file descriptor should be tested.

That is already covered on the test.



- Testing that after all processes close their references to a file after it was removed by rename() the file contents are removed (or marked as free space, I guess). I only found platform dependent ways of dealing with disk block's.

Maybe you can use the statvfs() function for this.

The statvfs() function gives "not implemented" on the IMFS filesystem, so I changed the used filesystem to MOUNTED RFS.



- Testing errno values in error situations. There is already a fstest named
fserror which purpose seems to be checking errno values for a bunch of
functions (rename included, but with some errno values missing). Not sure if I
should put them in this test or add to fserror.

I would move all rename related tests to this new test program.

About the errno value testing, I'm currently missing EIO, ENOSPC, EROFS and EXDEV.

EROFS and EXDEV require mounting a second filesystem. How can I do this in RTEMS? Can it be done at runtime? I've been looking at the fileio sample, which uses the fsmount() function, but I need a disk to mount with it.

For ENOSPC I'm thinking in mounting a small disk and testing that way, but for EIO I don't know how to simulate a physical error. How can I generate an I/O error?




This test uses the MOUNTED IMFS filesystem, for no particular reason, so if
that's an issue please let me know.

[1] - http://www.rtems.org/pipermail/rtems-users/2014-January/012378.html

[2] - http://pubs.opengroup.org/onlinepubs/9699919799/functions/rename.html

--André Marques
[...]
_______________________________________________
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to