Pawel Jakub Dawidek 53feb1d422 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
2007-01-17 01:42:12 +00:00

40 lines
1.1 KiB
Bash

#!/bin/sh
# $FreeBSD$
desc="open returns EPERM when the named file has its append-only flag set, the file is to be modified, and O_TRUNC is specified or O_APPEND is not specified"
dir=`dirname $0`
. ${dir}/../misc.sh
require chflags
echo "1..24"
n0=`namegen`
expect 0 create ${n0} 0644
expect 0 chflags ${n0} SF_APPEND
expect 0 open ${n0} O_WRONLY,O_APPEND
expect 0 open ${n0} O_RDWR,O_APPEND
expect EPERM open ${n0} O_WRONLY
expect EPERM open ${n0} O_RDWR
expect EPERM open ${n0} O_RDONLY,O_TRUNC
expect EPERM open ${n0} O_RDONLY,O_APPEND,O_TRUNC
expect EPERM open ${n0} O_WRONLY,O_APPEND,O_TRUNC
expect EPERM open ${n0} O_RDWR,O_APPEND,O_TRUNC
expect 0 chflags ${n0} none
expect 0 unlink ${n0}
expect 0 create ${n0} 0644
expect 0 chflags ${n0} UF_APPEND
expect 0 open ${n0} O_WRONLY,O_APPEND
expect 0 open ${n0} O_RDWR,O_APPEND
expect EPERM open ${n0} O_WRONLY
expect EPERM open ${n0} O_RDWR
expect EPERM open ${n0} O_RDONLY,O_TRUNC
expect EPERM open ${n0} O_RDONLY,O_APPEND,O_TRUNC
expect EPERM open ${n0} O_WRONLY,O_APPEND,O_TRUNC
expect EPERM open ${n0} O_RDWR,O_APPEND,O_TRUNC
expect 0 chflags ${n0} none
expect 0 unlink ${n0}