[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 15/17] iotests/linters: Add entry point for Python CI linters
From: |
John Snow |
Subject: |
[PATCH v2 15/17] iotests/linters: Add entry point for Python CI linters |
Date: |
Tue, 20 Jul 2021 13:33:34 -0400 |
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>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.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 e7e8baded02..242cb9c3e69 100755
--- a/tests/qemu-iotests/linters.py
+++ b/tests/qemu-iotests/linters.py
@@ -119,3 +119,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
- [PATCH v2 05/17] iotests/migrate-bitmaps-test: delint, (continued)
- [PATCH v2 05/17] iotests/migrate-bitmaps-test: delint, John Snow, 2021/07/20
- [PATCH v2 07/17] iotests/297: Add get_files() function, John Snow, 2021/07/20
- [PATCH v2 08/17] iotests/297: Include sub-directories when finding tests to lint, John Snow, 2021/07/20
- [PATCH v2 09/17] iotests/297: Don't rely on distro-specific linter binaries, John Snow, 2021/07/20
- [PATCH v2 11/17] iotests/297: Separate environment setup from test execution, John Snow, 2021/07/20
- [PATCH v2 10/17] iotests/297: Create main() function, John Snow, 2021/07/20
- [PATCH v2 13/17] iotests/297: return error code from run_linters(), John Snow, 2021/07/20
- [PATCH v2 12/17] iotests/297: Add 'directory' argument to run_linters, John Snow, 2021/07/20
- [PATCH v2 14/17] iotests/297: split linters.py off from 297, John Snow, 2021/07/20
- [PATCH v2 15/17] iotests/linters: Add entry point for Python CI linters,
John Snow <=
- [PATCH v2 16/17] python: Add iotest linters to test suite, John Snow, 2021/07/20
- [PATCH v2 17/17] iotests/linters: check mypy files all at once, John Snow, 2021/07/20
- Re: [PATCH v2 00/17] python/iotests: Run iotest linters during Python CI, John Snow, 2021/07/20