Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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