forked from dashpay/dash
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add a trailing whitespace and tab char lint check to Travis * Add Travis Python check for all non-violated flake8 rules * Travis: Remove bc tool from dependencies * Run Qt wallet tests on travis * Remove duplicate pyzmq install python3-zmq is already installed which provides python3 bindings for 0MQ library.
- Loading branch information
1 parent
9d05d8e
commit ae0a10e
Showing
4 changed files
with
204 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#!/bin/bash | ||
# | ||
# Copyright (c) 2017 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
# | ||
# This script runs all contrib/devtools/lint-*.sh files, and fails if any exit | ||
# with a non-zero status code. | ||
|
||
set -u | ||
|
||
SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}") | ||
LINTALL=$(basename "${BASH_SOURCE[0]}") | ||
|
||
for f in "${SCRIPTDIR}"/lint-*.sh; do | ||
if [ "$(basename "$f")" != "$LINTALL" ]; then | ||
if ! "$f"; then | ||
echo "^---- failure generated from $f" | ||
exit 1 | ||
fi | ||
fi | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
#!/bin/sh | ||
# | ||
# Copyright (c) 2017 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
# | ||
# Check for specified flake8 warnings in python files. | ||
|
||
# E112 expected an indented block | ||
# E113 unexpected indentation | ||
# E115 expected an indented block (comment) | ||
# E116 unexpected indentation (comment) | ||
# E125 continuation line with same indent as next logical line | ||
# E131 continuation line unaligned for hanging indent | ||
# E133 closing bracket is missing indentation | ||
# E223 tab before operator | ||
# E224 tab after operator | ||
# E271 multiple spaces after keyword | ||
# E272 multiple spaces before keyword | ||
# E273 tab after keyword | ||
# E274 tab before keyword | ||
# E275 missing whitespace after keyword | ||
# E304 blank lines found after function decorator | ||
# E502 the backslash is redundant between brackets | ||
# E702 multiple statements on one line (semicolon) | ||
# E714 test for object identity should be "is not" | ||
# E721 do not compare types, use "isinstance()" | ||
# E741 do not use variables named "l", "O", or "I" | ||
# E742 do not define classes named "l", "O", or "I" | ||
# E743 do not define functions named "l", "O", or "I" | ||
# F402 import module from line N shadowed by loop variable | ||
# F404 future import(s) name after other statements | ||
# F406 "from module import *" only allowed at module level | ||
# F407 an undefined __future__ feature name was imported | ||
# F601 dictionary key name repeated with different values | ||
# F602 dictionary key variable name repeated with different values | ||
# F621 too many expressions in an assignment with star-unpacking | ||
# F622 two or more starred expressions in an assignment (a, *b, *c = d) | ||
# F631 assertion test is a tuple, which are always True | ||
# F701 a break statement outside of a while or for loop | ||
# F702 a continue statement outside of a while or for loop | ||
# F703 a continue statement in a finally block in a loop | ||
# F704 a yield or yield from statement outside of a function | ||
# F705 a return statement with arguments inside a generator | ||
# F706 a return statement outside of a function/method | ||
# F707 an except: block as not the last exception handler | ||
# F811 redefinition of unused name from line N | ||
# F812 list comprehension redefines 'foo' from line N | ||
# F822 undefined name name in __all__ | ||
# F823 local variable name … referenced before assignment | ||
# F831 duplicate argument name in function definition | ||
# W292 no newline at end of file | ||
# W504 line break after binary operator | ||
# W601 .has_key() is deprecated, use "in" | ||
# W602 deprecated form of raising exception | ||
# W603 "<>" is deprecated, use "!=" | ||
# W604 backticks are deprecated, use "repr()" | ||
# W605 invalid escape sequence "x" | ||
|
||
flake8 --ignore=B,C,E,F,I,N,W --select=E112,E113,E115,E116,E125,E131,E133,E223,E224,E271,E272,E273,E274,E275,E304,E502,E702,E714,E721,E741,E742,E743,F402,F404,F406,F407,F601,F602,F621,F622,F631,F701,F702,F703,F704,F705,F706,F707,F811,F812,F822,F823,F831,W292,W504,W601,W602,W603,W604,W605 . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
#!/bin/bash | ||
# | ||
# Copyright (c) 2017 The Bitcoin Core developers | ||
# Distributed under the MIT software license, see the accompanying | ||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
# | ||
# Check for new lines in diff that introduce trailing whitespace. | ||
|
||
# We can't run this check unless we know the commit range for the PR. | ||
|
||
while getopts "?" opt; do | ||
case $opt in | ||
?) | ||
echo "Usage: .lint-whitespace.sh [N]" | ||
echo " TRAVIS_COMMIT_RANGE='<commit range>' .lint-whitespace.sh" | ||
echo " .lint-whitespace.sh -?" | ||
echo "Checks unstaged changes, the previous N commits, or a commit range." | ||
echo "TRAVIS_COMMIT_RANGE='47ba2c3...ee50c9e' .lint-whitespace.sh" | ||
exit 0 | ||
;; | ||
esac | ||
done | ||
|
||
if [ -z "${TRAVIS_COMMIT_RANGE}" ]; then | ||
if [ "$1" ]; then | ||
TRAVIS_COMMIT_RANGE="HEAD~$1...HEAD" | ||
else | ||
TRAVIS_COMMIT_RANGE="HEAD" | ||
fi | ||
fi | ||
|
||
showdiff() { | ||
if ! git diff -U0 "${TRAVIS_COMMIT_RANGE}" -- "." ":(exclude)depends/patches/" ":(exclude)src/leveldb/" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/" ":(exclude)doc/release-notes/"; then | ||
echo "Failed to get a diff" | ||
exit 1 | ||
fi | ||
} | ||
|
||
showcodediff() { | ||
if ! git diff -U0 "${TRAVIS_COMMIT_RANGE}" -- *.cpp *.h *.md *.py *.sh ":(exclude)src/leveldb/" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/" ":(exclude)doc/release-notes/"; then | ||
echo "Failed to get a diff" | ||
exit 1 | ||
fi | ||
} | ||
|
||
RET=0 | ||
|
||
# Check if trailing whitespace was found in the diff. | ||
if showdiff | grep -E -q '^\+.*\s+$'; then | ||
echo "This diff appears to have added new lines with trailing whitespace." | ||
echo "The following changes were suspected:" | ||
FILENAME="" | ||
SEEN=0 | ||
SEENLN=0 | ||
while read -r line; do | ||
if [[ "$line" =~ ^diff ]]; then | ||
FILENAME="$line" | ||
SEEN=0 | ||
elif [[ "$line" =~ ^@@ ]]; then | ||
LINENUMBER="$line" | ||
SEENLN=0 | ||
else | ||
if [ "$SEEN" -eq 0 ]; then | ||
# The first time a file is seen with trailing whitespace, we print the | ||
# filename (preceded by a newline). | ||
echo | ||
echo "$FILENAME" | ||
SEEN=1 | ||
fi | ||
if [ "$SEENLN" -eq 0 ]; then | ||
echo "$LINENUMBER" | ||
SEENLN=1 | ||
fi | ||
echo "$line" | ||
fi | ||
done < <(showdiff | grep -E '^(diff --git |@@|\+.*\s+$)') | ||
RET=1 | ||
fi | ||
|
||
# Check if tab characters were found in the diff. | ||
if showcodediff | perl -nle '$MATCH++ if m{^\+.*\t}; END{exit 1 unless $MATCH>0}' > /dev/null; then | ||
echo "This diff appears to have added new lines with tab characters instead of spaces." | ||
echo "The following changes were suspected:" | ||
FILENAME="" | ||
SEEN=0 | ||
SEENLN=0 | ||
while read -r line; do | ||
if [[ "$line" =~ ^diff ]]; then | ||
FILENAME="$line" | ||
SEEN=0 | ||
elif [[ "$line" =~ ^@@ ]]; then | ||
LINENUMBER="$line" | ||
SEENLN=0 | ||
else | ||
if [ "$SEEN" -eq 0 ]; then | ||
# The first time a file is seen with a tab character, we print the | ||
# filename (preceded by a newline). | ||
echo | ||
echo "$FILENAME" | ||
SEEN=1 | ||
fi | ||
if [ "$SEENLN" -eq 0 ]; then | ||
echo "$LINENUMBER" | ||
SEENLN=1 | ||
fi | ||
echo "$line" | ||
fi | ||
done < <(showcodediff | perl -nle 'print if m{^(diff --git |@@|\+.*\t)}') | ||
RET=1 | ||
fi | ||
|
||
exit $RET |