Move LINT process in dedicated shell & fix

Move lint to dedicated shell permit to use it from your shell easily to check what is wrong
Also fix recent regressions in code style
This commit is contained in:
Loic Blot 2017-04-06 09:10:59 +02:00
parent 503e1d2b7c
commit 4b15f76ed1
No known key found for this signature in database
GPG Key ID: EFAA458E8C153987
3 changed files with 52 additions and 49 deletions

@ -19,6 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/ */
#include "l_client.h" #include "l_client.h"
#include "clientenvironment.h"
#include "common/c_content.h" #include "common/c_content.h"
#include "common/c_converter.h" #include "common/c_converter.h"
#include "cpp_api/s_base.h" #include "cpp_api/s_base.h"
@ -27,9 +28,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "lua_api/l_item.h" #include "lua_api/l_item.h"
#include "lua_api/l_nodemeta.h" #include "lua_api/l_nodemeta.h"
#include "mainmenumanager.h" #include "mainmenumanager.h"
#include "util/string.h"
#include "clientenvironment.h"
#include "map.h" #include "map.h"
#include "util/string.h"
extern MainGameCallback *g_gamecallback; extern MainGameCallback *g_gamecallback;
@ -200,7 +200,7 @@ int ModApiClient::l_sound_play(lua_State *L)
SimpleSoundSpec spec; SimpleSoundSpec spec;
read_soundspec(L, 1, spec); read_soundspec(L, 1, spec);
float gain = 1.0 ; float gain = 1.0;
bool looped = false; bool looped = false;
s32 handle; s32 handle;
@ -212,7 +212,8 @@ int ModApiClient::l_sound_play(lua_State *L)
if (!lua_isnil(L, -1)) { if (!lua_isnil(L, -1)) {
v3f pos = read_v3f(L, -1) * BS; v3f pos = read_v3f(L, -1) * BS;
lua_pop(L, 1); lua_pop(L, 1);
handle = sound->playSoundAt(spec.name, looped, gain * spec.gain, pos); handle =
sound->playSoundAt(spec.name, looped, gain * spec.gain, pos);
lua_pushinteger(L, handle); lua_pushinteger(L, handle);
return 1; return 1;
} }

46
util/travis/lint.sh Normal file

@ -0,0 +1,46 @@
#! /bin/bash
function perform_lint() {
echo "Performing LINT..."
CLANG_FORMAT=clang-format
CLANG_FORMAT_WHITELIST="util/travis/clang-format-whitelist.txt"
if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then
# Get list of every file modified in this pull request
files_to_lint="$(git diff --name-only --diff-filter=ACMRTUXB $TRAVIS_COMMIT_RANGE | grep '^src/[^.]*[.]\(cpp\|h\)$' | true)"
else
# Check everything for branch pushes
files_to_lint="$(find src/ -name '*.cpp' -or -name '*.h')"
fi
local errorcount=0
local fail=0
for f in ${files_to_lint}; do
d=$(diff -u "$f" <(${CLANG_FORMAT} "$f") || true)
if ! [ -z "$d" ]; then
whitelisted=$(egrep -c "^${f}" "${CLANG_FORMAT_WHITELIST}")
# If file is not whitelisted, mark a failure
if [ ${whitelisted} -eq 0 ]; then
errorcount=$((errorcount+1))
printf "The file %s is not compliant with the coding style" "$f"
if [ ${errorcount} -gt 50 ]; then
printf "\nToo many errors encountered previously, this diff is hidden.\n"
else
printf ":\n%s\n" "$d"
fi
fail=1
fi
fi
done
if [ "$fail" = 1 ]; then
echo "LINT reports failure."
exit 1
fi
echo "LINT OK"
}

@ -1,53 +1,9 @@
#!/bin/bash -e #!/bin/bash -e
. util/travis/common.sh . util/travis/common.sh
. util/travis/lint.sh
needs_compile || exit 0 needs_compile || exit 0
function perform_lint() {
echo "Performing LINT..."
CLANG_FORMAT=clang-format-3.9
CLANG_FORMAT_WHITELIST="util/travis/clang-format-whitelist.txt"
if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then
# Get list of every file modified in this pull request
files_to_lint="$(git diff --name-only --diff-filter=ACMRTUXB $TRAVIS_COMMIT_RANGE | grep '^src/[^.]*[.]\(cpp\|h\)$' | true)"
else
# Check everything for branch pushes
files_to_lint="$(find src/ -name '*.cpp' -or -name '*.h')"
fi
local errorcount=0
local fail=0
for f in ${files_to_lint}; do
d=$(diff -u "$f" <(${CLANG_FORMAT} "$f") || true)
if ! [ -z "$d" ]; then
whitelisted=$(egrep -c "^${f}" "${CLANG_FORMAT_WHITELIST}")
# If file is not whitelisted, mark a failure
if [ ${whitelisted} -eq 0 ]; then
errorcount=$((errorcount+1))
printf "The file %s is not compliant with the coding style" "$f"
if [ ${errorcount} -gt 50 ]; then
printf "\nToo many errors encountered previously, this diff is hidden.\n"
else
printf ":\n%s\n" "$d"
fi
fail=1
fi
fi
done
if [ "$fail" = 1 ]; then
echo "LINT reports failure."
exit 1
fi
echo "LINT OK"
}
if [[ "$LINT" == "1" ]]; then if [[ "$LINT" == "1" ]]; then
# Lint with exit CI # Lint with exit CI
perform_lint perform_lint