On Thu, 2008-04-03 at 00:29 +0300, Szabolcs Szakacsits wrote: > Hello file system developers, > > There are several POSIX file system test suites: closed source, commercial, > one which needs reading 174 pages installation guide, etc. Because of these > frustrations when Pawel Jakub Dawidek ported ZFS to FreeBSD, he also wrote > such a test suite quickly. > > Last year the NTFS-3G team ported it to Linux/ext3 and Linux/NTFS-3G to > validate Jean-Pierre Andre's full file permissions and ownership support > for NTFS-3G. We sent our patches to Pawel for integration but this doesn't > seem to happen him (he didn't see problems but is busy). > > Since this topic regularly appears on several lists, we are also often > asked about it and NTFS-3G does need it to be maintained, hence we decided > to release it and if nobody else would like to maintain it then we will do > so. > > The test suite mostly checks POSIX compliance and works for FreeBSD, > Solaris, and Linux with UFS, ZFS, ext3, and NTFS-3G file systems. The list > of system calls tested is: chmod, chown, link, mkdir, mkfifo, open, rename, > rmdir, symlink, truncate, unlink. There are currently 1950 regression > tests. > > Availability: > > http://ntfs3g.org/sw/qa/pjd-fstest-20080402.tgz > > and in the NTFS-3G CVS as pjd-fstest module: > > http://sourceforge.net/cvs/?group_id=181143 > > The usage is extremely simple: > > # tar czf pjd-fstest-20080402.tgz > # cd pjd-fstest-20080402 > # vi tests/conf > Change 'fs' to file system type you want to test (UFS, ZFS, ext3, ntfs-3g). > # make > It will compile fstest utility which is used by regression tests. > # cd /path/to/file/system/you/want/to/test/ > The test must be run as root user and requires a few basic Perl modules. > # prove -r /path/to/fstest/ > > It's also possible to run individual set of tests: > > # /path/to/fstest/tests/chown/00.t > > Or make single system call tests: > > # fstest mkdir foo 0750 > 0 > # fstest mkdir foo 0750 > mkdir returned -1 > EEXIST > > The test suite is easy to understand, modify and extend. For instance doing > a test cases for the above examples is only > > expect 0 fstest mkdir foo 0750 > expect EEXIST fstest mkdir foo 0750 > > The default file system type is ext3 and it passes all tests. Hmm.. I ran it against ext2, ext3, jfs, btrfs. I don't see all "pass" on ext3. What am I missing ? btrfs seems to have little more failures. Thanks, Badari ext2: ==== Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- /root/posix/tests/chmod/00.t 58 2 3.45% 3 19 /root/posix/tests/chown/00.t 171 4 2.34% 141 145 149 153 /root/posix/tests/link/00.t 82 6 7.32% 3 5-6 8-10 /root/posix/tests/open/05.t 12 2 16.67% 5 9 /root/posix/tests/rename/00.t 79 9 11.39% 3 6 8-9 11 13 37 39 42 /root/posix/tests/symlink/00.t 14 2 14.29% 2 5 /root/posix/tests/truncate/05.t 15 5 33.33% 5-6 10-12 /root/posix/tests/truncate/12.t 3 1 33.33% 2 /root/posix/tests/truncate/13.t 4 2 50.00% 2-3 Failed 9/184 test scripts, 95.11% okay. 33/1950 subtests failed, 98.31% okay. ext3: ==== Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- /root/posix/tests/chmod/00.t 58 2 3.45% 3 19 /root/posix/tests/link/00.t 82 6 7.32% 3 5-6 8-10 /root/posix/tests/open/05.t 12 2 16.67% 5 9 /root/posix/tests/rename/00.t 79 9 11.39% 3 6 8-9 11 13 37 39 42 /root/posix/tests/symlink/00.t 14 2 14.29% 2 5 /root/posix/tests/truncate/05.t 15 5 33.33% 5-6 10-12 /root/posix/tests/truncate/12.t 3 1 33.33% 2 /root/posix/tests/truncate/13.t 4 2 50.00% 2-3 Failed 8/184 test scripts, 95.65% okay. 29/1950 subtests failed, 98.51% okay. jfs: === Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- /root/posix/tests/chmod/00.t 58 2 3.45% 3 19 /root/posix/tests/chown/00.t 171 4 2.34% 141 145 149 153 /root/posix/tests/link/00.t 82 6 7.32% 3 5-6 8-10 /root/posix/tests/open/05.t 12 2 16.67% 5 9 /root/posix/tests/rename/00.t 79 9 11.39% 3 6 8-9 11 13 37 39 42 /root/posix/tests/symlink/00.t 14 2 14.29% 2 5 /root/posix/tests/truncate/05.t 15 5 33.33% 5-6 10-12 /root/posix/tests/truncate/12.t 3 1 33.33% 2 /root/posix/tests/truncate/13.t 4 2 50.00% 2-3 Failed 9/184 test scripts, 95.11% okay. 33/1950 subtests failed, 98.31% okay. btrfs: ===== Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- /root/posix/tests/chmod/00.t 58 2 3.45% 3 19 /root/posix/tests/chown/00.t 171 4 2.34% 141 145 149 153 /root/posix/tests/link/00.t 82 8 9.76% 3 5-6 8-10 56 63 /root/posix/tests/open/05.t 12 2 16.67% 5 9 /root/posix/tests/rename/00.t 79 9 11.39% 3 6 8-9 11 13 37 39 42 /root/posix/tests/symlink/00.t 14 2 14.29% 2 5 /root/posix/tests/truncate/00.t 21 1 4.76% 15 /root/posix/tests/truncate/05.t 15 5 33.33% 5-6 10-12 /root/posix/tests/truncate/12.t 3 1 33.33% 2 /root/posix/tests/truncate/13.t 4 2 50.00% 2-3 /root/posix/tests/unlink/00.t 55 3 5.45% 17 22 53 Failed 11/184 test scripts, 94.02% okay. 39/1950 subtests failed, 98.00% okay. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html