fabric-samples/test-network-k8s/scripts/utils.sh
jkneubuh ab19b8e01d
Address Issue #511 with docs and better error handling (#533)
* Address Issue #511 with docs and better error handling

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

* Set the TEST_NETWORK_FABRIC_VERSION in documentation for local development.

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>
2021-11-19 16:09:58 +00:00

75 lines
1.4 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
#
# Copyright IBM Corp All Rights Reserved
#
# SPDX-License-Identifier: Apache-2.0
#
function logging_init() {
# Reset the output and debug log files
printf '' > ${LOG_FILE} > ${DEBUG_FILE}
# Write all output to the control flow log to STDOUT
tail -f ${LOG_FILE} &
# Call the exit handler when we exit.
trap "exit_fn" EXIT
# Send stdout and stderr from child programs to the debug log file
exec 1>>${DEBUG_FILE} 2>>${DEBUG_FILE}
# There can be a race between the tail starting and the next log statement
sleep 0.5
}
function exit_fn() {
rc=$?
# Write an error icon to the current logging statement.
if [ "0" -ne $rc ]; then
pop_fn $rc
fi
# always remove the log trailer when the process exits.
pkill -P $$
}
function push_fn() {
#echo -ne " - entering ${FUNCNAME[1]} with arguments $@"
echo -ne " - $@ ..." >> ${LOG_FILE}
}
function log() {
echo -e $@ >> ${LOG_FILE}
}
function pop_fn() {
# echo exiting ${FUNCNAME[1]}
if [ $# -eq 0 ]; then
echo -ne "\r✅" >> ${LOG_FILE}
echo "" >> ${LOG_FILE}
return
fi
local res=$1
if [ $res -eq 0 ]; then
echo -ne "\r✅" >> ${LOG_FILE}
elif [ $res -eq 1 ]; then
echo -ne "\r⚠" >> ${LOG_FILE}
elif [ $res -eq 2 ]; then
echo -ne "\r☠" >> ${LOG_FILE}
elif [ $res -eq 127 ]; then
echo -ne "\r☠" >> ${LOG_FILE}
else
echo -ne "\r" >> ${LOG_FILE}
fi
echo "" >> ${LOG_FILE}
}