From 015f17cd258cc336fa509b190814f6319d19bbbc Mon Sep 17 00:00:00 2001 From: Riku Isokoski Date: Sat, 30 Apr 2022 22:53:34 +0300 Subject: Add formatting test workflow --- tests/test-format.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 tests/test-format.sh (limited to 'tests') 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 -- cgit v1.2.3