You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.9 KiB
71 lines
1.9 KiB
#!/bin/sh
|
|
#
|
|
# @(#)runtests
|
|
#
|
|
# runtests script for ACL testing
|
|
REMOTEHOST=nfsserver
|
|
MAXLENGTH=30 # maximum ACL length - NB: the current NFSv4 acl implementation does not allow ACL greater than one page (about 35 entries with 6 character user name length and 10 character domain name)
|
|
NFSMNTDIR=/mnt/nfs-acl
|
|
echo "Test on NFS server $REMOTEHOST"
|
|
ACLTESTDIR=testdir
|
|
ACLTESTFILE=testfile
|
|
|
|
USER_NB=20 # total number of users to create
|
|
GRP_NB=20 # total number of groups to create
|
|
FILE_NB=10 # total number of files for the test
|
|
|
|
# creation of users on the local machine
|
|
for i in 1 2 3 4 5
|
|
do
|
|
groupadd -g 60$i grp$i
|
|
useradd -u 60$i user$i
|
|
done
|
|
|
|
# creation of users on the remote machine (removed only at the end of the tests)
|
|
rsh -n $REMOTEHOST python3 $PWD/create_users.py -u 50 -g 50
|
|
|
|
echo "Starting ACL testing"
|
|
|
|
echo "Starting BASIC tests"
|
|
|
|
echo "Creating testing file and directory"
|
|
touch $NFSMNTDIR/$ACLTESTFILE
|
|
mkdir $NFSMNTDIR/$ACLTESTDIR
|
|
if test ! -d $NFSMNTDIR/$ACLTESTDIR
|
|
then
|
|
echo "Can't make directory $ACLTESTDIR"
|
|
exit 1
|
|
fi
|
|
|
|
# File and Directory tree creation test
|
|
echo "Execute acl1 $NFSMNTDIR/$ACLTESTFILE $NFSMNTDIR/$ACLTESTDIR"
|
|
./acl1 $NFSMNTDIR/$ACLTESTFILE $NFSMNTDIR/$ACLTESTDIR
|
|
#./stress $ACLTESTFILE
|
|
for i in 1 2 3 4 5
|
|
do
|
|
userdel user$i
|
|
groupdel grp$i
|
|
done
|
|
|
|
echo "Basic tests finished"
|
|
|
|
echo "LONG ACL TEST"
|
|
echo "creating necessary users and groups"
|
|
python3 create_users.py -u 50 -g 50
|
|
echo "creating necessary users and groups on the remote host"
|
|
mkdir $NFSMNTDIR/lacl-testdir
|
|
python3 test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
|
|
rm -rf $NFSMNTDIR/lacl-testdir
|
|
echo "Long ACL test OK with $MAXLENGTH entries"
|
|
echo "ACL STRESSING TEST"
|
|
python3 setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR
|
|
|
|
# remove local an remote users
|
|
python3 cleanusers.py
|
|
python3 cleangroups.py
|
|
rsh -n $REMOTEHOST python3 $PWD/cleanusers.py
|
|
|
|
echo "Test OK"
|
|
|
|
exit 0
|