Made releng/run_all_auto ready for FreeBSD ("bash" linked to /bin/sh)

This commit is contained in:
Thomas Schmitt 2011-08-10 10:04:56 +00:00
parent 7d8770cea6
commit 6e428ec665
1 changed files with 36 additions and 26 deletions

View File

@ -110,19 +110,22 @@ fi
fi
> ${CLOG}
if [ -x "${RELENG_XORRISO}" ]; then
echo -e "_OVERVIEW_______________________________________________________________" >> ${CLOG}
date --utc >> ${CLOG}
echo "_OVERVIEW_______________________________________________________________" >> ${CLOG}
date -u >> ${CLOG}
${RELENG_XORRISO} --version >> ${CLOG}
echo -e "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> ${CLOG}
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> ${CLOG}
fi
DSTART=`date --utc`
echo -ne "${SELF}: Started at ${DSTART}" | tee -a ${CLOG}
DSTART=`date -u`
echo -n "${SELF}: Started at ${DSTART}" | tee -a ${CLOG}
E1=`date '+%s'`
exit_value=0
# require ^auto_, avoid running (your)self explicitly
for s in `ls | grep ^auto_ | grep -v ${SELF} | sort -n`; do
if [ -x ${s} -a ! -d ${s} ]; then
echo -ne "\n\n_STARTING_TEST_________________________________________________________" >> ${CLOG}
echo -ne "\n${SELF}: Running ./${s} ${PASSED_OPTIONS} :\n" \
echo >> ${CLOG}
echo >> ${CLOG}
echo "_STARTING_TEST_________________________________________________________" >> ${CLOG}
echo "${SELF}: Running ./${s} ${PASSED_OPTIONS} :" \
| tee -a ${CLOG}
T1=`date '+%s'`
set +e
@ -147,6 +150,7 @@ fi
printf "done in ${TS} sec. ok."
;;
*)
exit_value=2
printf "done in ${TS} sec. "
which tput >/dev/null 2>&1 && tput smso
printf "FAIL -> EXIT CODE $RET"
@ -157,70 +161,76 @@ fi
fi
done
DEND=`date --utc`
echo -ne "\n${SELF}: Stopped at ${DEND}." | tee -a ${CLOG}
DEND=`date -u`
echo | tee -a ${CLOG}
echo -n "${SELF}: Stopped at ${DEND}." | tee -a ${CLOG}
if [ "${CLEANUP_LOG}" -eq 1 ]; then
if [ -f "${CLOG}" ]; then
rm -f "${CLOG}"
echo -ne "\n${SELF}: Removed my own log ${CLOG}." # | tee -a ${CLOG}
echo # | tee -a ${CLOG}
echo -n "${SELF}: Removed my own log ${CLOG}." # | tee -a ${CLOG}
fi
if [ -f "${CLOG}".prev ]; then
rm -f "${CLOG}".prev
echo -e "\n${SELF}: Removed my own log ${CLOG}.prev." # | tee -a ${CLOG}
echo # | tee -a ${CLOG}
echo "${SELF}: Removed my own log ${CLOG}.prev." # | tee -a ${CLOG}
fi
else
E2=`date '+%s'`
if [ ${E2} -eq ${E1} ]; then
echo -e " Total elapsed 0 sec." | tee -a ${CLOG}
echo " Total elapsed 0 sec." | tee -a ${CLOG}
else
let ES="${E2} - ${E1}"
echo -e " Total elapsed ${ES} sec." | tee -a ${CLOG}
echo " Total elapsed ${ES} sec." | tee -a ${CLOG}
fi
#####
echo -e "\n_SUMMARY________________________________________________________________" >> ${CLOG}
echo -e "${SELF}: Trivial log examination: ${CLOG}" | tee -a ${CLOG}
echo -e "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | tee -a ${CLOG}
echo >> ${CLOG}
echo "_SUMMARY________________________________________________________________" >> ${CLOG}
echo "${SELF}: Trivial log examination: ${CLOG}" | tee -a ${CLOG}
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | tee -a ${CLOG}
# severity classes of libdax_msgs.h in libburn and libisofs
# List of boring keywords:
# 'UPDATE|NOTE|DEBUG|ALL' - not considered interesting for lazy log inspection.
# List of interesting keywords:
# thrown by xorriso and underlying libraries
LIST_KWD="(NEVER|ABORT|FATAL|FAILURE|MISHAP|SORRY|WARNING|HINT"
LIST_KWD="NEVER|ABORT|FATAL|FAILURE|MISHAP|SORRY|WARNING|HINT"
# thrown by others
LIST_KWD+="|FAIL|ERROR|WRONG)"
LIST_KWD="${LIST_KWD}|FAIL|ERROR|WRONG"
if [ -f "${CLOG}" ]; then
set +e
# lines, perl regex, leading tabs
grep -n -P "${LIST_KWD}" "${CLOG}"
grep -n -E "${LIST_KWD}" "${CLOG}"
RET_GREP="$?"
case ${RET_GREP} in
0) # found
;;
1) # not found
echo -e "${SELF}: Log file looks clear." # | tee -a ${CLOG}
echo "${SELF}: Log file looks clear." # | tee -a ${CLOG}
;;
*) #
echo -e "${SELF}: grep returned EXIT CODE: ${RET_GREP}." # | tee -a ${CLOG}
echo "${SELF}: grep returned EXIT CODE: ${RET_GREP}." # | tee -a ${CLOG}
;;
esac
set -e
fi
echo -e "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | tee -a ${CLOG}
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | tee -a ${CLOG}
##### TODO: work out a less noisy diff'ing technique!
if [ -f "${CLOG}".prev -a -f "${CLOG}" ]; then
echo -e "${SELF}: See diff against previous log file (might be long):" | tee -a ${CLOG}
echo -e "diff -Naur ${CLOG}.prev ${CLOG} | less" | tee -a ${CLOG}
echo "${SELF}: See diff against previous log file (might be long):" | tee -a ${CLOG}
echo "diff -Naur ${CLOG}.prev ${CLOG} | less" | tee -a ${CLOG}
fi
fi
#
which tput >/dev/null 2>&1 && tput smso
echo -e "\n${SELF}: Leaving the following cruft in ${GEN_DATA_DIR}:" # | tee -a ${CLOG}
echo # | tee -a ${CLOG}
echo "${SELF}: Leaving the following cruft in ${GEN_DATA_DIR}:" # | tee -a ${CLOG}
which tput >/dev/null 2>&1 && tput rmso
ls -lth "${GEN_DATA_DIR}" # | tee -a ${CLOG}
# Fin
exit 0
exit $exit_value