[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 07/10] iotests/297: return error code from run_linters()
From: |
John Snow |
Subject: |
[PATCH 07/10] iotests/297: return error code from run_linters() |
Date: |
Fri, 25 Jun 2021 14:20:18 -0400 |
This turns run_linters() into a bit of a hybrid test; returning non-zero
on failed execution while also printing diffable information. This is
done for the benefit of the avocado simple test runner, which will soon
be attempting to execute this test from a different environment.
(Note: universal_newlines is added to the pylint invocation for type
consistency with the mypy run -- it's not strictly necessary, but it
avoids some typing errors caused by our re-use of the 'p' variable.)
Signed-off-by: John Snow <jsnow@redhat.com>
---
tests/qemu-iotests/297 | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/297 b/tests/qemu-iotests/297
index 1e8334d1d4..7db1f9ed45 100755
--- a/tests/qemu-iotests/297
+++ b/tests/qemu-iotests/297
@@ -68,19 +68,22 @@ def run_linters(
files: List[str],
directory: str = '.',
env: Optional[Mapping[str, str]] = None,
-) -> None:
+) -> int:
+ ret = 0
print('=== pylint ===')
sys.stdout.flush()
# Todo notes are fine, but fixme's or xxx's should probably just be
# fixed (in tests, at least)
- subprocess.run(
+ p = subprocess.run(
('python3', '-m', 'pylint', '--score=n', '--notes=FIXME,XXX', *files),
cwd=directory,
env=env,
check=False,
+ universal_newlines=True,
)
+ ret += p.returncode
print('=== mypy ===')
sys.stdout.flush()
@@ -113,9 +116,12 @@ def run_linters(
universal_newlines=True
)
+ ret += p.returncode
if p.returncode != 0:
print(p.stdout)
+ return ret
+
def main() -> None:
for linter in ('pylint-3', 'mypy'):
--
2.31.1
- [PATCH 00/10] python/iotests: Run iotest linters during Python CI, John Snow, 2021/06/25
- [PATCH 04/10] iotests/297: Create main() function, John Snow, 2021/06/25
- [PATCH 05/10] iotests/297: Separate environment setup from test execution, John Snow, 2021/06/25
- [PATCH 03/10] iotests/297: Don't rely on distro-specific linter binaries, John Snow, 2021/06/25
- [PATCH 08/10] iotests/297: split linters.py off from 297, John Snow, 2021/06/25
- [PATCH 01/10] iotests/297: modify is_python_file to work from any CWD, John Snow, 2021/06/25
- [PATCH 02/10] iotests/297: Add get_files() function, John Snow, 2021/06/25
- [PATCH 07/10] iotests/297: return error code from run_linters(),
John Snow <=
- [PATCH 10/10] python: Add iotest linters to test suite, John Snow, 2021/06/25
- [PATCH 09/10] iotests/linters: Add entry point for Python CI linters, John Snow, 2021/06/25
- [PATCH 06/10] iotests/297: Add 'directory' argument to run_linters, John Snow, 2021/06/25