Update ZTS to work on FreeBSD

Update the common ZTS scripts and individual test cases as needed 
in order to allow them to be run on FreeBSD.  The high level goal
is to provide compatibility wrappers whenever possible to minimize
changes to individual test cases.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: John Kennedy <john.kennedy@delphix.com>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Signed-off-by: Ryan Moeller <ryan@ixsystems.com>
Closes #9692
This commit is contained in:
Matthew Macy
2019-12-18 12:29:43 -08:00
committed by Brian Behlendorf
parent 118fc3ef07
commit 7839c4b5e1
145 changed files with 1723 additions and 573 deletions
@@ -48,22 +48,37 @@ set -A files writable immutable append
function cleanup
{
for i in ${files[*]}; do
log_must chattr -ia $TESTDIR/$i
log_must rm -f $TESTDIR/$i
if is_freebsd ; then
log_must chflags noschg $TESTDIR/$i
log_must rm -f $TESTDIR/$i
else
log_must chattr -ia $TESTDIR/$i
log_must rm -f $TESTDIR/$i
fi
done
}
log_onexit cleanup
log_assert "Check whether chattr works as expected"
if is_freebsd ; then
log_assert "Check whether chflags works as expected"
else
log_assert "Check whether chattr works as expected"
fi
log_must touch $TESTDIR/writable
log_must touch $TESTDIR/immutable
log_must touch $TESTDIR/append
log_must chattr -i $TESTDIR/writable
log_must chattr +i $TESTDIR/immutable
log_must chattr +a $TESTDIR/append
if is_freebsd ; then
log_must chflags noschg $TESTDIR/writable
log_must chflags schg $TESTDIR/immutable
log_must chflags sappnd $TESTDIR/append
else
log_must chattr -i $TESTDIR/writable
log_must chattr +i $TESTDIR/immutable
log_must chattr +a $TESTDIR/append
fi
log_must eval "echo test > $TESTDIR/writable"
log_must eval "echo test >> $TESTDIR/writable"
@@ -72,4 +87,8 @@ log_mustnot eval "echo test >> $TESTDIR/immutable"
log_mustnot eval "echo test > $TESTDIR/append"
log_must eval "echo test >> $TESTDIR/append"
log_pass "chattr works as expected"
if is_freebsd ; then
log_pass "chflags works as expected"
else
log_pass "chattr works as expected"
fi