iotests: Run pylint and mypy in a testcase

We made sure that iotests.py passes pylint. It would be a shame if we
allowed new patches in that break this again, so let's just add a
meta-test case that runs pylint on it.

While we don't pass mypy --strict yet, we can already run it with a few
options that would be part of --strict to make sure that we won't
regress on these aspects at least until we can enable the full thing.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200511163529.349329-3-kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Kevin Wolf 2020-05-11 18:35:29 +02:00
parent cd8f5b7592
commit 19b7868eff
3 changed files with 48 additions and 0 deletions

44
tests/qemu-iotests/297 Executable file
View file

@ -0,0 +1,44 @@
#!/usr/bin/env bash
#
# Copyright (C) 2020 Red Hat, Inc.
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
seq=$(basename $0)
echo "QA output created by $seq"
status=1 # failure is the default!
# get standard environment
. ./common.rc
if ! type -p "pylint-3" > /dev/null; then
_notrun "pylint-3 not found"
fi
if ! type -p "mypy" > /dev/null; then
_notrun "mypy not found"
fi
pylint-3 --score=n iotests.py
MYPYPATH=../../python/ mypy --warn-unused-configs --disallow-subclassing-any \
--disallow-any-generics --disallow-incomplete-defs \
--disallow-untyped-decorators --no-implicit-optional \
--warn-redundant-casts --warn-unused-ignores \
--no-implicit-reexport iotests.py
# success, all done
echo "*** done"
rm -f $seq.full
status=0

View file

@ -0,0 +1,3 @@
QA output created by 297
Success: no issues found in 1 source file
*** done

View file

@ -300,3 +300,4 @@
289 rw quick
290 rw auto quick
292 rw auto quick
297 meta