mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -04:00
travis: add indentation check after running tests
This commit is contained in:
parent
7e3dc30cbf
commit
0d5d3bc9b8
@ -1 +1 @@
|
||||
cat '/tmp/ctest-important.log'
|
||||
[ -r /tmp/ctest-important.log ] && cat /tmp/ctest-important.log
|
||||
|
@ -56,8 +56,12 @@ sudo apt-get install --force-yes --no-install-recommends --no-install-suggests \
|
||||
xfonts-base \
|
||||
xfonts-scalable \
|
||||
xvfb \
|
||||
python-pip \
|
||||
flip \
|
||||
postgresql-9.1-postgis-2.1/precise # from ubuntugis-unstable, not pgdg
|
||||
|
||||
sudo -H pip install autopep8 # TODO when switching to trusty or above: replace python-pip with python-autopep8
|
||||
|
||||
#update clang
|
||||
sudo apt-get install --force-yes llvm-3.7 llvm-3.7-dev clang-3.7 libstdc++-4.9-dev
|
||||
export CXX="clang++-3.7"
|
||||
|
@ -10,6 +10,7 @@ cmake -DWITH_SERVER=ON \
|
||||
-DENABLE_PGTEST=ON \
|
||||
-DWITH_QWTPOLAR=OFF \
|
||||
-DWITH_APIDOC=ON \
|
||||
-DWITH_ASTYLE=ON \
|
||||
-DWITH_PYSPATIALITE=ON \
|
||||
-DGRASS_PREFIX7=/usr/lib/grass70 \
|
||||
-DGRASS_INCLUDE_DIR7=/usr/lib/grass70/include ..
|
||||
|
72
scripts/verify-indentation.sh
Executable file
72
scripts/verify-indentation.sh
Executable file
@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd $(git rev-parse --show-toplevel)
|
||||
|
||||
export PATH=$PATH:$PWD/scripts
|
||||
|
||||
if [ -z "$TRAVIS_COMMIT_RANGE" ]; then
|
||||
echo "No commit range given"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
TRAVIS_COMMIT_RANGE=${TRAVIS_COMMIT_RANGE/.../..}
|
||||
|
||||
if ! type -p astyle.sh >/dev/null; then
|
||||
echo astyle.sh not found
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
ASTYLEDIFF=/tmp/astyle.diff
|
||||
>$ASTYLEDIFF
|
||||
|
||||
echo "Checking indentation in $TRAVIS_COMMIT_RANGE"
|
||||
echo "Checking indentation in $TRAVIS_COMMIT_RANGE" >>/tmp/ctest-important.log
|
||||
git log $TRAVIS_COMMIT_RANGE >>/tmp/ctest-important.log 2>&1
|
||||
git diff --name-only $TRAVIS_COMMIT_RANGE >>/tmp/ctest-important.log 2>&1
|
||||
|
||||
git diff --name-only $TRAVIS_COMMIT_RANGE | while read f
|
||||
do
|
||||
echo "Checking $f" >>/tmp/ctest-important.log
|
||||
case "$f" in
|
||||
src/core/gps/qextserialport/*|src/plugins/dxf2shp_converter/dxflib/src/*|src/plugins/globe/osgEarthQt/*|src/plugins/globe/osgEarthUtil/*)
|
||||
echo $f skipped
|
||||
continue
|
||||
;;
|
||||
|
||||
*.cpp|*.c|*.h|*.cxx|*.hxx|*.c++|*.h++|*.cc|*.hh|*.C|*.H|*.sip|*.py)
|
||||
;;
|
||||
|
||||
*)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
m=$f.prepare
|
||||
cp "$f" "$m"
|
||||
astyle.sh "$f"
|
||||
if diff -u "$m" "$f" >>$ASTYLEDIFF; then
|
||||
rm $m
|
||||
else
|
||||
echo "File $f needs indentation"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -s "$ASTYLEDIFF" ]; then
|
||||
echo
|
||||
echo "Required indentation updates:"
|
||||
cat "$ASTYLEDIFF"
|
||||
|
||||
cat <<EOF
|
||||
|
||||
Tips to prevent and resolve:
|
||||
* Enable WITH_ASTYLE in your cmake configuration
|
||||
* Use scripts/astyle.sh file to fix the now badly indented files
|
||||
* Consider using scripts/prepare-commit.sh as pre-commit hook to avoid this
|
||||
in the future (ln -s scripts/prepare-commit.sh .git/hooks/pre-commit) or
|
||||
run it manually before each commit.
|
||||
EOF
|
||||
|
||||
exit 1
|
||||
fi
|
@ -2,3 +2,7 @@ IF (ENABLE_TESTS)
|
||||
ADD_SUBDIRECTORY(src)
|
||||
ADD_SUBDIRECTORY(bench)
|
||||
ENDIF (ENABLE_TESTS)
|
||||
|
||||
IF(WITH_ASTYLE)
|
||||
ADD_TEST(qgis_indentation ${CMAKE_SOURCE_DIR}/scripts/verify-indentation.sh)
|
||||
ENDIF(WITH_ASTYLE)
|
||||
|
Loading…
x
Reference in New Issue
Block a user