View of /slony1-engine/tests/support_funcs.sh
Parent Directory
|
Revision Log
|
Revision Graph
Revision 1.9 -
(download)
(as text)
(annotate)
Fri Apr 11 15:37:08 2008 UTC (21 months, 4 weeks ago) by cbbrowne
Branch: MAIN
CVS Tags: REL_2_0_0_RC1
Changes since 1.8: +6 -4 lines
Fri Apr 11 15:37:08 2008 UTC (21 months, 4 weeks ago) by cbbrowne
Branch: MAIN
CVS Tags: REL_2_0_0_RC1
Changes since 1.8: +6 -4 lines
Added support to be able to Twitter test results
err()
{
exitval=$1
shift
echo 1>&2 "$0: ERROR: $*"
numerrors=`expr ${numerrors} + 1`
gen_testinfo "$*"
exit $exitval
}
warn()
{
shift
echo 1>&2 "$0: WARNING: $*"
numerrors=`expr ${numerrors} + 1`
}
status()
{
if [ "x$SHLVL" != "x" ]; then
case `uname` in
MINGW32*)
echo "$*"
;;
*)
echo "$*" > `tty`
;;
esac
fi
}
_check_pid()
{
if [ $# -ne 3 ]; then
err 3 'USAGE: _check_pid procname pid ppid'
fi
case `uname` in
*BSD|Darwin)
_psargs="-j"
_fp_args='_user _pid _ppid _pgid _sess _jobc _stat _tt _time _command'
;;
MINGW32*)
_psargs="-ef"
_fp_args='_user _pid _ppid _tt _time _command'
;;
*)
_psargs="-ef"
_fp_args='_user _pid _ppid _c _stat _tt _time _command'
;;
esac
_procname=$1
_qpid=$2
_qppid=$3
_proccheck=
_fp_match=
if [ ! $_qpid -gt 0 ]; then
err 3 'not a valid PID'
fi
_procnamebn=${_procname##*/}
_fp_match="case \"\$_command\" in
*${_procname}*)"
eval _proccheck='
ps 2>/dev/null '"$_psargs"' |
while read '"$_fp_args"'; do
case "$_pid" in
PID)
continue ;;
esac ; '"$_fp_match"'
if [ "$_pid" -eq "$_qpid" ]; then
echo -n "$_qpid" ;
fi
;;
esac
done'
}
random_number()
{
if [ $# -ne 2 ]; then
err 3 'USAGE: random_number lowerbound upperbound'
fi
_lowerbound=$1
_upperbound=$2
if [ -x ./random_number ] ; then
rannum=`./random_number ${_lowerbound} ${_upperbound}`
else
case `uname` in
*BSD|Darwin)
rannum=`jot -r 1 ${_lowerbound} ${_upperbound}`
;;
AIX|MINGW32*)
rannum=`echo | awk -v _upperbound=${_upperbound} -v _lowerbound=${_lowerbound} '{srand(); printf "%.0d\n", (rand() * _upperbound) + _lowerbound;}'`
;;
Linux)
rannum=`echo | awk -v _upperbound=${_upperbound} -v _lowerbound=${_lowerbound} '{srand(); printf "%.0d\n", (rand() * _upperbound) + _lowerbound;}'`
;;
SunOS)
rannum=`echo | nawk -v _upperbound=${_upperbound} -v _lowerbound=${_lowerbound} '{srand(); printf "%.0d\n", (rand() * _upperbound) + _lowerbound;}'`
;;
*)
originnode=${ORIGINNODE:-"1"}
eval odb=\$DB${originnode}
eval ohost=\$HOST${originnode}
eval ouser=\$USER${originnode}
eval oport=\$PORT${originnode}
eval _upperbound=${_upperbound}
eval _lowerbound=${_lowerbound}
eval opath=\$PGBINDIR${originnode}
rannum=`${opath}/psql -c "SELECT round(random()* ${_upperbound} + ${_lowerbound});" -t -A -h ${ohost} -p ${oport} -d ${odb} -U ${ouser}`
;;
esac
fi
echo ${rannum}
}
random_string()
{
if [ $# -ne 1 ]; then
err 3 'USAGE: random_string length'
fi
_length=$1
if [ -x ./random_string ] ; then
ranstring=`./random_string ${_length}`
else
case `uname` in
*BSD|Darwin)
ranstring=`jot -r -c ${_length} a Z | rs -g 0 ${_length}`
;;
Linux|AIX|MINGW32*)
ranstring=`echo | awk -v _length=${_length} '{srand(); {for (i=0; i<= _length ; i++) printf "%c", (rand() * (122-48))+48};}'`
;;
SunOS)
ranstring=`echo | nawk -v _length=${_length} '{srand(); {for (i=0; i<= _length ; i++) printf "%c", (rand() * (122-48))+48};}'`
;;
*)
originnode=${ORIGINNODE:-"1"}
eval odb=\$DB${originnode}
eval ohost=\$HOST${originnode}
eval ouser=\$USER${originnode}
eval oport=\$PORT${originnode}
eval opath=\$PGBINDIR${originnode}
alias=${_length}
while : ; do
ranstring=${ranstring}`${opath}/psql -c "SELECT chr(round(random()*((122-48))+48)::int4);" -t -A -h ${ohost} -p ${oport} -d ${odb} -U ${ouser}`
if [ ${alias} -ge ${_length} ]; then
break;
else
alias=$((${alias} + 1))
fi
done;
;;
esac
fi
echo ${ranstring}
}
random_az()
{
if [ $# -ne 1 ]; then
err 3 'USAGE: random_string length'
fi
_length=$1
case `uname` in
*BSD|Darwin)
ranstring=`jot -r -c ${_length} a Z | rs -g 0 ${_length}`
;;
AIX|MINGW32*)
ranstring=`echo | awk -v _length=${_length} '{srand(); {for (i=0; i<= _length ; i++) printf "%c", (rand() * ((122)-97))+97};}'`
;;
SunOS)
ranstring=`echo | nawk -v _length=${_length} '{srand(); {for (i=0; i<= _length ; i++) printf "%c", (rand() * ((122)-97))+97};}'`
;;
*)
originnode=${ORIGINNODE:-"1"}
eval odb=\$DB${originnode}
eval ohost=\$HOST${originnode}
eval ouser=\$USER${originnode}
eval oport=\$PORT${originnode}
alias=${_length}
while : ; do
ranstring=${ranstring}`psql -c "SELECT chr(round(random()*(((122)-97))+97)::int4);" -t -A -h ${ohost} -p ${oport} -d ${odb} -U ${ouser}`
if [ ${alias} -ge ${_length} ]; then
break;
else
alias=$((${alias} + 1))
fi
done;
;;
esac
echo ${ranstring}
}
gen_testinfo ()
{
DESC=$1;
UNAMEM=`uname -m`
UNAMER=`uname -r`
UNAMES=`uname -s`
UNAMEV=`uname -v`
HOST=`hostname`
USERNAME=`whoami`
#TESTSTARTTIME is calculated at the very beginning...
TESTENDTIME=`date +"%Y-%m-%d %H:%M:%S %Z"`
CLNAME="\"_${CLUSTER1}\""
if [[ x$DESC = x'' ]]; then
OK="true"
else
OK="false"
fi
QUERY="select ${CLNAME}.getModuleversion() || '|' || ${CLNAME}.slonyVersionMajor() || '|' || ${CLNAME}.slonyVersionMinor() || '|' || ${CLNAME}.slonyVersionPatchlevel() || '|' || version() || '|';"
BASEOUTPUT1=`${pgbindir}/psql -d ${DB1} -h ${HOST1} -p ${PORT1} -U ${USER1} -c "${QUERY}" -qAt`
BASEOUTPUT2="${UNAMEM}|${UNAMER}|${UNAMES}|${UNAMEV}|"
BASEOUTPUT3="${BASEOUTPUT1}|${BASEOUTPUT2}|${HOST}|${SLONYTESTER}|${testname}|${TESTSTARTTIME}|${TESTENDTIME}|${OK}|${DESC}"
TWITTEROUTPUT="Slony-I test - Success=${OK} - ${testname}"
#/usr/bin/tweet "${TWITTEROUTPUT}"
echo "${BASEOUTPUT}" >> ${SLONYTESTFILE}
echo "${BASEOUTPUT}"
}
| ViewVC Help | |
| Powered by ViewVC 1.0.3 |