qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	qemu-block@nongnu.org, Markus Armbruster <armbru@redhat.com>,
	Max Reitz <mreitz@redhat.com>, Cleber Rosa <crosa@redhat.com>,
	John Snow <jsnow@redhat.com>
Subject: [PATCH 09/10] iotests/linters: Add entry point for Python CI linters
Date: Fri, 25 Jun 2021 14:20:20 -0400	[thread overview]
Message-ID: <20210625182021.803227-10-jsnow@redhat.com> (raw)
In-Reply-To: <20210625182021.803227-1-jsnow@redhat.com>

Add a main() function to linters.py so that the Python CI infrastructure
has something it can run.

Now, linters.py represents an invocation of the linting scripts that
more resembles a "normal" execution of pylint/mypy, like you'd expect to
use if 'qemu' was a bona-fide package you obtained from PyPI.

297, by contrast, now represents the iotests-specific configuration bits
you need to get it to function correctly as a part of iotests, and with
'qemu' as a namespace package that isn't "installed" to the current
environment, but just lives elsewhere in our source tree.

By doing this, we will able to run the same linting configuration from
the Python CI tests without calling iotest logging functions or messing
around with PYTHONPATH / MYPYPATH.

iotest 297 continues to operate in a standalone fashion for now --
presumably, it's convenient for block maintainers and contributors to
run in this manner.

See the following commit for how this is used from the Python packaging side.

Signed-off-by: John Snow <jsnow@redhat.com>
---
 tests/qemu-iotests/linters.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tests/qemu-iotests/linters.py b/tests/qemu-iotests/linters.py
index 6fa7ba2d22..1bbcfd1088 100755
--- a/tests/qemu-iotests/linters.py
+++ b/tests/qemu-iotests/linters.py
@@ -115,3 +115,16 @@ def run_linters(
             print(p.stdout)
 
     return ret
+
+
+def main() -> int:
+    """
+    Used by the Python CI system as an entry point to run these linters.
+    """
+    directory = os.path.dirname(os.path.realpath(__file__))
+    files = get_test_files(directory)
+    return run_linters(files, directory)
+
+
+if __name__ == '__main__':
+    sys.exit(main())
-- 
2.31.1



  parent reply	other threads:[~2021-06-25 18:27 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-25 18:20 [PATCH 00/10] python/iotests: Run iotest linters during Python CI John Snow
2021-06-25 18:20 ` [PATCH 01/10] iotests/297: modify is_python_file to work from any CWD John Snow
2021-07-06  8:52   ` Vladimir Sementsov-Ogievskiy
2021-06-25 18:20 ` [PATCH 02/10] iotests/297: Add get_files() function John Snow
2021-07-06  9:01   ` Vladimir Sementsov-Ogievskiy
2021-07-20 15:16     ` John Snow
2021-06-25 18:20 ` [PATCH 03/10] iotests/297: Don't rely on distro-specific linter binaries John Snow
2021-07-06  9:04   ` Vladimir Sementsov-Ogievskiy
2021-06-25 18:20 ` [PATCH 04/10] iotests/297: Create main() function John Snow
2021-07-06  9:32   ` Vladimir Sementsov-Ogievskiy
2021-06-25 18:20 ` [PATCH 05/10] iotests/297: Separate environment setup from test execution John Snow
2021-07-06  9:35   ` Vladimir Sementsov-Ogievskiy
2021-06-25 18:20 ` [PATCH 06/10] iotests/297: Add 'directory' argument to run_linters John Snow
2021-07-06  9:37   ` Vladimir Sementsov-Ogievskiy
2021-06-25 18:20 ` [PATCH 07/10] iotests/297: return error code from run_linters() John Snow
2021-07-06  9:49   ` Vladimir Sementsov-Ogievskiy
2021-07-12 23:56     ` John Snow
2021-07-13  9:31       ` Vladimir Sementsov-Ogievskiy
2021-07-13  9:44   ` Vladimir Sementsov-Ogievskiy
2021-07-20 15:50     ` John Snow
2021-06-25 18:20 ` [PATCH 08/10] iotests/297: split linters.py off from 297 John Snow
2021-07-13  9:46   ` Vladimir Sementsov-Ogievskiy
2021-06-25 18:20 ` John Snow [this message]
2021-07-13  9:48   ` [PATCH 09/10] iotests/linters: Add entry point for Python CI linters Vladimir Sementsov-Ogievskiy
2021-06-25 18:20 ` [PATCH 10/10] python: Add iotest linters to test suite John Snow
2021-07-13  9:50   ` Vladimir Sementsov-Ogievskiy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210625182021.803227-10-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=armbru@redhat.com \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).