Drop testsummary.sh
testsummary.sh was not updated after build system rewrite to Autotools, and needs to be fixed to produce test summary and core dump, assertion failures, and ThreadSanitizer reports. Given that all of this is provided by Autotools and run.sh already, there's little use to testsummary.sh script and should be dropped.
This commit is contained in:
@@ -1,91 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
# Creates the system tests output file from the various test.output.* files. It
|
||||
# then searches that file and prints the number of tests passed, failed, not
|
||||
# run. It also checks whether the IP addresses 10.53.0.[1-8] were set up and,
|
||||
# if not, prints a warning.
|
||||
#
|
||||
# Usage:
|
||||
# testsummary.sh [-n]
|
||||
#
|
||||
# -n Do NOT delete the individual test.output.* files after concatenating
|
||||
# them into systests.output.
|
||||
#
|
||||
# Status return:
|
||||
# 0 - no tests failed
|
||||
# 1 - one or more tests failed
|
||||
|
||||
. ./conf.sh
|
||||
|
||||
keepfile=0
|
||||
|
||||
while getopts "n" flag; do
|
||||
case $flag in
|
||||
n) keepfile=1 ;;
|
||||
*) exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$(find . -name 'test.output.*' 2>/dev/null | wc -l)" -eq 0 ]; then
|
||||
echowarn "I:No 'test.output.*' files were found."
|
||||
echowarn "I:Printing summary from pre-existing 'systests.output'."
|
||||
else
|
||||
cat test.output.* > systests.output
|
||||
if [ $keepfile -eq 0 ]; then
|
||||
rm -f test.output.*
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f systests.output ]; then
|
||||
echowarn "I:No 'systests.output' file found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
status=0
|
||||
echoinfo "I:System test result summary:"
|
||||
echoinfo "$(grep 'R:[a-z0-9_-][a-z0-9_-]*:[A-Z][A-Z]*' systests.output | cut -d':' -f3 | sort | uniq -c | sed -e 's/^/I:/')"
|
||||
|
||||
FAILED_TESTS=$(grep 'R:[a-z0-9_-][a-z0-9_-]*:FAIL' systests.output | cut -d':' -f2 | sort | sed -e 's/^/I: /')
|
||||
if [ -n "${FAILED_TESTS}" ]; then
|
||||
echoinfo "I:The following system tests failed:"
|
||||
echoinfo "${FAILED_TESTS}"
|
||||
status=1
|
||||
fi
|
||||
|
||||
CRASHED_TESTS=$(find . \( -name 'core' -or -name 'core.*' -or -name '*.core' \) ! -name '*.txt' | cut -d'/' -f2 | sort -u | sed -e 's/^/I: /')
|
||||
if [ -n "${CRASHED_TESTS}" ]; then
|
||||
echoinfo "I:Core dumps were found for the following system tests:"
|
||||
echoinfo "${CRASHED_TESTS}"
|
||||
fi
|
||||
|
||||
ASSERTION_FAILED_TESTS=$(find . -name named.run -print0 | xargs -0 grep "assertion failure" | cut -d'/' -f2 | sort -u | sed -e 's/^/I: /')
|
||||
if [ -n "${ASSERTION_FAILED_TESTS}" ]; then
|
||||
echoinfo "I:Assertion failures were detected for the following system tests:"
|
||||
echoinfo "${ASSERTION_FAILED_TESTS}"
|
||||
fi
|
||||
|
||||
TSAN_REPORT_TESTS=$(find . -name 'tsan.*' | cut -d'/' -f2 | sort -u | sed -e 's/^/I: /')
|
||||
if [ -n "${TSAN_REPORT_TESTS}" ]; then
|
||||
echoinfo "I:ThreadSanitizer reported issues for the following system tests:"
|
||||
echoinfo "${TSAN_REPORT_TESTS}"
|
||||
fi
|
||||
|
||||
RESULTS_FOUND=$(grep -c 'R:[a-z0-9_-][a-z0-9_-]*:[A-Z][A-Z]*' systests.output)
|
||||
TESTS_RUN=$(echo "${SUBDIRS}" | wc -w)
|
||||
if [ "${RESULTS_FOUND}" -ne "${TESTS_RUN}" ]; then
|
||||
echofail "I:Found ${RESULTS_FOUND} test results, but ${TESTS_RUN} tests were run"
|
||||
status=1
|
||||
fi
|
||||
|
||||
exit $status
|
||||
Reference in New Issue
Block a user