Skip to content

Commit

Permalink
Move LINT process in dedicated shell & fix
Browse files Browse the repository at this point in the history
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
  • Loading branch information
nerzhul committed Apr 6, 2017
1 parent 503e1d2 commit 4b15f76
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 49 deletions.
9 changes: 5 additions & 4 deletions src/script/lua_api/l_client.cpp
Expand Up @@ -19,6 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/

#include "l_client.h"
#include "clientenvironment.h"
#include "common/c_content.h"
#include "common/c_converter.h"
#include "cpp_api/s_base.h"
Expand All @@ -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_nodemeta.h"
#include "mainmenumanager.h"
#include "util/string.h"
#include "clientenvironment.h"
#include "map.h"
#include "util/string.h"

extern MainGameCallback *g_gamecallback;

Expand Down Expand Up @@ -200,7 +200,7 @@ int ModApiClient::l_sound_play(lua_State *L)

SimpleSoundSpec spec;
read_soundspec(L, 1, spec);
float gain = 1.0 ;
float gain = 1.0;
bool looped = false;
s32 handle;

Expand All @@ -212,7 +212,8 @@ int ModApiClient::l_sound_play(lua_State *L)
if (!lua_isnil(L, -1)) {
v3f pos = read_v3f(L, -1) * BS;
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);
return 1;
}
Expand Down
46 changes: 46 additions & 0 deletions util/travis/lint.sh
@@ -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"
}

46 changes: 1 addition & 45 deletions util/travis/script.sh
@@ -1,53 +1,9 @@
#!/bin/bash -e
. util/travis/common.sh
. util/travis/lint.sh

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
# Lint with exit CI
perform_lint
Expand Down

0 comments on commit 4b15f76

Please sign in to comment.