X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=scripts%2Fbabeltrace%2Fpylint.sh;h=839d86266da2edfe4c686ac06e0967b9e4d02270;hb=51c9c62db1805a4cdd96be18df4082f1ac5d81c5;hp=80637f6adc217249fd6cd256a813bdad76936e52;hpb=96cf4d4ddc3973e48dead868d5330d042643ba22;p=lttng-ci.git diff --git a/scripts/babeltrace/pylint.sh b/scripts/babeltrace/pylint.sh index 80637f6..839d862 100755 --- a/scripts/babeltrace/pylint.sh +++ b/scripts/babeltrace/pylint.sh @@ -1,6 +1,7 @@ -#!/bin/sh -exu +#!/bin/bash # -# Copyright (C) 2015 - Michael Jeanson +# Copyright (C) 2019 Michael Jeanson +# Copyright (C) 2019 Francis Deslauriers # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -15,30 +16,40 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -BABELTRACE_DIR="deps/babeltrace/build" +set -exu -PYTHON3=python3 -P3_VERSION=$($PYTHON3 -c "import sys;print(sys.version[:3])") +set -o pipefail -BINDINGS_DIR="$BABELTRACE_DIR/lib/python${P3_VERSION}/dist-packages/babeltrace" +PYTHON3=python3 +SRCDIR="$WORKSPACE/src/babeltrace" PYENV_HOME="$WORKSPACE/.pyenv/" # Delete previously built virtualenv -if [ -d $PYENV_HOME ]; then - rm -rf $PYENV_HOME +if [ -d "$PYENV_HOME" ]; then + rm -rf "$PYENV_HOME" fi # Create virtualenv and install necessary packages -virtualenv --system-site-packages -p ${PYTHON3} $PYENV_HOME +virtualenv --system-site-packages -p ${PYTHON3} "$PYENV_HOME" + +set +ux +# shellcheck disable=SC1090 +. "$PYENV_HOME/bin/activate" +set -ux + +if [ -f "$SRCDIR/dev-requirements.txt" ]; then + pip install -r "$SRCDIR/dev-requirements.txt" +else + pip install --quiet black + pip install --quiet flake8 +fi -set +u -. $PYENV_HOME/bin/activate -set -u +exit_code=0 -pip install --quiet pylint -pip install --quiet pep8 +cd "$SRCDIR" -pep8 --exclude="nativebt.py" $BINDINGS_DIR | tee pep8.out +black --diff --check . | tee ../../black.out || exit_code=1 +flake8 --output-file=../../flake8.out --tee || exit_code=1 -pylint -f parseable --ignore="nativebt.py" $BINDINGS_DIR | tee pylint.out +exit $exit_code