Skip to content
Snippets Groups Projects
Unverified Commit 9a1085a5 authored by teor's avatar teor
Browse files

Refactor and document the warnings.sh code

Add arguments to test-network.sh for warnings
Make the enviromental variables strings rather than integers

Fixes #21371.
parent 822b30c8
No related branches found
No related tags found
No related merge requests found
......@@ -48,6 +48,15 @@ Address Options:
--ipv4 CHUTNEY_LISTEN_ADDRESS
--ipv6 CHUTNEY_LISTEN_ADDRESS_V6
Warning Options:
--all-warnings CHUTNEY_WARNINGS_IGNORE_EXPECTED=false
CHUTNEY_WARNINGS_SUMMARY=false
--no-warnings CHUTNEY_WARNINGS_SKIP=true
Other Options:
--coverage USE_COVERAGE_BINARY=true
--dry-run NETWORK_DRY_RUN=true
Standard Actions:
./chutney configure networks/basic
./chutney start networks/basic
......
......@@ -5,6 +5,10 @@ ECHO_N="/bin/echo -n"
# Output is prefixed with the name of the script
myname=$(basename "$0")
# default to summarising unexpected warnings
export CHUTNEY_WARNINGS_IGNORE_EXPECTED=${CHUTNEY_WARNINGS_IGNORE_EXPECTED:-true}
export CHUTNEY_WARNINGS_SUMMARY=${CHUTNEY_WARNINGS_SUMMARY:-true}
until [ -z "$1" ]
do
case "$1" in
......@@ -91,6 +95,16 @@ do
# process arguments, but don't call any other scripts
export NETWORK_DRY_RUN=true
;;
# we summarise unexpected warnings by default
# this shows all warnings per-node
--all-warnings)
export CHUTNEY_WARNINGS_IGNORE_EXPECTED=false
export CHUTNEY_WARNINGS_SUMMARY=false
;;
# this skips warnings entirely
--no-warnings)
export CHUTNEY_WARNINGS_SKIP=true
;;
*)
echo "$myname: Sorry, I don't know what to do with '$1'."
# continue processing arguments during a dry run
......@@ -220,13 +234,19 @@ export CHUTNEY_BOOTSTRAP_TIME=${CHUTNEY_BOOTSTRAP_TIME:-60}
export CHUTNEY_STOP_TIME=${CHUTNEY_STOP_TIME:-0}
CHUTNEY="$CHUTNEY_PATH/chutney"
if [ "$CHUTNEY_WARNINGS_SKIP" = true ]; then
WARNINGS=true
else
WARNINGS="$CHUTNEY_PATH/tools/warnings.sh"
fi
if [ "$CHUTNEY_START_TIME" -ge 0 ]; then
echo "Waiting ${CHUTNEY_START_TIME} seconds for a consensus containing relays to be generated..."
sleep "$CHUTNEY_START_TIME"
else
echo "Chutney network launched and running. To stop the network, use:"
echo "$CHUTNEY stop $CHUTNEY_NETWORK"
CHUTNEY_WARNINGS_IGNORE_EXPECTED=1 "$CHUTNEY_PATH/tools/warnings.sh"
"$WARNINGS"
exit 0
fi
......@@ -237,7 +257,7 @@ if [ "$CHUTNEY_BOOTSTRAP_TIME" -ge 0 ]; then
else
echo "Chutney network ready and running. To stop the network, use:"
echo "$CHUTNEY" stop "$CHUTNEY_NETWORK"
CHUTNEY_WARNINGS_IGNORE_EXPECTED=1 "$CHUTNEY_PATH/tools/warnings.sh"
"$WARNINGS"
exit 0
fi
......@@ -249,10 +269,11 @@ if [ "$CHUTNEY_STOP_TIME" -ge 0 ]; then
# work around a bug/feature in make -j2 (or more)
# where make hangs if any child processes are still alive
"$CHUTNEY" stop "$CHUTNEY_NETWORK"
"$WARNINGS"
exit "$VERIFY_EXIT_STATUS"
else
echo "Chutney network verified and running. To stop the network, use:"
echo "$CHUTNEY stop $CHUTNEY_NETWORK"
CHUTNEY_WARNINGS_IGNORE_EXPECTED=1 "$CHUTNEY_PATH/tools/warnings.sh"
"$WARNINGS"
exit 0
fi
......@@ -8,8 +8,8 @@
# Examples: tools/warnings.sh
# tools/warnings.sh 000a
# Environmental variables:
# CHUTNEY_WARNINGS_IGNORE_EXPECTED: set to 1 to filter out expected warnings
# CHUTNEY_WARNINGS_SUMMARY: set to 1 to merge warnings from all instances
# CHUTNEY_WARNINGS_IGNORE_EXPECTED: set to "true" to filter expected warnings
# CHUTNEY_WARNINGS_SUMMARY: set to "true" to merge warnings from all instances
# make chutney path absolute
if [ -d "$PWD/$CHUTNEY_PATH" ]; then
......@@ -19,14 +19,15 @@ elif [ ! -d "$CHUTNEY_PATH" ]; then
fi
function show_warnings() {
if [ "$CHUTNEY_WARNINGS_SUMMARY" -ne 0 ]; then
if [ "$CHUTNEY_WARNINGS_SUMMARY" = true ]; then
echo "${GREEN}All `basename $1`:${NC}"
FILE="$1/*/$LOG_FILE"
else
echo "${GREEN}Node `basename $1`:${NC}"
FILE="$1/$LOG_FILE"
fi
if [ "$CHUTNEY_WARNINGS_IGNORE_EXPECTED" -ne 0 -a -e "$IGNORE_FILE" ]; then
if [ "$CHUTNEY_WARNINGS_IGNORE_EXPECTED" = true -a \
-e "$IGNORE_FILE" ]; then
CAT="grep -v -f"
echo " ${GREEN}(Ignoring expected warnings, run chutney/tools/warnings.sh to see all warnings)${NC}"
else
......@@ -37,7 +38,7 @@ function show_warnings() {
$CAT $IGNORE_FILE $FILE | \
sed -n -E 's/^.*\[(warn|err)\]//p' | sort | uniq -c | \
sed -e 's/^\s*//' -e "s/ *\([0-9][0-9]*\) *\(.*\)/ ${YELLOW}Warning:${NC} \2${YELLOW} Number: \1${NC}/"
if [ "$CHUTNEY_WARNINGS_SUMMARY" -eq 0 ]; then
if [ "$CHUTNEY_WARNINGS_SUMMARY" != true ]; then
echo ""
fi
}
......@@ -64,7 +65,7 @@ CHUTNEY_WARNINGS_SUMMARY=${CHUTNEY_WARNINGS_SUMMARY:-0}
[ -d "$DEST" ] || { echo "$NAME: no logs available"; exit 1; }
if [ $# -eq 0 ];
then
if [ "$CHUTNEY_WARNINGS_SUMMARY" -ne 0 ]; then
if [ "$CHUTNEY_WARNINGS_SUMMARY" = true ]; then
show_warnings "$DEST"
exit 0
fi
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment