mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
test-release.sh: Defer test errors until the end
This makes the script run to the end and produce tarballs even on test failures, and then highlights any errors afterwards. (I first tried just storing the errors in a global variable, but that didn't work as the "test_llvmCore" function invocation is actually running as a sub-shell.) Differential Revision: http://reviews.llvm.org/D11478 llvm-svn: 243116
This commit is contained in:
parent
9f0c09e5bf
commit
7ccf47247d
@ -208,6 +208,16 @@ if [ $RC != "final" ]; then
|
||||
fi
|
||||
Package=$Package-$Triple
|
||||
|
||||
# Errors to be highlighted at the end are written to this file.
|
||||
echo -n > $LogDir/deferred_errors.log
|
||||
|
||||
function deferred_error() {
|
||||
Phase="$1"
|
||||
Flavor="$2"
|
||||
Msg="$3"
|
||||
echo "[${Flavor} Phase${Phase}] ${Msg}" | tee -a $LogDir/deferred_errors.log
|
||||
}
|
||||
|
||||
# Make sure that a required program is available
|
||||
function check_program_exists() {
|
||||
local program="$1"
|
||||
@ -367,13 +377,17 @@ function test_llvmCore() {
|
||||
ObjDir="$3"
|
||||
|
||||
cd $ObjDir
|
||||
${MAKE} -j $NumJobs -k check-all \
|
||||
2>&1 | tee $LogDir/llvm.check-Phase$Phase-$Flavor.log
|
||||
if ! ( ${MAKE} -j $NumJobs -k check-all \
|
||||
2>&1 | tee $LogDir/llvm.check-Phase$Phase-$Flavor.log ) ; then
|
||||
deferred_error $Phase $Flavor "check-all failed"
|
||||
fi
|
||||
|
||||
if [ "$use_autoconf" = "yes" ]; then
|
||||
# In the cmake build, unit tests are run as part of check-all.
|
||||
${MAKE} -k unittests \
|
||||
2>&1 | tee $LogDir/llvm.unittests-Phase$Phase-$Flavor.log
|
||||
if ! ( ${MAKE} -k unittests 2>&1 | \
|
||||
tee $LogDir/llvm.unittests-Phase$Phase-$Flavor.log ) ; then
|
||||
deferred_error $Phase $Flavor "unittests failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
cd $BuildDir
|
||||
@ -538,4 +552,13 @@ else
|
||||
echo "### Package: $Package.tar.xz"
|
||||
fi
|
||||
echo "### Logs: $LogDir"
|
||||
|
||||
echo "### Errors:"
|
||||
if [ -s "$LogDir/deferred_errors.log" ]; then
|
||||
cat "$LogDir/deferred_errors.log"
|
||||
exit 1
|
||||
else
|
||||
echo "None."
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user