Add a --quiet option to all.sh
The primary purpose is to use it to run all.sh -k -q in the pre-push hook, but this can be useful in any circumstance where you're not interested in the full output from each component and just want a short summary of which components were run (and if any failed). Note that only stdout from components is suppressed, stderr is preserved so that errors are reported. This means components should avoid printing to stderr in normal usage (ie in the absence of errors). Currently all the `check_*` components obey this convention except: - check_generate_test_code: unittest prints progress to stderr - check_test_cases: lots of non-fatal warnings printed to stderr These components will be fixed in follow-up commits. Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit is contained in:
parent
bf7ae6fb25
commit
2b2bdaa793
1 changed files with 39 additions and 2 deletions
|
@ -120,6 +120,7 @@ pre_initialize_variables () {
|
||||||
append_outcome=0
|
append_outcome=0
|
||||||
MEMORY=0
|
MEMORY=0
|
||||||
FORCE=0
|
FORCE=0
|
||||||
|
QUIET=0
|
||||||
KEEP_GOING=0
|
KEEP_GOING=0
|
||||||
|
|
||||||
: ${MBEDTLS_TEST_OUTCOME_FILE=}
|
: ${MBEDTLS_TEST_OUTCOME_FILE=}
|
||||||
|
@ -200,6 +201,7 @@ Special options:
|
||||||
--list-components List components supported on this platform and exit.
|
--list-components List components supported on this platform and exit.
|
||||||
|
|
||||||
General options:
|
General options:
|
||||||
|
-q|--quiet Only output component names, and errors if any.
|
||||||
-f|--force Force the tests to overwrite any modified files.
|
-f|--force Force the tests to overwrite any modified files.
|
||||||
-k|--keep-going Run all tests and report errors at the end.
|
-k|--keep-going Run all tests and report errors at the end.
|
||||||
-m|--memory Additional optional memory tests.
|
-m|--memory Additional optional memory tests.
|
||||||
|
@ -215,6 +217,7 @@ General options:
|
||||||
--no-force Refuse to overwrite modified files (default).
|
--no-force Refuse to overwrite modified files (default).
|
||||||
--no-keep-going Stop at the first error (default).
|
--no-keep-going Stop at the first error (default).
|
||||||
--no-memory No additional memory tests (default).
|
--no-memory No additional memory tests (default).
|
||||||
|
--no-quiet Print full ouput from components.
|
||||||
--out-of-source-dir=<path> Directory used for CMake out-of-source build tests.
|
--out-of-source-dir=<path> Directory used for CMake out-of-source build tests.
|
||||||
--outcome-file=<path> File where test outcomes are written (not done if
|
--outcome-file=<path> File where test outcomes are written (not done if
|
||||||
empty; default: \$MBEDTLS_TEST_OUTCOME_FILE).
|
empty; default: \$MBEDTLS_TEST_OUTCOME_FILE).
|
||||||
|
@ -288,6 +291,11 @@ msg()
|
||||||
else
|
else
|
||||||
current_section="$1"
|
current_section="$1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $QUIET -eq 1 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "******************************************************************"
|
echo "******************************************************************"
|
||||||
echo "* $current_section "
|
echo "* $current_section "
|
||||||
|
@ -363,11 +371,13 @@ pre_parse_command_line () {
|
||||||
--no-force) FORCE=0;;
|
--no-force) FORCE=0;;
|
||||||
--no-keep-going) KEEP_GOING=0;;
|
--no-keep-going) KEEP_GOING=0;;
|
||||||
--no-memory) MEMORY=0;;
|
--no-memory) MEMORY=0;;
|
||||||
|
--no-quiet) QUIET=0;;
|
||||||
--openssl) shift; OPENSSL="$1";;
|
--openssl) shift; OPENSSL="$1";;
|
||||||
--openssl-legacy) shift; OPENSSL_LEGACY="$1";;
|
--openssl-legacy) shift; OPENSSL_LEGACY="$1";;
|
||||||
--openssl-next) shift; OPENSSL_NEXT="$1";;
|
--openssl-next) shift; OPENSSL_NEXT="$1";;
|
||||||
--outcome-file) shift; MBEDTLS_TEST_OUTCOME_FILE="$1";;
|
--outcome-file) shift; MBEDTLS_TEST_OUTCOME_FILE="$1";;
|
||||||
--out-of-source-dir) shift; OUT_OF_SOURCE_DIR="$1";;
|
--out-of-source-dir) shift; OUT_OF_SOURCE_DIR="$1";;
|
||||||
|
--quiet|-q) QUIET=1;;
|
||||||
--random-seed) unset SEED;;
|
--random-seed) unset SEED;;
|
||||||
--release-test|-r) SEED=1;;
|
--release-test|-r) SEED=1;;
|
||||||
--seed|-s) shift; SEED="$1";;
|
--seed|-s) shift; SEED="$1";;
|
||||||
|
@ -449,7 +459,7 @@ pre_setup_keep_going () {
|
||||||
failure_summary="$failure_summary
|
failure_summary="$failure_summary
|
||||||
$text"
|
$text"
|
||||||
failure_count=$((failure_count + 1))
|
failure_count=$((failure_count + 1))
|
||||||
echo "${start_red}^^^^$text^^^^${end_color}"
|
echo "${start_red}^^^^$text^^^^${end_color}" >&2
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
make () {
|
make () {
|
||||||
|
@ -495,6 +505,18 @@ not() {
|
||||||
! "$@"
|
! "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pre_setup_quiet_redirect () {
|
||||||
|
if [ $QUIET -ne 1 ]; then
|
||||||
|
redirect_out () {
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
redirect_out () {
|
||||||
|
"$@" >/dev/null
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
pre_prepare_outcome_file () {
|
pre_prepare_outcome_file () {
|
||||||
case "$MBEDTLS_TEST_OUTCOME_FILE" in
|
case "$MBEDTLS_TEST_OUTCOME_FILE" in
|
||||||
[!/]*) MBEDTLS_TEST_OUTCOME_FILE="$PWD/$MBEDTLS_TEST_OUTCOME_FILE";;
|
[!/]*) MBEDTLS_TEST_OUTCOME_FILE="$PWD/$MBEDTLS_TEST_OUTCOME_FILE";;
|
||||||
|
@ -505,6 +527,10 @@ pre_prepare_outcome_file () {
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_print_configuration () {
|
pre_print_configuration () {
|
||||||
|
if [ $QUIET -eq 1 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
msg "info: $0 configuration"
|
msg "info: $0 configuration"
|
||||||
echo "MEMORY: $MEMORY"
|
echo "MEMORY: $MEMORY"
|
||||||
echo "FORCE: $FORCE"
|
echo "FORCE: $FORCE"
|
||||||
|
@ -579,6 +605,11 @@ pre_check_tools () {
|
||||||
"$ARMC6_CC" "$ARMC6_AR" "$ARMC6_FROMELF";;
|
"$ARMC6_CC" "$ARMC6_AR" "$ARMC6_FROMELF";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# past this point, no call to check_tool, only printing output
|
||||||
|
if [ $QUIET -eq 1 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
msg "info: output_env.sh"
|
msg "info: output_env.sh"
|
||||||
case $RUN_COMPONENTS in
|
case $RUN_COMPONENTS in
|
||||||
*_armcc*)
|
*_armcc*)
|
||||||
|
@ -1889,10 +1920,15 @@ run_component () {
|
||||||
dd if=/dev/urandom of=./tests/seedfile bs=64 count=1 >/dev/null 2>&1
|
dd if=/dev/urandom of=./tests/seedfile bs=64 count=1 >/dev/null 2>&1
|
||||||
|
|
||||||
# Run the component code.
|
# Run the component code.
|
||||||
"$@"
|
if [ $QUIET -eq 1 ]; then
|
||||||
|
# msg() is silenced, so just print the component name here
|
||||||
|
echo "${current_component#component_}"
|
||||||
|
fi
|
||||||
|
redirect_out "$@"
|
||||||
|
|
||||||
# Restore the build tree to a clean state.
|
# Restore the build tree to a clean state.
|
||||||
cleanup
|
cleanup
|
||||||
|
current_component=""
|
||||||
}
|
}
|
||||||
|
|
||||||
# Preliminary setup
|
# Preliminary setup
|
||||||
|
@ -1910,6 +1946,7 @@ else
|
||||||
"$@"
|
"$@"
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
pre_setup_quiet_redirect
|
||||||
pre_prepare_outcome_file
|
pre_prepare_outcome_file
|
||||||
pre_print_configuration
|
pre_print_configuration
|
||||||
pre_check_tools
|
pre_check_tools
|
||||||
|
|
Loading…
Reference in a new issue