71 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
#!/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
 |