Merge remote-tracking branch 'origin/pr/2649' into mbedtls-2.7

* origin/pr/2649:
  list-symbols.sh: if the build fails, print the build transcript
  Document "check-names.sh -v"
  all.sh: invoke check-names.sh in print-trace-on-exit mode
  Print a command trace if the check-names.sh exits unexpectedly
This commit is contained in:
Jaeden Amero 2019-05-23 15:14:19 +01:00
commit d605387cec
3 changed files with 46 additions and 12 deletions

View file

@ -578,7 +578,7 @@ component_check_files () {
component_check_names () { component_check_names () {
msg "test/build: declared and exported names" # < 3s msg "test/build: declared and exported names" # < 3s
record_status tests/scripts/check-names.sh record_status tests/scripts/check-names.sh -v
} }
component_check_doxygen_warnings () { component_check_doxygen_warnings () {

View file

@ -2,26 +2,42 @@
# #
# This file is part of mbed TLS (https://tls.mbed.org) # This file is part of mbed TLS (https://tls.mbed.org)
# #
# Copyright (c) 2015-2016, ARM Limited, All Rights Reserved # Copyright (c) 2015-2019, ARM Limited, All Rights Reserved
#
# Purpose
#
# This script confirms that the naming of all symbols and identifiers in mbed
# TLS are consistent with the house style and are also self-consistent.
#
set -eu set -eu
if [ $# -ne 0 ] && [ "$1" = "--help" ]; then
cat <<EOF
$0 [-v]
This script confirms that the naming of all symbols and identifiers in mbed
TLS are consistent with the house style and are also self-consistent.
-v If the script fails unexpectedly, print a command trace.
EOF
exit
fi
if grep --version|head -n1|grep GNU >/dev/null; then :; else if grep --version|head -n1|grep GNU >/dev/null; then :; else
echo "This script requires GNU grep.">&2 echo "This script requires GNU grep.">&2
exit 1 exit 1
fi fi
trace=
if [ $# -ne 0 ] && [ "$1" = "-v" ]; then
shift
trace='-x'
exec 2>check-names.err
trap 'echo "FAILED UNEXPECTEDLY, status=$?";
cat check-names.err' EXIT
set -x
fi
printf "Analysing source code...\n" printf "Analysing source code...\n"
tests/scripts/list-macros.sh sh $trace tests/scripts/list-macros.sh
tests/scripts/list-enum-consts.pl tests/scripts/list-enum-consts.pl
tests/scripts/list-identifiers.sh sh $trace tests/scripts/list-identifiers.sh
tests/scripts/list-symbols.sh sh $trace tests/scripts/list-symbols.sh
FAIL=0 FAIL=0
@ -82,6 +98,12 @@ else
FAIL=1 FAIL=1
fi fi
if [ -n "$trace" ]; then
set +x
trap - EXIT
rm check-names.err
fi
printf "\nOverall: " printf "\nOverall: "
if [ "$FAIL" -eq 0 ]; then if [ "$FAIL" -eq 0 ]; then
rm macros actual-macros enum-consts identifiers exported-symbols rm macros actual-macros enum-consts identifiers exported-symbols

View file

@ -14,8 +14,20 @@ fi
cp include/mbedtls/config.h include/mbedtls/config.h.bak cp include/mbedtls/config.h include/mbedtls/config.h.bak
scripts/config.pl full scripts/config.pl full
CFLAGS=-fno-asynchronous-unwind-tables make clean lib >/dev/null 2>&1 make_ret=
CFLAGS=-fno-asynchronous-unwind-tables make clean lib \
>list-symbols.make.log 2>&1 ||
{
make_ret=$?
echo "Build failure: CFLAGS=-fno-asynchronous-unwind-tables make clean lib"
cat list-symbols.make.log >&2
}
rm list-symbols.make.log
mv include/mbedtls/config.h.bak include/mbedtls/config.h mv include/mbedtls/config.h.bak include/mbedtls/config.h
if [ -n "$make_ret" ]; then
exit "$make_ret"
fi
if uname | grep -F Darwin >/dev/null; then if uname | grep -F Darwin >/dev/null; then
nm -gUj library/libmbed*.a 2>/dev/null | sed -n -e 's/^_//p' nm -gUj library/libmbed*.a 2>/dev/null | sed -n -e 's/^_//p'
elif uname | grep -F Linux >/dev/null; then elif uname | grep -F Linux >/dev/null; then