X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=scripts%2Fbabeltrace%2Fpylint.sh;h=ffb45b9ec98a699fb4f03c00d79fd031f8e11e0f;hb=4d27af8f99434c6dcadf1d22430d4e8a27b8bee2;hp=4a7e38aa1363034edb67f29b276d5a72d19daef7;hpb=453b388a9f7358654ed19b39b2fe894e288d52ae;p=lttng-ci.git diff --git a/scripts/babeltrace/pylint.sh b/scripts/babeltrace/pylint.sh old mode 100644 new mode 100755 index 4a7e38a..ffb45b9 --- a/scripts/babeltrace/pylint.sh +++ b/scripts/babeltrace/pylint.sh @@ -1,6 +1,7 @@ -#!/bin/sh -exu +#!/bin/bash -exu # -# 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,26 +16,38 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -BABELTRACE_DIR="deps/babeltrace/build" -BINDINGS_DIR="$BABELTRACE_DIR/lib/python3.4/dist-packages/babeltrace" +set -o pipefail +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