blob: 781244c98b1bf75b5a4894cffc1cb91b3a05f7f5 [file] [log] [blame]
#/bin/sh
# Prepare test suite & Make Makefile shell script for RPC & TIRPC Test Suite
# (c) 2007 BULL S.A.S.
# created by Cyril Lacabanne (cyril.lacabanne@bull.net)
# creation : 2007-05-25 revision : 2007-06-06
# 2008-11-27: updated by Aime Le Rouzic - Bull SA - aime.lerouzic@bull.net
#
# ***************************
# *** initialization part ***
# ***************************
#define current directory, where test suite is installed
RPCTSDIR=`pwd`
DEFAULTDIR=$RPCTSDIR/tests_pack
DEFAULTIP=localhost
DEFAULTUSR=root
TSTPACKDIR=$RPCTSDIR/tests_pack
NBTHREADPROCESS=4
NBTESTPROCESS=100
NBPERFTESTITER=10
SCALINSTNUMBER=8
export TSTPACKDIR
export SERVERTSTPACKDIR
export CLIENTTSTPACKDIR
export SERVERDEPLOYDIR
export CLIENTDEPLOYDIR
export NBTHREADPROCESS
export NBTESTPROCESS
# **********************************************
# *** test is RPC & TIRPC Test Suite can run ***
# **********************************************
# *****************************************
# *** prepare run script for test suite ***
# *****************************************
cat inc/rpc_ts_run.hdr>rpc_ts_run.sh
chmod +x rpc_ts_run.sh
# Prompt for Server tests pack dir
echo "Leave blank to set default directory to $DEFAULTDIR"
echo -n "Directory to install test pack on server : "
read SERVERDEPLOYDIR
if [ -z "$SERVERDEPLOYDIR" ]
then
SERVERDEPLOYDIR=$RPCTSDIR
SERVERTSTPACKDIR=$DEFAULTDIR
else
SERVERTSTPACKDIR=$SERVERDEPLOYDIR/tests_pack
fi
echo 'SERVERTSTPACKDIR='$SERVERTSTPACKDIR >>rpc_ts_run.sh
# Prompt for Client tests pack dir
echo "Leave blank to set default directory to $DEFAULTDIR"
echo -n "Directory to install test pack on client : "
read CLIENTDEPLOYDIR
if [ -z "$CLIENTDEPLOYDIR" ]
then
CLIENTDEPLOYDIR=$RPCTSDIR
CLIENTTSTPACKDIR=$DEFAULTDIR
else
CLIENTTSTPACKDIR=$CLIENTDEPLOYDIR/tests_pack
fi
echo 'CLIENTTSTPACKDIR='$CLIENTTSTPACKDIR >>rpc_ts_run.sh
echo "# LOCALIP variable is computer IP/name used to run tests scripts" >>rpc_ts_run.sh
echo "# if LOCALIP = SERVERIP = CLIENTIP, that means all tests are in local mode" >>rpc_ts_run.sh
echo "# (run on the same machine)" >>rpc_ts_run.sh
# Prompt for machine script runner IP
echo "Leave blank to set default IP to $DEFAULTIP"
echo -n "Enter local script machine IP or Name : "
read LOCALIP
if [ -z "$LOCALIP" ]
then
LOCALIP=$DEFAULTIP
fi
echo 'LOCALIP='$LOCALIP >>rpc_ts_run.sh
# Prompt for Server machine IP
echo "Leave blank to set default IP to $DEFAULTIP"
echo -n "Enter server machine IP or Name : "
read SERVERIP
if [ -z "$SERVERIP" ]
then
SERVERIP=$DEFAULTIP
fi
echo 'SERVERIP='$SERVERIP >>rpc_ts_run.sh
# Prompt for Client machine IP
echo "Leave blank to set default IP to $DEFAULTIP"
echo -n "Enter client machine IP or Name : "
read CLIENTIP
if [ -z "$CLIENTIP" ]
then
CLIENTIP=$DEFAULTIP
fi
echo 'CLIENTIP='$CLIENTIP >>rpc_ts_run.sh
# Prompt for Server user
echo "Leave blank to set default user to $DEFAULTUSR"
echo -n "Enter Server user name : "
read SERVERUSER
if [ -z "$SERVERUSER" ]
then
SERVERUSER=$DEFAULTUSR
fi
echo 'SERVERUSER='$SERVERUSER >>rpc_ts_run.sh
# Prompt for Client user
echo "Leave blank to set default user to $DEFAULTUSR"
echo -n "Enter Client user name : "
read CLIENTUSER
if [ -z "$CLIENTUSER" ]
then
CLIENTUSER=$DEFAULTUSR
fi
echo 'CLIENTUSER='$CLIENTUSER >>rpc_ts_run.sh
# Prompt for number of threads
echo "Leave blank to set default number to $NBTHREADPROCESS"
echo -n "Enter threads number for thread tests : "
read NBTHREADPROCESS2
echo "# number of threads for thread tests" >>rpc_ts_run.sh
if [ -z "$NBTHREADPROCESS2" ]
then
NBTHREADPROCESS2=$NBTHREADPROCESS
fi
echo 'NBTHREADPROCESS='$NBTHREADPROCESS2 >>rpc_ts_run.sh
# Prompt for number of stress test instances
echo "Leave blank to set default number to $NBTESTPROCESS"
echo -n "Enter instances number for stress tests : "
read NBTESTPROCESS2
echo "# number of test process for stress test" >>rpc_ts_run.sh
if [ -z "$NBTESTPROCESS2" ]
then
NBTESTPROCESS2=$NBTESTPROCESS
fi
echo 'NBTESTPROCESS='$NBTESTPROCESS2 >>rpc_ts_run.sh
# Prompt for number of instances for performance test
echo "Leave blank to set default number to $NBPERFTESTITER"
echo -n "Enter instances number for performance tests : "
read NBPERFTESTITER2
echo "# number of test instances for performance test" >>rpc_ts_run.sh
if [ -z "$NBPERFTESTITER2" ]
then
NBPERFTESTITER2=$NBPERFTESTITER
fi
echo 'NBPERFTESTITER='$NBPERFTESTITER2 >>rpc_ts_run.sh
# Prompt for number of instances for scalability test
echo "Leave blank to set default number to $SCALINSTNUMBER"
echo -n "Enter maximal instances number for scalability tests : "
read SCALINSTNUMBER2
echo "# maximal number of test instances for scalability test" >>rpc_ts_run.sh
if [ -z "$SCALINSTNUMBER2" ]
then
SCALINSTNUMBER2=$SCALINSTNUMBER
fi
echo 'SCALINSTNUMBER='$SCALINSTNUMBER2 >>rpc_ts_run.sh
cat inc/rpc_ts_run.ftr>>rpc_ts_run.sh
# ***********************************
# *** prepare installation script ***
# ***********************************
cat inc/install.hdr >install.sh
chmod +x install.sh
echo "">>install.sh
echo 'SERVERDEPLOYDIR='$SERVERDEPLOYDIR >>install.sh
echo 'CLIENTDEPLOYDIR='$CLIENTDEPLOYDIR >>install.sh
echo 'SERVERTSTPACKDIR='$SERVERTSTPACKDIR >>install.sh
echo 'CLIENTTSTPACKDIR='$CLIENTTSTPACKDIR >>install.sh
echo 'LOCALIP='$LOCALIP >>install.sh
echo 'SERVERIP='$SERVERIP >>install.sh
echo 'CLIENTIP='$CLIENTIP >>install.sh
echo 'SERVERUSER='$SERVERUSER >>install.sh
echo 'CLIENTUSER='$CLIENTUSER >>install.sh
echo 'TSTPACKDIR='$TSTPACKDIR >>install.sh
echo "">>install.sh
cat inc/install.ftr >>install.sh
# ************************
# *** prepare Makefile ***
# ************************
cat inc/Makefile.hdr>Makefile
cat inc/Makefile.hdr>Makefile.svc
cat inc/Makefile.hdr>Makefile.clnt
# find all non TI-RPC sources
find tests_pack -name "*.c" | grep -v tirpc | while read fil
do
echo ' $(CC) '$fil' $(CFLAGS_RPC) -o '`echo $fil | cut -d '.' -f1`".bin">>Makefile
TSTXPR=$( echo $TSTPACKDIR | sed -e s/'\/'/'\\\/'/g )
OTHXPR=$(echo $SERVERTSTPACKDIR | sed -e s/'\/'/'\\\/'/g )
SFILE=$( echo $fil | sed -e s/$TSTXPR/$OTHXPR/g )
echo ' $(CC) '$SFILE' $(CFLAGS_RPC) -o '`echo $SFILE | cut -d '.' -f1`".bin">>Makefile.svc
OTHXPR=$(echo $CLIENTTSTPACKDIR | sed -e s/'\/'/'\\\/'/g )
SFILE=$( echo $fil | sed -e s/$TSTXPR/$OTHXPR/g )
echo ' $(CC) '$SFILE' $(CFLAGS_RPC) -o '`echo $SFILE | cut -d '.' -f1`".bin">>Makefile.clnt
done
# find all TI-RPC sources
find tests_pack -name "*.c" | grep tirpc | while read fil
do
echo ' $(CC) $(LDFLAGS_TIRPC) '$fil' $(CFLAGS_TIRPC) -o '`echo $fil | cut -d '.' -f1`".bin">>Makefile
TSTXPR=$( echo $TSTPACKDIR | sed -e s/'\/'/'\\\/'/g )
OTHXPR=$(echo $SERVERTSTPACKDIR | sed -e s/'\/'/'\\\/'/g )
SFILE=$( echo $fil | sed -e s/$TSTXPR/$OTHXPR/g )
echo ' $(CC) $(LDFLAGS_TIRPC) '$SFILE' $(CFLAGS_TIRPC) -o '`echo $SFILE | cut -d '.' -f1`".bin">>Makefile.svc
OTHXPR=$(echo $CLIENTTSTPACKDIR | sed -e s/'\/'/'\\\/'/g )
SFILE=$( echo $fil | sed -e s/$TSTXPR/$OTHXPR/g )
echo ' $(CC) $(LDFLAGS_TIRPC) '$SFILE' $(CFLAGS_TIRPC) -o '`echo $SFILE | cut -d '.' -f1`".bin">>Makefile.clnt
done
echo "">>Makefile
echo "">>Makefile.svc
echo "">>Makefile.clnt
# generate Makefile clean part
echo "clean:">>Makefile
echo "clean:">>Makefile.svc
echo "clean:">>Makefile.clnt
find $TSTPACKDIR -name "*.c" | while read fil
do
echo ' rm -f '`echo $fil | cut -d '.' -f1`".bin">>Makefile
TSTXPR=$( echo $TSTPACKDIR | sed -e s/'\/'/'\\\/'/g )
OTHXPR=$(echo $SERVERTSTPACKDIR | sed -e s/'\/'/'\\\/'/g )
SFILE=$( echo $fil | sed -e s/$TSTXPR/$OTHXPR/g )
echo ' rm -f '`echo $SFILE | cut -d '.' -f1`".bin">>Makefile.svc
OTHXPR=$(echo $CLIENTTSTPACKDIR | sed -e s/'\/'/'\\\/'/g )
SFILE=$( echo $fil | sed -e s/$TSTXPR/$OTHXPR/g )
echo ' rm -f '`echo $SFILE | cut -d '.' -f1`".bin">>Makefile.clnt
done