1
0
mirror of https://github.com/stefanocasazza/ULib.git synced 2025-09-28 19:05:55 +08:00
ULib/tests/examples/LCSP/LCSP_command/.function
2015-01-23 17:24:36 +01:00

141 lines
1.9 KiB
Bash

#!/bin/sh
chk_ENV() {
if [ -z "${FILE_LOG}" ]; then
FILE_LOG=log
export FILE_LOG
fi
test -f "${FILE_LOG}" || touch "${FILE_LOG}"
if [ $? != 0 ]; then
echo "Unable to create log file \"${FILE_LOG}\"" >&2
exit 1
fi
if [ -z "${MSG_LOG}" ]; then
MSG_LOG="***** $1 *****"
export MSG_LOG
fi
if [ -z "${OPENSSL}" ]; then
OPENSSL="openssl"
export OPENSSL
fi
if [ ! -z "${ENGINE}" ]; then
ENGINE="-engine ${ENGINE}"
export ENGINE
fi
ESITO=0
export ESITO
}
begin_CMD() {
echo "$MSG_LOG: BEGIN ON " `date` >>${FILE_LOG}
if [ ! -z "${DEBUG}" -a "${DEBUG}" != "0" ]; then
echo \
"--- DEBUG INFORMATION ---
ENV[HOME] = \"${HOME}\"
ENV[FILE_LOG] = \"${FILE_LOG}\"
ENV[MSG_LOG] = \"${MSG_LOG}\"
ENV[OPENSSL] = \"${OPENSSL}\"
ENV[ENGINE] = \"${ENGINE}\"
${DEBUG_INFORMATION}--- DEBUG INFORMATION ---" >>${FILE_LOG}
fi
STR_CMD=COMMAND
export STR_CMD
}
echo_CMD() {
echo $STR_CMD: $1 >>${FILE_LOG}
}
print_CMD() {
if [ -z "$2" ]; then
eval echo $STR_CMD: $1 >>${FILE_LOG}
else
echo "$STR_CMD: $1 > $2" >>${FILE_LOG}
fi
}
exec_CMD() {
if [ -z "$2" ]; then
eval $1 2>>${FILE_LOG}
else
eval $1 > $2 2>>${FILE_LOG}
fi
}
print_exec_CMD() {
print_CMD "$1" $2
exec_CMD "$1" $2
}
end_CMD() {
if [ -n "${EXIT_CMD}" ]; then
STR_CMD=EXIT_COMMAND
print_exec_CMD "$EXIT_CMD"
fi
if [ -n "$1" ]; then
ESITO=$1
fi
echo "$MSG_LOG: END WITH CODE $ESITO ON "`date` >>${FILE_LOG}
exit ${ESITO}
}
check_CMD() {
ESITO=$?
if [ $ESITO -ne 0 -a -n "${EXIT_CMD}" ]; then
STR_CMD=EXIT_COMMAND
print_exec_CMD "$EXIT_CMD"
unset EXIT_CMD
end_CMD
fi
}
run_CMD() {
print_exec_CMD "$1" $2
check_CMD
}
proc_CMD() {
begin_CMD
run_CMD "$1"
end_CMD
}
# extra
run_CMD_with_input() {
echo_CMD "$2"
$2 <<END >>${FILE_LOG} 2>>${FILE_LOG}
$1
END
check_CMD
}
run_CMD_with_output() {
echo_CMD "$2"
STR_CMD="OUTPUT "
run_CMD "$1=\"`$2`\""
STR_CMD=COMMAND
}