blob: d2e1b4c49dc8f920d78cfdcfa2f4e52aae9363d6 [file] [log] [blame]
#!/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 python $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"
python create_users.py -u 50 -g 50
echo "creating necessary users and groups on the remote host"
mkdir $NFSMNTDIR/lacl-testdir
python 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"
python setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR
# remove local an remote users
python cleanusers.py
python cleangroups.py
rsh -n $REMOTEHOST python $PWD/cleanusers.py
echo "Test OK"
exit 0