History log of /freebsd-10-stable/tools/regression/pjdfstest/tests/chmod/
Revision Date Author Comments
256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


219463 10-Mar-2011 pjd

Improve test a bit, now that we have fstat(2) support.
The test was support to check if SUID/SGID bits are removed on first
write, but actually we were checking if they were removed after close.
Now we can check if SUID/SGID bits are gone after first write.

While here add checks to see if when both SUID and SGID bits are set they are
both cleared on first write.


219438 09-Mar-2011 pjd

Pass descriptor number to write(2), now that it is possible.


219437 09-Mar-2011 pjd

Add support for the following syscalls:
- fchmod(2),
- fchown(2),
- fchflags(2),
- fstat(2),
- ftruncate(2),
- fpathconf(2),
- lpathconf(2).
Make write(2) syscall to take descriptor instead of file name.

We implement descriptors by keeping track of open files and allowing to
reference them by the following syscalls. Because pjdfstest already supports
executing multiple syscalls from one command it works pretty well.

For example, the following command:

pjdfstest open foo "O_CREAT,O_RDWR" 0 : open bar "O_CREAT,O_RDONLY" 640 : fchmod 0 0666 : fchown 0 -1 20 : fchmod 1 0444

is equivalent of (error checking omitted):

int fd[2];

fd[0] = open("foo", O_CREAT | O_RDWR, 0);
fd[1] = open("bar", O_CREAT | O_RDONLY, 0640);
fchmod(fd[0], 0666);
fchown(fd[0], -1, 20);
fchmod(fd[1], 0444);


211474 18-Aug-2010 pjd

More tests.


211352 15-Aug-2010 pjd

Give fstest a more unique name: pjdfstest.
It is released from time to time and used outside FreeBSD, so it is good to
have a name one can google.


211336 15-Aug-2010 pjd

More tests (especially for lchmod(2)), less code duplication.


211178 11-Aug-2010 pjd

Make use of recently added dirgen_max() and namegen_max() to implement
ENAMETOOLONG checks.


210984 06-Aug-2010 pjd

Various cleanups, mostly to make the test work on FreeBSD/ZFS.


196948 07-Sep-2009 trasz

Add regression tests for NFSv4 ACL granular permission enforcement.


166231 25-Jan-2007 pjd

MFp4: When user is not a member of the group which owns a file, even if
he is the file's owner, he can't set set-gid bit.
POSIX requires to return 0 and clear the bit, but FreeBSD returns
EPERM for UFS in such case. For now do the same in ZFS.


166065 17-Jan-2007 pjd

Add 3436 file system regression tests in 184 files.
Almost all regression tests are based on very flexible fstest tool.
They verify correctness (POSIX conformance) of almost all file
system-related system calls.

The motivation behind this work is my ZFS port and POSIX, who doesn't
provide free test suites.

Runs on: FreeBSD/UFS, FreeBSD/ZFS, Solaris/UFS, Solaris/ZFS

To try it out:

# cd fstest
# make
# find tests/* -type d | xargs prove