InfiniTime/tests/test-format.sh
Riku Isokoski c94e0d53bb Ignore deleted files in format test
Otherwise clang-format would fail with an error and exit the script
prematurely.
2022-05-08 13:31:00 +02:00

39 lines
739 B
Bash
Executable File

#!/bin/sh
set -e
[ -z "$1" ] && exit
basebranch=$1
CHANGED_FILES=$(git diff --name-only "$basebranch"...HEAD)
CHANGED=0
for file in $CHANGED_FILES
do
[ -e "$file" ] || continue
case "$file" in
*.cpp|*.h)
echo Checking "$file"
clang-format -i "$file"
if ! git diff --quiet "$basebranch"...HEAD
then
printf "\033[31mError:\033[0m Formatting error in %s\n" "$file"
CHANGED=1
git add "$file"
git commit -q -m "Apply clang-format to $(basename "$file")"
printf "Creating patch "
git format-patch HEAD~
fi
esac
done
if [ $CHANGED = 1 ]
then
printf "\033[31mError:\033[0m Issues found. You may use the patches provided as artifacts to format the code."
exit 1
fi
exit 0