* [igt-dev] [PATCH i-g-t v3 0/4] ./scripts/igt_doc.py: speedup check logic
@ 2023-04-13 9:21 Mauro Carvalho Chehab
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 1/4] scripts/igt_doc.py: cleanup some pylint warnings Mauro Carvalho Chehab
` (5 more replies)
0 siblings, 6 replies; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-13 9:21 UTC (permalink / raw)
To: igt-dev
From: Mauro Carvalho Chehab <mchehab@kernel.org>
From: Mauro Carvalho Chehab <mchehab@kernel.org>
The logic which checks for missing/obsolete documentation is too
slow. Currently, on my notebook it takes 12 seconds:
$ time ./scripts/igt_doc.py --check --config tests/xe/xe_*json
real 0m12.085s
user 0m10.468s
sys 0m1.457s
Implent it on a different way, in order to speedup the build process.
After the change, it now takes less than 500ms:
$ time ./scripts/igt_doc.py --check --config tests/xe/xe_*json
real 0m0.460s
user 0m0.357s
sys 0m0.102s
It should be noticed that it is possible to speed it up even
further by running:
build/tests/* --list-subtests
tasks in parallel. I did some tests: the improvements weren't so
relevant on my notebook with 8 CPUs, and, on my tests with python 3.11
it seemed a little too fragile when using multithreading, as it was not
hard to mess with it, not having threads or subprocess forks not
happening, and without triggering an error.
As the benefit of such optimization was marginal, let's avoid the
additional complexity of multithreading.
---
v4:
- added a patch to disable Sphinx build by default, reducing
even further the build time with the defaults.
Mauro Carvalho Chehab (4):
scripts/igt_doc.py: cleanup some pylint warnings
scripts/igt_doc.py: don't depend on igt_runner anymore
scripts/test_list.py: use a compiled regex for check
meson_options.txt: disable Sphinx by default
docs/testplan/meson.build | 7 ++--
meson_options.txt | 1 +
scripts/igt_doc.py | 11 +++---
scripts/test_list.py | 73 ++++++++++++++++++++++++++-------------
4 files changed, 56 insertions(+), 36 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 13+ messages in thread
* [igt-dev] [PATCH i-g-t v3 1/4] scripts/igt_doc.py: cleanup some pylint warnings
2023-04-13 9:21 [igt-dev] [PATCH i-g-t v3 0/4] ./scripts/igt_doc.py: speedup check logic Mauro Carvalho Chehab
@ 2023-04-13 9:21 ` Mauro Carvalho Chehab
2023-04-13 13:06 ` Kamil Konieczny
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 2/4] scripts/igt_doc.py: don't depend on igt_runner anymore Mauro Carvalho Chehab
` (4 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-13 9:21 UTC (permalink / raw)
To: igt-dev
From: Mauro Carvalho Chehab <mchehab@kernel.org>
Ensure that pylint won't report any issues on igt_doc.py.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
scripts/igt_doc.py | 1 +
scripts/test_list.py | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/scripts/igt_doc.py b/scripts/igt_doc.py
index 547cb81bce02..8fa5af15033e 100755
--- a/scripts/igt_doc.py
+++ b/scripts/igt_doc.py
@@ -11,6 +11,7 @@
"""Maintain test plan and test implementation documentation on IGT."""
import argparse
+import sys
from test_list import TestList
diff --git a/scripts/test_list.py b/scripts/test_list.py
index 6af1914822a3..d1b9a2794967 100755
--- a/scripts/test_list.py
+++ b/scripts/test_list.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# pylint: disable=C0301,R0902,R0914,R0912,R0915,R1702,C0302
+# pylint: disable=C0301,R0902,R0914,R0912,R0913,R0915,R1702,C0302
# SPDX-License-Identifier: (GPL-2.0 OR MIT)
## Copyright (C) 2023 Intel Corporation ##
@@ -394,7 +394,7 @@ class TestList:
for subtest in self.doc[test]["subtest"].keys():
summary = test_name
if self.doc[test]["subtest"][subtest]["Summary"] != '':
- summary += '@' + self.doc[test]["subtest"][subtest]["Summary"]
+ summary += '@' + self.doc[test]["subtest"][subtest]["Summary"]
if not summary:
continue
--
2.39.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [igt-dev] [PATCH i-g-t v3 2/4] scripts/igt_doc.py: don't depend on igt_runner anymore
2023-04-13 9:21 [igt-dev] [PATCH i-g-t v3 0/4] ./scripts/igt_doc.py: speedup check logic Mauro Carvalho Chehab
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 1/4] scripts/igt_doc.py: cleanup some pylint warnings Mauro Carvalho Chehab
@ 2023-04-13 9:21 ` Mauro Carvalho Chehab
2023-04-13 13:07 ` Kamil Konieczny
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 3/4] scripts/test_list.py: use a compiled regex for check Mauro Carvalho Chehab
` (3 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-13 9:21 UTC (permalink / raw)
To: igt-dev
From: Mauro Carvalho Chehab <mchehab@kernel.org>
There's no need to actually call IGT runner to get test lists.
Remove such dependency, in order to speedup --check.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
docs/testplan/meson.build | 7 ++----
scripts/igt_doc.py | 10 +++-----
scripts/test_list.py | 53 ++++++++++++++++++++++++++-------------
3 files changed, 41 insertions(+), 29 deletions(-)
diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
index ea9f6eeb7038..3347f61876ef 100644
--- a/docs/testplan/meson.build
+++ b/docs/testplan/meson.build
@@ -11,11 +11,8 @@ xe_test_config = join_paths(source_root, 'tests', 'xe', 'xe_test_config.json')
check_testlist = []
if build_tests
doc_dependencies = test_executables
- if jsonc.found()
- # Check if documentation matches the actual tests
- check_testlist = [ '--check-testlist', '--igt-build-path', build_root ]
- doc_dependencies += runner
- endif
+ # Check if documentation matches the actual tests
+ check_testlist = [ '--check-testlist', '--igt-build-path', build_root ]
else
doc_dependencies = []
endif
diff --git a/scripts/igt_doc.py b/scripts/igt_doc.py
index 8fa5af15033e..01df35f98ace 100755
--- a/scripts/igt_doc.py
+++ b/scripts/igt_doc.py
@@ -16,7 +16,6 @@ import sys
from test_list import TestList
IGT_BUILD_PATH = 'build'
-IGT_RUNNER = 'runner/igt_runner'
parser = argparse.ArgumentParser(description = "Print formatted kernel documentation to stdout.",
formatter_class = argparse.ArgumentDefaultsHelpFormatter,
@@ -36,24 +35,21 @@ parser.add_argument("--sort-field",
parser.add_argument("--filter-field",
help="modify --show-subtests to filter output based a regex given by FILTER_FIELD=~'regex'")
parser.add_argument("--check-testlist", action="store_true",
- help="Compare documentation against IGT runner testlist.")
+ help="Compare documentation against IGT built tests.")
parser.add_argument("--include-plan", action="store_true",
help="Include test plans, if any.")
parser.add_argument("--igt-build-path",
- help="Path where the IGT runner is sitting. Used by --check-testlist.",
+ help="Path to the IGT build directory. Used by --check-testlist.",
default=IGT_BUILD_PATH)
parser.add_argument("--gen-testlist",
help="Generate documentation at the GEN_TESTLIST directory, using SORT_FIELD to split the tests. Requires --sort-field.")
-parser.add_argument("--igt-runner",
- help="Path where the IGT runner is sitting. Used by --check-testlist.",
- default=IGT_RUNNER)
parser.add_argument('--files', nargs='+',
help="File name(s) to be processed")
parse_args = parser.parse_args()
tests = TestList(parse_args.config, parse_args.include_plan, parse_args.files,
- parse_args.igt_build_path, parse_args.igt_runner)
+ parse_args.igt_build_path)
RUN = 0
if parse_args.show_subtests:
diff --git a/scripts/test_list.py b/scripts/test_list.py
index d1b9a2794967..287351e717b3 100755
--- a/scripts/test_list.py
+++ b/scripts/test_list.py
@@ -245,7 +245,7 @@ class TestList:
"""
def __init__(self, config_fname, include_plan = False, file_list = False,
- igt_build_path = None, igt_runner = None):
+ igt_build_path = None):
self.doc = {}
self.test_number = 0
self.config = None
@@ -254,7 +254,6 @@ class TestList:
self.props = {}
self.config_fname = config_fname
self.igt_build_path = igt_build_path
- self.igt_runner = igt_runner
self.level_count = 0
self.field_list = {}
self.title = None
@@ -766,6 +765,38 @@ class TestList:
return subtests
+ def __get_testlist(self, name):
+ match = re.match(r"(.*/)?(.*)\.c$", name)
+ if not match:
+ return []
+
+ basename = "igt@" + match.group(2)
+
+ fname = os.path.join(self.igt_build_path, "tests", match.group(2))
+ if not os.path.isfile(fname):
+ print(f"Error: file {fname} doesn't exist.")
+ sys.exit(1)
+ try:
+ result = subprocess.run([ fname, "--list-subtests" ],
+ check = True,
+ stdout = subprocess.PIPE,
+ universal_newlines=True)
+ subtests = result.stdout.splitlines()
+
+ return [basename + "@" + i for i in subtests]
+ except subprocess.CalledProcessError:
+ # Handle it as a test using igt_simple_main
+ return [basename]
+
+ def get_testlist(self):
+
+ """ Return a list of tests as reported by --list-subtests """
+ tests = []
+ for name in self.filenames:
+ tests += self.__get_testlist(name)
+
+ return sorted(tests)
+
#
# Validation methods
#
@@ -773,28 +804,16 @@ class TestList:
"""Compare documented subtests with the IGT test list"""
- if not self.igt_build_path or not self.igt_runner:
- sys.exit("Need the IGT build path and igt_runner executable file name")
+ if not self.igt_build_path:
+ sys.exit("Need the IGT build path")
doc_subtests = sorted(self.get_subtests()[""])
for i in range(0, len(doc_subtests)): # pylint: disable=C0200
doc_subtests[i] = re.sub(r'\<[^\>]+\>', r'\\d+', doc_subtests[i])
- test_prefix = os.path.commonprefix(doc_subtests)
-
# Get a list of tests from
- try:
- result = subprocess.run([ f"{self.igt_build_path}/{self.igt_runner}",
- "-L", "-t", test_prefix,
- f"{self.igt_build_path}/tests"], check = True,
- stdout=subprocess.PIPE, universal_newlines=True)
- except subprocess.CalledProcessError as sub_err:
- print(sub_err.stderr)
- print("Error:", sub_err)
- sys.exit(1)
-
- run_subtests = sorted(result.stdout.splitlines())
+ run_subtests = self.get_testlist()
# Compare arrays
--
2.39.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [igt-dev] [PATCH i-g-t v3 3/4] scripts/test_list.py: use a compiled regex for check
2023-04-13 9:21 [igt-dev] [PATCH i-g-t v3 0/4] ./scripts/igt_doc.py: speedup check logic Mauro Carvalho Chehab
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 1/4] scripts/igt_doc.py: cleanup some pylint warnings Mauro Carvalho Chehab
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 2/4] scripts/igt_doc.py: don't depend on igt_runner anymore Mauro Carvalho Chehab
@ 2023-04-13 9:21 ` Mauro Carvalho Chehab
2023-04-13 13:08 ` Kamil Konieczny
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 4/4] meson_options.txt: disable Sphinx by default Mauro Carvalho Chehab
` (2 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-13 9:21 UTC (permalink / raw)
To: igt-dev
From: Mauro Carvalho Chehab <mchehab@kernel.org>
Speed up even further the logic for --check-testlist by
pre-compiling the regex that will be used to validate the
results.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
scripts/test_list.py | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/scripts/test_list.py b/scripts/test_list.py
index 287351e717b3..96d8883db122 100755
--- a/scripts/test_list.py
+++ b/scripts/test_list.py
@@ -820,10 +820,18 @@ class TestList:
run_missing = []
doc_uneeded = []
+ test_regex = r""
+ for doc_test in doc_subtests:
+ if test_regex != r"":
+ test_regex += r"|"
+ test_regex += r'^' + doc_test + r'$'
+
+ test_regex = re.compile(test_regex)
+
for doc_test in doc_subtests:
found = False
for run_test in run_subtests:
- if re.match(r'^' + doc_test + r'$', run_test):
+ if re.match(test_regex, run_test):
found = True
break
if not found:
@@ -831,10 +839,8 @@ class TestList:
for run_test in run_subtests:
found = False
- for doc_test in doc_subtests:
- if re.match(r'^' + doc_test + r'$', run_test):
- found = True
- break
+ if re.match(test_regex, run_test):
+ found = True
if not found:
run_missing.append(run_test)
--
2.39.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [igt-dev] [PATCH i-g-t v3 4/4] meson_options.txt: disable Sphinx by default
2023-04-13 9:21 [igt-dev] [PATCH i-g-t v3 0/4] ./scripts/igt_doc.py: speedup check logic Mauro Carvalho Chehab
` (2 preceding siblings ...)
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 3/4] scripts/test_list.py: use a compiled regex for check Mauro Carvalho Chehab
@ 2023-04-13 9:21 ` Mauro Carvalho Chehab
2023-04-13 10:10 ` Kamil Konieczny
2023-04-21 15:37 ` Kamil Konieczny
2023-04-13 10:34 ` [igt-dev] ✓ Fi.CI.BAT: success for ./scripts/igt_doc.py: speedup check logic Patchwork
2023-04-13 12:01 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
5 siblings, 2 replies; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-13 9:21 UTC (permalink / raw)
To: igt-dev
From: Mauro Carvalho Chehab <mchehab@kernel.org>
Building IGT with Sphinx enabled and rst2pdf installed takes:
$ touch tests/xe/xe_compute.c
$ time ninja -C build
...
real 0m10.545s
user 0m13.778s
sys 0m0.724s
With Sphinx disabled, the same build is a lot faster:
$ touch tests/xe/xe_compute.c
$ time ninja -C build
...
real 0m1.746s
user 0m1.574s
sys 0m0.171s
As Sphinx and PDF outputs aren't something that every single
IGT developer would need, let's speedup the build by disabling
it by default.
Test plan and test documentation validation will still run,
as this is a necessary step to validate if the tests documentation
were not broken on a patch, but this will save some time during
normal builds.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
meson_options.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/meson_options.txt b/meson_options.txt
index d4e373d6cfc4..2cb44f20169b 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -26,6 +26,7 @@ option('testplan',
option('sphinx',
type : 'feature',
+ value : 'disabled',
description : 'Build testplan documentation using Sphinx')
option('docs',
--
2.39.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 4/4] meson_options.txt: disable Sphinx by default
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 4/4] meson_options.txt: disable Sphinx by default Mauro Carvalho Chehab
@ 2023-04-13 10:10 ` Kamil Konieczny
2023-04-13 13:24 ` Mauro Carvalho Chehab
2023-04-21 15:37 ` Kamil Konieczny
1 sibling, 1 reply; 13+ messages in thread
From: Kamil Konieczny @ 2023-04-13 10:10 UTC (permalink / raw)
To: igt-dev
Hi Mauro,
On 2023-04-13 at 11:21:59 +0200, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
>
> Building IGT with Sphinx enabled and rst2pdf installed takes:
>
> $ touch tests/xe/xe_compute.c
> $ time ninja -C build
>
> ...
>
> real 0m10.545s
> user 0m13.778s
> sys 0m0.724s
>
> With Sphinx disabled, the same build is a lot faster:
>
> $ touch tests/xe/xe_compute.c
> $ time ninja -C build
>
> ...
>
> real 0m1.746s
> user 0m1.574s
> sys 0m0.171s
>
> As Sphinx and PDF outputs aren't something that every single
> IGT developer would need, let's speedup the build by disabling
> it by default.
imho this may require a change in our building pipeline so
+cc Petri.
Regards,
Kamil
>
> Test plan and test documentation validation will still run,
> as this is a necessary step to validate if the tests documentation
> were not broken on a patch, but this will save some time during
> normal builds.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
> meson_options.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/meson_options.txt b/meson_options.txt
> index d4e373d6cfc4..2cb44f20169b 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -26,6 +26,7 @@ option('testplan',
>
> option('sphinx',
> type : 'feature',
> + value : 'disabled',
> description : 'Build testplan documentation using Sphinx')
>
> option('docs',
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for ./scripts/igt_doc.py: speedup check logic
2023-04-13 9:21 [igt-dev] [PATCH i-g-t v3 0/4] ./scripts/igt_doc.py: speedup check logic Mauro Carvalho Chehab
` (3 preceding siblings ...)
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 4/4] meson_options.txt: disable Sphinx by default Mauro Carvalho Chehab
@ 2023-04-13 10:34 ` Patchwork
2023-04-13 12:01 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
5 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2023-04-13 10:34 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 5147 bytes --]
== Series Details ==
Series: ./scripts/igt_doc.py: speedup check logic
URL : https://patchwork.freedesktop.org/series/116430/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12999 -> IGTPW_8798
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/index.html
Participating hosts (37 -> 36)
------------------------------
Missing (1): fi-snb-2520m
Known issues
------------
Here are the changes found in IGTPW_8798 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@migrate:
- bat-adlp-6: [PASS][1] -> [DMESG-FAIL][2] ([i915#7699])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/bat-adlp-6/igt@i915_selftest@live@migrate.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/bat-adlp-6/igt@i915_selftest@live@migrate.html
* igt@kms_chamelium_hpd@common-hpd-after-suspend:
- bat-rpls-1: NOTRUN -> [SKIP][3] ([i915#7828])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/bat-rpls-1/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
* igt@kms_force_connector_basic@force-connector-state:
- fi-bsw-nick: [PASS][4] -> [ABORT][5] ([i915#8139])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/fi-bsw-nick/igt@kms_force_connector_basic@force-connector-state.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/fi-bsw-nick/igt@kms_force_connector_basic@force-connector-state.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: NOTRUN -> [SKIP][6] ([i915#5354])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
* igt@kms_pipe_crc_basic@read-crc:
- bat-adlp-9: NOTRUN -> [SKIP][7] ([i915#3546]) +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc.html
* igt@kms_pipe_crc_basic@suspend-read-crc:
- bat-rpls-1: NOTRUN -> [SKIP][8] ([i915#1845])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/bat-rpls-1/igt@kms_pipe_crc_basic@suspend-read-crc.html
#### Possible fixes ####
* igt@gem_exec_suspend@basic-s3@smem:
- bat-rpls-1: [ABORT][9] ([i915#6687] / [i915#7978]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html
* igt@i915_selftest@live@migrate:
- bat-dg2-11: [DMESG-WARN][11] ([i915#7699]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/bat-dg2-11/igt@i915_selftest@live@migrate.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/bat-dg2-11/igt@i915_selftest@live@migrate.html
* igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1:
- bat-dg2-8: [FAIL][13] ([i915#7932]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html
#### Warnings ####
* igt@i915_selftest@live@slpc:
- bat-rpls-2: [DMESG-FAIL][15] ([i915#6367] / [i915#7913] / [i915#7996]) -> [DMESG-FAIL][16] ([i915#6997] / [i915#7913])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/bat-rpls-2/igt@i915_selftest@live@slpc.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/bat-rpls-2/igt@i915_selftest@live@slpc.html
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
[i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997
[i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
[i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978
[i915#7996]: https://gitlab.freedesktop.org/drm/intel/issues/7996
[i915#8139]: https://gitlab.freedesktop.org/drm/intel/issues/8139
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7253 -> IGTPW_8798
CI-20190529: 20190529
CI_DRM_12999: 10a071db6707a1aedbfc9fa7aece52f3ef7e31a4 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8798: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/index.html
IGT_7253: 1a619e8dbc6ca887f2ae24b2d7f1ac536342f58c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/index.html
[-- Attachment #2: Type: text/html, Size: 6109 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for ./scripts/igt_doc.py: speedup check logic
2023-04-13 9:21 [igt-dev] [PATCH i-g-t v3 0/4] ./scripts/igt_doc.py: speedup check logic Mauro Carvalho Chehab
` (4 preceding siblings ...)
2023-04-13 10:34 ` [igt-dev] ✓ Fi.CI.BAT: success for ./scripts/igt_doc.py: speedup check logic Patchwork
@ 2023-04-13 12:01 ` Patchwork
5 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2023-04-13 12:01 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 15379 bytes --]
== Series Details ==
Series: ./scripts/igt_doc.py: speedup check logic
URL : https://patchwork.freedesktop.org/series/116430/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12999_full -> IGTPW_8798_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/index.html
Participating hosts (7 -> 7)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in IGTPW_8798_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [PASS][1] -> [SKIP][2] ([fdo#109271])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-apl1/igt@i915_pm_dc@dc9-dpms.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-apl7/igt@i915_pm_dc@dc9-dpms.html
* igt@i915_selftest@live@gt_heartbeat:
- shard-glk: [PASS][3] -> [DMESG-FAIL][4] ([i915#5334])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-glk7/igt@i915_selftest@live@gt_heartbeat.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-glk7/igt@i915_selftest@live@gt_heartbeat.html
* igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs:
- shard-apl: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#3886])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-apl4/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a1:
- shard-glk: [PASS][6] -> [FAIL][7] ([i915#79])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-glk2/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a1.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-glk3/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a1.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-apl: NOTRUN -> [SKIP][8] ([fdo#109271]) +27 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-apl6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
#### Possible fixes ####
* igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
- {shard-rkl}: [FAIL][9] ([i915#7742]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-rkl-7/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-rkl-6/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
* igt@gem_barrier_race@remote-request@rcs0:
- shard-apl: [ABORT][11] ([i915#8211] / [i915#8234]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-apl4/igt@gem_barrier_race@remote-request@rcs0.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-apl7/igt@gem_barrier_race@remote-request@rcs0.html
* igt@gem_eio@unwedge-stress:
- {shard-dg1}: [FAIL][13] ([i915#5784]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-dg1-15/igt@gem_eio@unwedge-stress.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-dg1-18/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_fair@basic-none@bcs0:
- {shard-rkl}: [FAIL][15] ([i915#2842]) -> [PASS][16] +2 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-rkl-1/igt@gem_exec_fair@basic-none@bcs0.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-rkl-6/igt@gem_exec_fair@basic-none@bcs0.html
* igt@gen9_exec_parse@allowed-single:
- shard-apl: [ABORT][17] ([i915#5566]) -> [PASS][18]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-apl4/igt@gen9_exec_parse@allowed-single.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-apl3/igt@gen9_exec_parse@allowed-single.html
* igt@i915_pm_rc6_residency@rc6-idle@bcs0:
- {shard-dg1}: [FAIL][19] ([i915#3591]) -> [PASS][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
* igt@i915_pm_rpm@modeset-lpsp-stress:
- {shard-rkl}: [SKIP][21] ([i915#1397]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-rkl-3/igt@i915_pm_rpm@modeset-lpsp-stress.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-rkl-7/igt@i915_pm_rpm@modeset-lpsp-stress.html
* igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2:
- shard-glk: [FAIL][23] ([i915#79]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-glk3/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-glk9/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html
* igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes:
- {shard-tglu}: [ABORT][25] ([i915#5122]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-tglu-8/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-tglu-8/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html
* igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes:
- {shard-tglu}: [DMESG-WARN][27] ([i915#5122]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-tglu-8/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-tglu-8/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html
* igt@kms_plane_scaling@i915-max-src-size@pipe-a-hdmi-a-1:
- {shard-tglu}: [FAIL][29] ([i915#8292]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12999/shard-tglu-9/igt@kms_plane_scaling@i915-max-src-size@pipe-a-hdmi-a-1.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/shard-tglu-2/igt@kms_plane_scaling@i915-max-src-size@pipe-a-hdmi-a-1.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
[fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
[fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
[i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936
[i915#3938]: https://gitlab.freedesktop.org/drm/intel/issues/3938
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
[i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
[i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
[i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
[i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
[i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
[i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
[i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
[i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
[i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
[i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#8155]: https://gitlab.freedesktop.org/drm/intel/issues/8155
[i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211
[i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234
[i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
[i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7253 -> IGTPW_8798
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_12999: 10a071db6707a1aedbfc9fa7aece52f3ef7e31a4 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8798: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/index.html
IGT_7253: 1a619e8dbc6ca887f2ae24b2d7f1ac536342f58c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8798/index.html
[-- Attachment #2: Type: text/html, Size: 9325 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 1/4] scripts/igt_doc.py: cleanup some pylint warnings
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 1/4] scripts/igt_doc.py: cleanup some pylint warnings Mauro Carvalho Chehab
@ 2023-04-13 13:06 ` Kamil Konieczny
0 siblings, 0 replies; 13+ messages in thread
From: Kamil Konieczny @ 2023-04-13 13:06 UTC (permalink / raw)
To: igt-dev
On 2023-04-13 at 11:21:56 +0200, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
>
> Ensure that pylint won't report any issues on igt_doc.py.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> ---
> scripts/igt_doc.py | 1 +
> scripts/test_list.py | 4 ++--
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/igt_doc.py b/scripts/igt_doc.py
> index 547cb81bce02..8fa5af15033e 100755
> --- a/scripts/igt_doc.py
> +++ b/scripts/igt_doc.py
> @@ -11,6 +11,7 @@
> """Maintain test plan and test implementation documentation on IGT."""
>
> import argparse
> +import sys
>
> from test_list import TestList
>
> diff --git a/scripts/test_list.py b/scripts/test_list.py
> index 6af1914822a3..d1b9a2794967 100755
> --- a/scripts/test_list.py
> +++ b/scripts/test_list.py
> @@ -1,5 +1,5 @@
> #!/usr/bin/env python3
> -# pylint: disable=C0301,R0902,R0914,R0912,R0915,R1702,C0302
> +# pylint: disable=C0301,R0902,R0914,R0912,R0913,R0915,R1702,C0302
> # SPDX-License-Identifier: (GPL-2.0 OR MIT)
>
> ## Copyright (C) 2023 Intel Corporation ##
> @@ -394,7 +394,7 @@ class TestList:
> for subtest in self.doc[test]["subtest"].keys():
> summary = test_name
> if self.doc[test]["subtest"][subtest]["Summary"] != '':
> - summary += '@' + self.doc[test]["subtest"][subtest]["Summary"]
> + summary += '@' + self.doc[test]["subtest"][subtest]["Summary"]
> if not summary:
> continue
>
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 2/4] scripts/igt_doc.py: don't depend on igt_runner anymore
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 2/4] scripts/igt_doc.py: don't depend on igt_runner anymore Mauro Carvalho Chehab
@ 2023-04-13 13:07 ` Kamil Konieczny
0 siblings, 0 replies; 13+ messages in thread
From: Kamil Konieczny @ 2023-04-13 13:07 UTC (permalink / raw)
To: igt-dev
On 2023-04-13 at 11:21:57 +0200, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
>
> There's no need to actually call IGT runner to get test lists.
>
> Remove such dependency, in order to speedup --check.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> ---
> docs/testplan/meson.build | 7 ++----
> scripts/igt_doc.py | 10 +++-----
> scripts/test_list.py | 53 ++++++++++++++++++++++++++-------------
> 3 files changed, 41 insertions(+), 29 deletions(-)
>
> diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
> index ea9f6eeb7038..3347f61876ef 100644
> --- a/docs/testplan/meson.build
> +++ b/docs/testplan/meson.build
> @@ -11,11 +11,8 @@ xe_test_config = join_paths(source_root, 'tests', 'xe', 'xe_test_config.json')
> check_testlist = []
> if build_tests
> doc_dependencies = test_executables
> - if jsonc.found()
> - # Check if documentation matches the actual tests
> - check_testlist = [ '--check-testlist', '--igt-build-path', build_root ]
> - doc_dependencies += runner
> - endif
> + # Check if documentation matches the actual tests
> + check_testlist = [ '--check-testlist', '--igt-build-path', build_root ]
> else
> doc_dependencies = []
> endif
> diff --git a/scripts/igt_doc.py b/scripts/igt_doc.py
> index 8fa5af15033e..01df35f98ace 100755
> --- a/scripts/igt_doc.py
> +++ b/scripts/igt_doc.py
> @@ -16,7 +16,6 @@ import sys
> from test_list import TestList
>
> IGT_BUILD_PATH = 'build'
> -IGT_RUNNER = 'runner/igt_runner'
>
> parser = argparse.ArgumentParser(description = "Print formatted kernel documentation to stdout.",
> formatter_class = argparse.ArgumentDefaultsHelpFormatter,
> @@ -36,24 +35,21 @@ parser.add_argument("--sort-field",
> parser.add_argument("--filter-field",
> help="modify --show-subtests to filter output based a regex given by FILTER_FIELD=~'regex'")
> parser.add_argument("--check-testlist", action="store_true",
> - help="Compare documentation against IGT runner testlist.")
> + help="Compare documentation against IGT built tests.")
> parser.add_argument("--include-plan", action="store_true",
> help="Include test plans, if any.")
> parser.add_argument("--igt-build-path",
> - help="Path where the IGT runner is sitting. Used by --check-testlist.",
> + help="Path to the IGT build directory. Used by --check-testlist.",
> default=IGT_BUILD_PATH)
> parser.add_argument("--gen-testlist",
> help="Generate documentation at the GEN_TESTLIST directory, using SORT_FIELD to split the tests. Requires --sort-field.")
> -parser.add_argument("--igt-runner",
> - help="Path where the IGT runner is sitting. Used by --check-testlist.",
> - default=IGT_RUNNER)
> parser.add_argument('--files', nargs='+',
> help="File name(s) to be processed")
>
> parse_args = parser.parse_args()
>
> tests = TestList(parse_args.config, parse_args.include_plan, parse_args.files,
> - parse_args.igt_build_path, parse_args.igt_runner)
> + parse_args.igt_build_path)
>
> RUN = 0
> if parse_args.show_subtests:
> diff --git a/scripts/test_list.py b/scripts/test_list.py
> index d1b9a2794967..287351e717b3 100755
> --- a/scripts/test_list.py
> +++ b/scripts/test_list.py
> @@ -245,7 +245,7 @@ class TestList:
> """
>
> def __init__(self, config_fname, include_plan = False, file_list = False,
> - igt_build_path = None, igt_runner = None):
> + igt_build_path = None):
> self.doc = {}
> self.test_number = 0
> self.config = None
> @@ -254,7 +254,6 @@ class TestList:
> self.props = {}
> self.config_fname = config_fname
> self.igt_build_path = igt_build_path
> - self.igt_runner = igt_runner
> self.level_count = 0
> self.field_list = {}
> self.title = None
> @@ -766,6 +765,38 @@ class TestList:
>
> return subtests
>
> + def __get_testlist(self, name):
> + match = re.match(r"(.*/)?(.*)\.c$", name)
> + if not match:
> + return []
> +
> + basename = "igt@" + match.group(2)
> +
> + fname = os.path.join(self.igt_build_path, "tests", match.group(2))
> + if not os.path.isfile(fname):
> + print(f"Error: file {fname} doesn't exist.")
> + sys.exit(1)
> + try:
> + result = subprocess.run([ fname, "--list-subtests" ],
> + check = True,
> + stdout = subprocess.PIPE,
> + universal_newlines=True)
> + subtests = result.stdout.splitlines()
> +
> + return [basename + "@" + i for i in subtests]
> + except subprocess.CalledProcessError:
> + # Handle it as a test using igt_simple_main
> + return [basename]
> +
> + def get_testlist(self):
> +
> + """ Return a list of tests as reported by --list-subtests """
> + tests = []
> + for name in self.filenames:
> + tests += self.__get_testlist(name)
> +
> + return sorted(tests)
> +
> #
> # Validation methods
> #
> @@ -773,28 +804,16 @@ class TestList:
>
> """Compare documented subtests with the IGT test list"""
>
> - if not self.igt_build_path or not self.igt_runner:
> - sys.exit("Need the IGT build path and igt_runner executable file name")
> + if not self.igt_build_path:
> + sys.exit("Need the IGT build path")
>
> doc_subtests = sorted(self.get_subtests()[""])
>
> for i in range(0, len(doc_subtests)): # pylint: disable=C0200
> doc_subtests[i] = re.sub(r'\<[^\>]+\>', r'\\d+', doc_subtests[i])
>
> - test_prefix = os.path.commonprefix(doc_subtests)
> -
> # Get a list of tests from
> - try:
> - result = subprocess.run([ f"{self.igt_build_path}/{self.igt_runner}",
> - "-L", "-t", test_prefix,
> - f"{self.igt_build_path}/tests"], check = True,
> - stdout=subprocess.PIPE, universal_newlines=True)
> - except subprocess.CalledProcessError as sub_err:
> - print(sub_err.stderr)
> - print("Error:", sub_err)
> - sys.exit(1)
> -
> - run_subtests = sorted(result.stdout.splitlines())
> + run_subtests = self.get_testlist()
>
> # Compare arrays
>
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 3/4] scripts/test_list.py: use a compiled regex for check
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 3/4] scripts/test_list.py: use a compiled regex for check Mauro Carvalho Chehab
@ 2023-04-13 13:08 ` Kamil Konieczny
0 siblings, 0 replies; 13+ messages in thread
From: Kamil Konieczny @ 2023-04-13 13:08 UTC (permalink / raw)
To: igt-dev
On 2023-04-13 at 11:21:58 +0200, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
>
> Speed up even further the logic for --check-testlist by
> pre-compiling the regex that will be used to validate the
> results.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> ---
> scripts/test_list.py | 16 +++++++++++-----
> 1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/scripts/test_list.py b/scripts/test_list.py
> index 287351e717b3..96d8883db122 100755
> --- a/scripts/test_list.py
> +++ b/scripts/test_list.py
> @@ -820,10 +820,18 @@ class TestList:
> run_missing = []
> doc_uneeded = []
>
> + test_regex = r""
> + for doc_test in doc_subtests:
> + if test_regex != r"":
> + test_regex += r"|"
> + test_regex += r'^' + doc_test + r'$'
> +
> + test_regex = re.compile(test_regex)
> +
> for doc_test in doc_subtests:
> found = False
> for run_test in run_subtests:
> - if re.match(r'^' + doc_test + r'$', run_test):
> + if re.match(test_regex, run_test):
> found = True
> break
> if not found:
> @@ -831,10 +839,8 @@ class TestList:
>
> for run_test in run_subtests:
> found = False
> - for doc_test in doc_subtests:
> - if re.match(r'^' + doc_test + r'$', run_test):
> - found = True
> - break
> + if re.match(test_regex, run_test):
> + found = True
> if not found:
> run_missing.append(run_test)
>
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 4/4] meson_options.txt: disable Sphinx by default
2023-04-13 10:10 ` Kamil Konieczny
@ 2023-04-13 13:24 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-13 13:24 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, Petri Latvala
On 4/13/23 12:10, Kamil Konieczny wrote:
> Hi Mauro,
>
> On 2023-04-13 at 11:21:59 +0200, Mauro Carvalho Chehab wrote:
>> From: Mauro Carvalho Chehab <mchehab@kernel.org>
>>
>> Building IGT with Sphinx enabled and rst2pdf installed takes:
>>
>> $ touch tests/xe/xe_compute.c
>> $ time ninja -C build
>>
>> ...
>>
>> real 0m10.545s
>> user 0m13.778s
>> sys 0m0.724s
>>
>> With Sphinx disabled, the same build is a lot faster:
>>
>> $ touch tests/xe/xe_compute.c
>> $ time ninja -C build
>>
>> ...
>>
>> real 0m1.746s
>> user 0m1.574s
>> sys 0m0.171s
>>
>> As Sphinx and PDF outputs aren't something that every single
>> IGT developer would need, let's speedup the build by disabling
>> it by default.
> imho this may require a change in our building pipeline so
> +cc Petri.
Ok. I applied the first three patches. I'll wait for an ack on this one.
Regards,
Mauro
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 4/4] meson_options.txt: disable Sphinx by default
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 4/4] meson_options.txt: disable Sphinx by default Mauro Carvalho Chehab
2023-04-13 10:10 ` Kamil Konieczny
@ 2023-04-21 15:37 ` Kamil Konieczny
1 sibling, 0 replies; 13+ messages in thread
From: Kamil Konieczny @ 2023-04-21 15:37 UTC (permalink / raw)
To: igt-dev
On 2023-04-13 at 11:21:59 +0200, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
>
> Building IGT with Sphinx enabled and rst2pdf installed takes:
>
> $ touch tests/xe/xe_compute.c
> $ time ninja -C build
>
> ...
>
> real 0m10.545s
> user 0m13.778s
> sys 0m0.724s
>
> With Sphinx disabled, the same build is a lot faster:
>
> $ touch tests/xe/xe_compute.c
> $ time ninja -C build
>
> ...
>
> real 0m1.746s
> user 0m1.574s
> sys 0m0.171s
>
> As Sphinx and PDF outputs aren't something that every single
> IGT developer would need, let's speedup the build by disabling
> it by default.
>
> Test plan and test documentation validation will still run,
> as this is a necessary step to validate if the tests documentation
> were not broken on a patch, but this will save some time during
> normal builds.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> ---
> meson_options.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/meson_options.txt b/meson_options.txt
> index d4e373d6cfc4..2cb44f20169b 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -26,6 +26,7 @@ option('testplan',
>
> option('sphinx',
> type : 'feature',
> + value : 'disabled',
> description : 'Build testplan documentation using Sphinx')
>
> option('docs',
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2023-04-21 15:37 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-13 9:21 [igt-dev] [PATCH i-g-t v3 0/4] ./scripts/igt_doc.py: speedup check logic Mauro Carvalho Chehab
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 1/4] scripts/igt_doc.py: cleanup some pylint warnings Mauro Carvalho Chehab
2023-04-13 13:06 ` Kamil Konieczny
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 2/4] scripts/igt_doc.py: don't depend on igt_runner anymore Mauro Carvalho Chehab
2023-04-13 13:07 ` Kamil Konieczny
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 3/4] scripts/test_list.py: use a compiled regex for check Mauro Carvalho Chehab
2023-04-13 13:08 ` Kamil Konieczny
2023-04-13 9:21 ` [igt-dev] [PATCH i-g-t v3 4/4] meson_options.txt: disable Sphinx by default Mauro Carvalho Chehab
2023-04-13 10:10 ` Kamil Konieczny
2023-04-13 13:24 ` Mauro Carvalho Chehab
2023-04-21 15:37 ` Kamil Konieczny
2023-04-13 10:34 ` [igt-dev] ✓ Fi.CI.BAT: success for ./scripts/igt_doc.py: speedup check logic Patchwork
2023-04-13 12:01 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox