diff options
author | Riku Isokoski <riksu9000@gmail.com> | 2022-04-30 22:53:34 +0300 |
---|---|---|
committer | JF <JF002@users.noreply.github.com> | 2022-05-08 13:31:00 +0200 |
commit | 015f17cd258cc336fa509b190814f6319d19bbbc (patch) | |
tree | 4639775e8925ad258fe557bc202671c288f7ebdd /tests/test-format.sh | |
parent | dedb397ae088ab57aa0940a9ac10d8f4cd61e69b (diff) |
Add formatting test workflow
Diffstat (limited to 'tests/test-format.sh')
-rwxr-xr-x | tests/test-format.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/test-format.sh b/tests/test-format.sh new file mode 100755 index 00000000..9caf6de5 --- /dev/null +++ b/tests/test-format.sh @@ -0,0 +1,37 @@ +#!/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 + 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 |