Add -u option to check-generated-files.sh

Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit is contained in:
Manuel Pégourié-Gonnard 2020-07-16 10:40:13 +02:00
parent a586099fd3
commit 9ad5128324

View file

@ -50,11 +50,29 @@
set -eu set -eu
if [ $# -ne 0 ] && [ "$1" = "--help" ]; then
cat <<EOF
$0 [-u]
This script checks that all generated file are up-to-date. If some aren't, by
default the scripts reports it and exits in error; with the -u option, it just
updates them instead.
-u Update the files rather than return an error for out-of-date files.
EOF
exit
fi
if [ -d library -a -d include -a -d tests ]; then :; else if [ -d library -a -d include -a -d tests ]; then :; else
echo "Must be run from mbed TLS root" >&2 echo "Must be run from mbed TLS root" >&2
exit 1 exit 1
fi fi
UPDATE=
if [ $# -ne 0 ] && [ "$1" = "-u" ]; then
shift
UPDATE='y'
fi
check() check()
{ {
SCRIPT=$1 SCRIPT=$1
@ -80,9 +98,15 @@ check()
for FILE in $FILES; do for FILE in $FILES; do
if ! diff $FILE $FILE.bak >/dev/null 2>&1; then if ! diff $FILE $FILE.bak >/dev/null 2>&1; then
echo "'$FILE' was either modified or deleted by '$SCRIPT'" echo "'$FILE' was either modified or deleted by '$SCRIPT'"
exit 1 if [ -z "$UPDATE" ]; then
exit 1
fi
fi
if [ -z "$UPDATE" ]; then
mv $FILE.bak $FILE
else
rm $FILE.bak
fi fi
mv $FILE.bak $FILE
if [ -d $TO_CHECK ]; then if [ -d $TO_CHECK ]; then
# Create a grep regular expression that we can check against the # Create a grep regular expression that we can check against the
@ -99,7 +123,9 @@ check()
# Check if there are any new files # Check if there are any new files
if ls -1 $TO_CHECK | grep -v "$PATTERN" >/dev/null 2>&1; then if ls -1 $TO_CHECK | grep -v "$PATTERN" >/dev/null 2>&1; then
echo "Files were created by '$SCRIPT'" echo "Files were created by '$SCRIPT'"
exit 1 if [ -z "$UPDATE" ]; then
exit 1
fi
fi fi
fi fi
} }