All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation
@ 2023-03-22  8:28 Mauro Carvalho Chehab
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 1/8] meson: build " Mauro Carvalho Chehab
                   ` (9 more replies)
  0 siblings, 10 replies; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  8:28 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

IGT has gained support for building Xe driver test documentation,
but there are a few left-overs for it to work.

Add the left overs, creating Xe test documentation at build time.

---

v5:
  - Fix build issues with igt-gpu-tools-doc target.

v4:
  - Fixed a build error when tests are disabled;
  - get rid of source_root future deprecated warning;
  - testplan/meson.build now uses join_paths;
  - dropped tests/xe/meson.build file;
  - re-indented testplan/meson.build.

v3:
  - added SPDG tag to docs/testplan/conf.py;
  - changed description on patch 2;
  - cleanup IGT doc dependency chain.

Mauro Carvalho Chehab (8):
  meson: build Xe test documentation
  testplan: build also a PDF file with the testplan
  meson.build: place gtk-doc dependencies check at the right place
  meson: get rid of a future-deprecated warning
  meson: get rid of tests/xe/meson.build
  testplan/meson.build: cleanup dependency chain
  testplan/meson.build: use join_paths()
  testplan/meson.build: re-indent file

 docs/meson.build           |   4 ++
 docs/reference/meson.build |   9 ++-
 docs/testplan/conf.py      |  42 ++++++++++++++
 docs/testplan/meson.build  | 112 +++++++++++++++++++++----------------
 docs/testplan/testplan.css |   7 +++
 lib/meson.build            |   2 +-
 meson.build                |  17 +++---
 meson_options.txt          |   8 +++
 scripts/gen_rst_index      |  43 ++++++++++++++
 scripts/meson.build        |   3 +
 tests/meson.build          |   1 -
 tests/xe/meson.build       |   1 -
 12 files changed, 189 insertions(+), 60 deletions(-)
 create mode 100644 docs/testplan/conf.py
 create mode 100644 docs/testplan/testplan.css
 create mode 100755 scripts/gen_rst_index
 delete mode 100644 tests/xe/meson.build

-- 
2.39.2

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [igt-dev] [PATCH i-g-t v4 1/8] meson: build Xe test documentation
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
@ 2023-03-22  8:28 ` Mauro Carvalho Chehab
  2023-03-24 13:31   ` Kamil Konieczny
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 2/8] testplan: build also a PDF file with the testplan Mauro Carvalho Chehab
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  8:28 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

Add the remaining changes at meson for it to build Xe documentation.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 docs/meson.build           |  1 +
 docs/testplan/conf.py      | 42 +++++++++++++++++++++++++++++++++++++
 docs/testplan/testplan.css |  7 +++++++
 meson_options.txt          |  8 +++++++
 scripts/gen_rst_index      | 43 ++++++++++++++++++++++++++++++++++++++
 scripts/meson.build        |  3 +++
 6 files changed, 104 insertions(+)
 create mode 100644 docs/testplan/conf.py
 create mode 100644 docs/testplan/testplan.css
 create mode 100755 scripts/gen_rst_index

diff --git a/docs/meson.build b/docs/meson.build
index ead14c4015d9..01edf64f04a8 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -1 +1,2 @@
 subdir('reference')
+subdir('testplan')
diff --git a/docs/testplan/conf.py b/docs/testplan/conf.py
new file mode 100644
index 000000000000..cfb866cc7a15
--- /dev/null
+++ b/docs/testplan/conf.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+# SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+import sys
+import os
+from shutil import which
+
+extensions = []
+
+if which('rst2pdf'):
+    extensions.append('rst2pdf.pdfbuilder')
+
+source_suffix = '.rst'
+master_doc = 'index'
+
+project = 'IGT Test Tools'
+copyright = 'Intel'
+author = 'IGT developers'
+language = 'en'
+
+exclude_patterns = []
+todo_include_todos = False
+
+html_theme = "nature"
+
+html_css_files = []
+html_static_path = ['.']
+html_copy_source = False
+
+html_use_smartypants = False
+html_sidebars = { '**': ['searchbox.html', 'localtoc.html']}
+htmlhelp_basename = 'IGT'
+
+html_theme_options = {
+    "body_max_width": "1520px",
+    "sidebarwidth": "400px",
+}
+
+# rst2pdf
+pdf_documents = [
+    ('index', u'xe_tests', u'IGT Xe Tests', u'IGT authors'),
+]
diff --git a/docs/testplan/testplan.css b/docs/testplan/testplan.css
new file mode 100644
index 000000000000..8aa7b7105c19
--- /dev/null
+++ b/docs/testplan/testplan.css
@@ -0,0 +1,7 @@
+@import url(html4css1.css);
+
+.literal {
+	background: lightgrey;
+        color: darkblue;
+        font-size: 14px;
+}
diff --git a/meson_options.txt b/meson_options.txt
index d978813b4feb..d4e373d6cfc4 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -20,6 +20,14 @@ option('man',
        type : 'feature',
        description : 'Build man pages')
 
+option('testplan',
+       type : 'feature',
+       description : 'Build testplan documentation pages in ReST and html')
+
+option('sphinx',
+       type : 'feature',
+       description : 'Build testplan documentation using Sphinx')
+
 option('docs',
        type : 'feature',
        description : 'Build documentation')
diff --git a/scripts/gen_rst_index b/scripts/gen_rst_index
new file mode 100755
index 000000000000..34955a35a443
--- /dev/null
+++ b/scripts/gen_rst_index
@@ -0,0 +1,43 @@
+#!/bin/bash -e
+# SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+## Copyright (C) 2023    Intel Corporation                 ##
+## Author: Mauro Carvalho Chehab <mchehab@kernel.org>      ##
+##                                                         ##
+## Small script to produce a ReST index file               ##
+
+if [ $# -lt 3 ]; then
+	echo 'Usage: $0: <title> <files> <dest_dir>' >&2
+	exit 1
+fi
+
+title=$1
+shift
+
+args=( "$@" )
+
+dest_dir=${args[${#args[@]}-1]}
+unset args[${#args[@]}-1]
+
+if [ ! -d $dest_dir ]; then
+	echo "Error: $dest_dir directory doesn't exist" >&2
+	exit 1
+fi
+
+dest_file="$dest_dir/index.rst"
+
+echo $title > "$dest_file"
+len=${#title}
+for i in $(seq 1 $len); do
+	echo -n "=" >> "$dest_file"
+done
+echo >> "$dest_file"
+echo >> "$dest_file"
+
+echo ".. toctree::" >> "$dest_file"
+echo "   :maxdepth: 1" >> "$dest_file"
+echo >> "$dest_file"
+
+for i in "${!args[@]}"; do
+	echo "   ${args[$i]}" >> "$dest_file"
+done
diff --git a/scripts/meson.build b/scripts/meson.build
index 342972e66078..ce12aa02e946 100644
--- a/scripts/meson.build
+++ b/scripts/meson.build
@@ -11,3 +11,6 @@ if build_tests
 		install_data(prog, install_dir : bindir, install_mode : 'r-xr-xr-x')
 	endforeach
 endif
+
+igt_doc_script = find_program('igt_doc.py')
+gen_rst_index = find_program('gen_rst_index')
-- 
2.39.2

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [igt-dev] [PATCH i-g-t v4 2/8] testplan: build also a PDF file with the testplan
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 1/8] meson: build " Mauro Carvalho Chehab
@ 2023-03-22  8:28 ` Mauro Carvalho Chehab
  2023-03-24 13:32   ` Kamil Konieczny
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 3/8] meson.build: place gtk-doc dependencies check at the right place Mauro Carvalho Chehab
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  8:28 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

PDF files are easier to share, and it costs almost nothing to
produce them with Sphinx, via rst2pdf. Added support for it
if rst2pdf is installed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 docs/testplan/meson.build | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
index 11c08573307e..50063aa2e84f 100644
--- a/docs/testplan/meson.build
+++ b/docs/testplan/meson.build
@@ -5,6 +5,7 @@ build_sphinx = get_option('sphinx')
 
 rst2html = find_program('rst2html-3', 'rst2html', required : build_testplan)
 sphinx = find_program('sphinx-build', required: build_sphinx)
+rst2pdf = find_program('rst2pdf', required: false)
 
 stylesheet = meson.current_source_dir() + '/testplan.css'
 
@@ -52,8 +53,23 @@ if sphinx.found()
                     output : 'index.html'
                     )
     endif
+
+    if rst2pdf.found()
+        sphinx_out_pdf = meson.current_build_dir() + '/pdf'
+
+        custom_target('xe_tests.pdf',
+                      build_by_default : true,
+                      command : [ 'sphinx-build', '-c', meson.current_source_dir(),
+                      '-b', 'pdf',
+                      '-D', 'version=' + meson.project_version(),
+                      meson.current_build_dir(), sphinx_out_pdf],
+                      input : index_rst,
+                      output : 'xe_tests.pdf'
+                      )
+    endif
 endif
 
 build_info += 'Build ReST test documentation: @0@'.format(igt_doc_script.found())
 build_info += 'Build simple html testplan documentation: @0@'.format(rst2html.found())
 build_info += 'Build indexed html testplan documentation: @0@'.format(sphinx.found())
+build_info += 'Build pdf testplan documentation: @0@'.format(sphinx.found() and rst2pdf.found())
-- 
2.39.2

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [igt-dev] [PATCH i-g-t v4 3/8] meson.build: place gtk-doc dependencies check at the right place
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 1/8] meson: build " Mauro Carvalho Chehab
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 2/8] testplan: build also a PDF file with the testplan Mauro Carvalho Chehab
@ 2023-03-22  8:28 ` Mauro Carvalho Chehab
  2023-03-24 13:43   ` Kamil Konieczny
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 4/8] meson: get rid of a future-deprecated warning Mauro Carvalho Chehab
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  8:28 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

The requirement for having gtk-doc is specific to
docs/reference/igt-gpu-tools.

So, move the code to be there. This lets build testplan docs
without needing gtk-doc (nor having the IGT executables).

It should be noticed that testplan indirectly depends on
build_tests, for one reason only: the tests subdir is only
included if build_tests is true. Without it, the xe_test_config
variable will be undefined, as it is declared inside a tests
subdir.

So, we need to add an extra test for the testplan subdir,
to ensure that the variable is declared.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 docs/meson.build           |  5 ++++-
 docs/reference/meson.build |  9 ++++++++-
 meson.build                | 11 +++--------
 3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/docs/meson.build b/docs/meson.build
index 01edf64f04a8..9bfec8fee80b 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -1,2 +1,5 @@
 subdir('reference')
-subdir('testplan')
+
+if xe_test_config != ''
+	subdir('testplan')
+endif
diff --git a/docs/reference/meson.build b/docs/reference/meson.build
index 85a8aa47f920..12ccbd911af7 100644
--- a/docs/reference/meson.build
+++ b/docs/reference/meson.build
@@ -1 +1,8 @@
-subdir('igt-gpu-tools')
+gtk_doc = dependency('gtk-doc', required : build_docs)
+if build_tests and gtk_doc.found()
+	subdir('igt-gpu-tools')
+elif build_docs.enabled()
+	error('Documentation requires building tests')
+endif
+
+build_info += 'Build reference documentation: @0@'.format(build_docs.enabled())
diff --git a/meson.build b/meson.build
index cbb7ead7d9cd..b896283e3244 100644
--- a/meson.build
+++ b/meson.build
@@ -320,6 +320,8 @@ endif
 subdir('lib')
 if build_tests
 	subdir('tests')
+else
+	xe_test_config = ''
 endif
 build_info += 'Build tests: @0@'.format(build_tests)
 
@@ -332,14 +334,7 @@ endif
 subdir('overlay')
 subdir('man')
 subdir('scripts')
-
-gtk_doc = dependency('gtk-doc', required : build_docs)
-if build_tests and gtk_doc.found()
-	subdir('docs')
-elif build_docs.enabled()
-	error('Documentation requires building tests')
-endif
-build_info += 'Build documentation: @0@'.format(build_tests and gtk_doc.found())
+subdir('docs')
 
 message('Build options')
 message('=============')
-- 
2.39.2

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [igt-dev] [PATCH i-g-t v4 4/8] meson: get rid of a future-deprecated warning
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
                   ` (2 preceding siblings ...)
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 3/8] meson.build: place gtk-doc dependencies check at the right place Mauro Carvalho Chehab
@ 2023-03-22  8:28 ` Mauro Carvalho Chehab
  2023-03-22 19:11   ` Kamil Konieczny
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 5/8] meson: get rid of tests/xe/meson.build Mauro Carvalho Chehab
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  8:28 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

A warning is generated with newer meson versions:

	NOTICE: Future-deprecated features used:
	 * 0.56.0: {'meson.source_root'}

While there is a new macro to get it, that would rise the
dependency chain to meson 0.56. So, instead, just store it
on a variable.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 lib/meson.build | 2 +-
 meson.build     | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/meson.build b/lib/meson.build
index 768ce90b54df..ad9e2abef4c3 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -178,7 +178,7 @@ endif
 if get_option('srcdir') != ''
     srcdir = join_paths(get_option('srcdir'), 'tests')
 else
-    srcdir = join_paths(meson.source_root(), 'tests')
+    srcdir = join_paths(source_root, 'tests')
 endif
 
 if get_option('version_hash') != ''
diff --git a/meson.build b/meson.build
index b896283e3244..12d5113a9042 100644
--- a/meson.build
+++ b/meson.build
@@ -13,6 +13,9 @@ if get_option('b_ndebug') != 'false'
 	error('Building without -Db_ndebug=false is not supported')
 endif
 
+# meson.source_root is marked as a future-deprecated feature
+source_root = meson.current_source_dir()
+
 cc = meson.get_compiler('c')
 
 # Also make sure that the user doesn't have -DNDEBUG defined in their config
-- 
2.39.2

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [igt-dev] [PATCH i-g-t v4 5/8] meson: get rid of tests/xe/meson.build
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
                   ` (3 preceding siblings ...)
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 4/8] meson: get rid of a future-deprecated warning Mauro Carvalho Chehab
@ 2023-03-22  8:28 ` Mauro Carvalho Chehab
  2023-03-24 13:44   ` Kamil Konieczny
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 6/8] testplan/meson.build: cleanup dependency chain Mauro Carvalho Chehab
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  8:28 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

Currently, this holds just a variable used by testplan. Drop it,
cleaning up the building system.

This change allows building the testplan documentation without
needing to build tests.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 docs/meson.build          | 5 +----
 docs/testplan/meson.build | 6 ++++++
 tests/meson.build         | 1 -
 tests/xe/meson.build      | 1 -
 4 files changed, 7 insertions(+), 6 deletions(-)
 delete mode 100644 tests/xe/meson.build

diff --git a/docs/meson.build b/docs/meson.build
index 9bfec8fee80b..01edf64f04a8 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -1,5 +1,2 @@
 subdir('reference')
-
-if xe_test_config != ''
-	subdir('testplan')
-endif
+subdir('testplan')
diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
index 50063aa2e84f..d34a8212df76 100644
--- a/docs/testplan/meson.build
+++ b/docs/testplan/meson.build
@@ -9,6 +9,12 @@ rst2pdf = find_program('rst2pdf', required: false)
 
 stylesheet = meson.current_source_dir() + '/testplan.css'
 
+xe_test_config = source_root + '/tests/xe/xe_test_config.json'
+
+if not build_tests
+    test_executables = []
+endif
+
 test_dict = { 'xe_tests': {
                  'input': xe_test_config, 'extra_args': []
               }
diff --git a/tests/meson.build b/tests/meson.build
index 632e36e059d8..e1cccf6298a6 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -502,7 +502,6 @@ test_executables += executable('sw_sync', 'sw_sync.c',
 test_list += 'sw_sync'
 
 subdir('amdgpu')
-subdir('xe')
 
 subdir('v3d')
 
diff --git a/tests/xe/meson.build b/tests/xe/meson.build
deleted file mode 100644
index bb344f95d59d..000000000000
--- a/tests/xe/meson.build
+++ /dev/null
@@ -1 +0,0 @@
-xe_test_config = meson.current_source_dir() + '/xe_test_config.json'
-- 
2.39.2

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [igt-dev] [PATCH i-g-t v4 6/8] testplan/meson.build: cleanup dependency chain
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
                   ` (4 preceding siblings ...)
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 5/8] meson: get rid of tests/xe/meson.build Mauro Carvalho Chehab
@ 2023-03-22  8:28 ` Mauro Carvalho Chehab
  2023-03-24 13:49   ` Kamil Konieczny
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 7/8] testplan/meson.build: use join_paths() Mauro Carvalho Chehab
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  8:28 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

Simplify the checks inside testplan/meson.build and ensure that
it will only build if option build_testplan is selected, by moving
such check to docs/meson.build.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 docs/meson.build          |  5 ++++-
 docs/testplan/meson.build | 42 +++++++++++++++++----------------------
 meson.build               |  3 +++
 scripts/meson.build       |  4 ++--
 4 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/docs/meson.build b/docs/meson.build
index 01edf64f04a8..d56260564cec 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -1,2 +1,5 @@
 subdir('reference')
-subdir('testplan')
+
+if igt_doc_script.found()
+	subdir('testplan')
+endif
diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
index d34a8212df76..9e7ae7a04753 100644
--- a/docs/testplan/meson.build
+++ b/docs/testplan/meson.build
@@ -1,10 +1,7 @@
 testplan_title = 'IGT test plans'
 
-build_testplan = get_option('testplan')
-build_sphinx = get_option('sphinx')
-
-rst2html = find_program('rst2html-3', 'rst2html', required : build_testplan)
 sphinx = find_program('sphinx-build', required: build_sphinx)
+rst2html = find_program('rst2html-3', 'rst2html', required : false)
 rst2pdf = find_program('rst2pdf', required: false)
 
 stylesheet = meson.current_source_dir() + '/testplan.css'
@@ -20,26 +17,24 @@ test_dict = { 'xe_tests': {
               }
             }
 
-if igt_doc_script.found()
-    foreach testplan, fields: test_dict
-        rst = custom_target(testplan + '.rst',
-                            build_by_default : true,
-                            command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
-                            depends : test_executables,
-                            input : fields['input'],
-                            output : testplan + '.rst'
-                            )
+foreach testplan, fields: test_dict
+    rst = custom_target(testplan + '.rst',
+                        build_by_default : true,
+                        command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
+                        depends : test_executables,
+                        input : fields['input'],
+                        output : testplan + '.rst'
+                        )
 
-        if rst2html.found()
-            custom_target(testplan + '.html',
-                          build_by_default : true,
-                          command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
-                          input : rst,
-                          output : testplan + '.html'
-                          )
-        endif
-    endforeach
-endif
+    if rst2html.found()
+        custom_target(testplan + '.html',
+                      build_by_default : true,
+                      command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
+                      input : rst,
+                      output : testplan + '.html'
+                      )
+    endif
+endforeach
 
 if sphinx.found()
     if gen_rst_index.found()
@@ -75,7 +70,6 @@ if sphinx.found()
     endif
 endif
 
-build_info += 'Build ReST test documentation: @0@'.format(igt_doc_script.found())
 build_info += 'Build simple html testplan documentation: @0@'.format(rst2html.found())
 build_info += 'Build indexed html testplan documentation: @0@'.format(sphinx.found())
 build_info += 'Build pdf testplan documentation: @0@'.format(sphinx.found() and rst2pdf.found())
diff --git a/meson.build b/meson.build
index 12d5113a9042..7360634fe199 100644
--- a/meson.build
+++ b/meson.build
@@ -328,6 +328,9 @@ else
 endif
 build_info += 'Build tests: @0@'.format(build_tests)
 
+build_testplan = get_option('testplan')
+build_sphinx = get_option('sphinx')
+
 subdir('benchmarks')
 subdir('tools')
 subdir('runner')
diff --git a/scripts/meson.build b/scripts/meson.build
index ce12aa02e946..98783222b6fc 100644
--- a/scripts/meson.build
+++ b/scripts/meson.build
@@ -12,5 +12,5 @@ if build_tests
 	endforeach
 endif
 
-igt_doc_script = find_program('igt_doc.py')
-gen_rst_index = find_program('gen_rst_index')
+igt_doc_script = find_program('igt_doc.py', required : build_testplan)
+gen_rst_index = find_program('gen_rst_index', required : build_sphinx)
-- 
2.39.2

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [igt-dev] [PATCH i-g-t v4 7/8] testplan/meson.build: use join_paths()
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
                   ` (5 preceding siblings ...)
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 6/8] testplan/meson.build: cleanup dependency chain Mauro Carvalho Chehab
@ 2023-03-22  8:28 ` Mauro Carvalho Chehab
  2023-03-22 19:14   ` Kamil Konieczny
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 8/8] testplan/meson.build: re-indent file Mauro Carvalho Chehab
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  8:28 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

Use the more portable join_paths() macro.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 docs/testplan/meson.build | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
index 9e7ae7a04753..10ea4be9a3f5 100644
--- a/docs/testplan/meson.build
+++ b/docs/testplan/meson.build
@@ -4,9 +4,9 @@ sphinx = find_program('sphinx-build', required: build_sphinx)
 rst2html = find_program('rst2html-3', 'rst2html', required : false)
 rst2pdf = find_program('rst2pdf', required: false)
 
-stylesheet = meson.current_source_dir() + '/testplan.css'
+stylesheet = join_paths(meson.current_source_dir(), 'testplan.css')
 
-xe_test_config = source_root + '/tests/xe/xe_test_config.json'
+xe_test_config = join_paths(source_root, 'tests', 'xe', 'xe_test_config.json')
 
 if not build_tests
     test_executables = []
-- 
2.39.2

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [igt-dev] [PATCH i-g-t v4 8/8] testplan/meson.build: re-indent file
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
                   ` (6 preceding siblings ...)
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 7/8] testplan/meson.build: use join_paths() Mauro Carvalho Chehab
@ 2023-03-22  8:28 ` Mauro Carvalho Chehab
  2023-03-24 13:50   ` Kamil Konieczny
  2023-03-22  9:24 ` [igt-dev] ✓ Fi.CI.BAT: success for Build Xe test documentation Patchwork
  2023-03-22 13:59 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  9 siblings, 1 reply; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  8:28 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>

As other meson.build files are using tabs to align, replace
spaces with tabs here too.

Just cosmetic changes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 docs/testplan/meson.build | 94 +++++++++++++++++++--------------------
 1 file changed, 47 insertions(+), 47 deletions(-)

diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
index 10ea4be9a3f5..fee568868167 100644
--- a/docs/testplan/meson.build
+++ b/docs/testplan/meson.build
@@ -9,65 +9,65 @@ stylesheet = join_paths(meson.current_source_dir(), 'testplan.css')
 xe_test_config = join_paths(source_root, 'tests', 'xe', 'xe_test_config.json')
 
 if not build_tests
-    test_executables = []
+	test_executables = []
 endif
 
-test_dict = { 'xe_tests': {
-                 'input': xe_test_config, 'extra_args': []
-              }
-            }
+test_dict = { 'xe_tests':
+		{ 'input': xe_test_config, 'extra_args': [] }
+	    }
 
 foreach testplan, fields: test_dict
-    rst = custom_target(testplan + '.rst',
-                        build_by_default : true,
-                        command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
-                        depends : test_executables,
-                        input : fields['input'],
-                        output : testplan + '.rst'
-                        )
+	rst = custom_target(testplan + '.rst',
+			    build_by_default : true,
+			    command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
+			    depends : test_executables,
+			    input : fields['input'],
+			    output : testplan + '.rst'
+			   )
 
-    if rst2html.found()
-        custom_target(testplan + '.html',
-                      build_by_default : true,
-                      command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
-                      input : rst,
-                      output : testplan + '.html'
-                      )
-    endif
+	if rst2html.found()
+		custom_target(testplan + '.html',
+			      build_by_default : true,
+			      command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
+			      input : rst,
+			      output : testplan + '.html'
+			     )
+	endif
 endforeach
 
 if sphinx.found()
-    if gen_rst_index.found()
-        sphinx_out_dir = meson.current_build_dir()+ '/indexed_html'
+	if gen_rst_index.found()
+		sphinx_out_dir = meson.current_build_dir()+ '/indexed_html'
 
-        index_rst = custom_target('index.rst',
-                                build_by_default : true,
-                                command : [ gen_rst_index, testplan_title, test_dict.keys(), meson.current_build_dir()],
-                                input : rst,
-                                output : 'index.rst'
-                                )
+		index_rst = custom_target('index.rst',
+					  build_by_default : true,
+					  command : [ gen_rst_index, testplan_title, test_dict.keys(), meson.current_build_dir()],
+					  input : rst,
+					  output : 'index.rst'
+					 )
 
-        custom_target('index.html',
-                    build_by_default : true,
-                    command : [ 'sphinx-build', '-c', meson.current_source_dir(), meson.current_build_dir(), sphinx_out_dir],
-                    input : index_rst,
-                    output : 'index.html'
-                    )
-    endif
+		custom_target('index.html',
+			      build_by_default : true,
+			      command : [ 'sphinx-build', '-c', meson.current_source_dir(),
+					  meson.current_build_dir(), sphinx_out_dir],
+			      input : index_rst,
+			      output : 'index.html'
+			     )
+	endif
 
-    if rst2pdf.found()
-        sphinx_out_pdf = meson.current_build_dir() + '/pdf'
+	if rst2pdf.found()
+		sphinx_out_pdf = meson.current_build_dir() + '/pdf'
 
-        custom_target('xe_tests.pdf',
-                      build_by_default : true,
-                      command : [ 'sphinx-build', '-c', meson.current_source_dir(),
-                      '-b', 'pdf',
-                      '-D', 'version=' + meson.project_version(),
-                      meson.current_build_dir(), sphinx_out_pdf],
-                      input : index_rst,
-                      output : 'xe_tests.pdf'
-                      )
-    endif
+		custom_target('xe_tests.pdf',
+			      build_by_default : true,
+			      command : [ 'sphinx-build', '-c', meson.current_source_dir(),
+					  '-b', 'pdf',
+					  '-D', 'version=' + meson.project_version(),
+					  meson.current_build_dir(), sphinx_out_pdf],
+			      input : index_rst,
+			      output : 'xe_tests.pdf'
+			     )
+	endif
 endif
 
 build_info += 'Build simple html testplan documentation: @0@'.format(rst2html.found())
-- 
2.39.2

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Build Xe test documentation
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
                   ` (7 preceding siblings ...)
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 8/8] testplan/meson.build: re-indent file Mauro Carvalho Chehab
@ 2023-03-22  9:24 ` Patchwork
  2023-03-22 13:59 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  9 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-03-22  9:24 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 8337 bytes --]

== Series Details ==

Series: Build Xe test documentation
URL   : https://patchwork.freedesktop.org/series/115493/
State : success

== Summary ==

CI Bug Log - changes from IGT_7211 -> IGTPW_8659
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/index.html

Participating hosts (34 -> 34)
------------------------------

  Additional (1): bat-dg1-5 
  Missing    (1): fi-snb-2520m 

Known issues
------------

  Here are the changes found in IGTPW_8659 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_mmap@basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][1] ([i915#4083])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@gem_mmap@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][2] ([i915#4077]) +2 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][3] ([i915#4079]) +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - bat-dg1-5:          NOTRUN -> [SKIP][4] ([i915#7561])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_selftest@live@slpc:
    - bat-rpls-1:         NOTRUN -> [DMESG-FAIL][5] ([i915#6367])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-rpls-1/igt@i915_selftest@live@slpc.html

  * igt@kms_addfb_basic@basic-x-tiled-legacy:
    - bat-dg1-5:          NOTRUN -> [SKIP][6] ([i915#4212]) +7 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@kms_addfb_basic@basic-x-tiled-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg1-5:          NOTRUN -> [SKIP][7] ([i915#4215])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - bat-adln-1:         NOTRUN -> [SKIP][8] ([i915#7828])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-adln-1/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
    - bat-rpls-1:         NOTRUN -> [SKIP][9] ([i915#7828])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-rpls-1/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_chamelium_hpd@vga-hpd-fast:
    - bat-dg1-5:          NOTRUN -> [SKIP][10] ([i915#7828]) +8 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@kms_chamelium_hpd@vga-hpd-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-dg1-5:          NOTRUN -> [SKIP][11] ([i915#4103] / [i915#4213]) +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-dg1-5:          NOTRUN -> [SKIP][12] ([fdo#109285])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence:
    - bat-dg2-11:         NOTRUN -> [SKIP][13] ([i915#5354])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg2-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - bat-rpls-1:         NOTRUN -> [SKIP][14] ([i915#1845])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-rpls-1/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_psr@sprite_plane_onoff:
    - bat-dg1-5:          NOTRUN -> [SKIP][15] ([i915#1072] / [i915#4078]) +3 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@kms_psr@sprite_plane_onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-dg1-5:          NOTRUN -> [SKIP][16] ([i915#3555] / [i915#4579])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-read:
    - bat-dg1-5:          NOTRUN -> [SKIP][17] ([i915#3708]) +3 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-gtt:
    - bat-dg1-5:          NOTRUN -> [SKIP][18] ([i915#3708] / [i915#4077]) +1 similar issue
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-userptr:
    - bat-dg1-5:          NOTRUN -> [SKIP][19] ([i915#3708] / [i915#4873])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg1-5/igt@prime_vgem@basic-userptr.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@reset:
    - bat-rpls-1:         [ABORT][20] ([i915#4983]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/bat-rpls-1/igt@i915_selftest@live@reset.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-rpls-1/igt@i915_selftest@live@reset.html

  * igt@i915_selftest@live@slpc:
    - bat-dg2-11:         [DMESG-WARN][22] ([i915#7996]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/bat-dg2-11/igt@i915_selftest@live@slpc.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-dg2-11/igt@i915_selftest@live@slpc.html

  * igt@i915_selftest@live@workarounds:
    - bat-rpls-1:         [DMESG-FAIL][24] ([i915#6763]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/bat-rpls-1/igt@i915_selftest@live@workarounds.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-rpls-1/igt@i915_selftest@live@workarounds.html

  * igt@i915_suspend@basic-s3-without-i915:
    - bat-adln-1:         [INCOMPLETE][26] ([i915#7443]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/bat-adln-1/igt@i915_suspend@basic-s3-without-i915.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/bat-adln-1/igt@i915_suspend@basic-s3-without-i915.html

  
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [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#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6763]: https://gitlab.freedesktop.org/drm/intel/issues/6763
  [i915#7443]: https://gitlab.freedesktop.org/drm/intel/issues/7443
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7996]: https://gitlab.freedesktop.org/drm/intel/issues/7996


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7211 -> IGTPW_8659

  CI-20190529: 20190529
  CI_DRM_12893: f8980398783b2abaa6479829786e9ffb9c4b7490 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8659: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/index.html
  IGT_7211: c0cc1de7b2f4041ca68960362aa55f881d416bac @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/index.html

[-- Attachment #2: Type: text/html, Size: 9845 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for Build Xe test documentation
  2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
                   ` (8 preceding siblings ...)
  2023-03-22  9:24 ` [igt-dev] ✓ Fi.CI.BAT: success for Build Xe test documentation Patchwork
@ 2023-03-22 13:59 ` Patchwork
  9 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-03-22 13:59 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 24547 bytes --]

== Series Details ==

Series: Build Xe test documentation
URL   : https://patchwork.freedesktop.org/series/115493/
State : success

== Summary ==

CI Bug Log - changes from IGT_7211_full -> IGTPW_8659_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/index.html

Participating hosts (7 -> 8)
------------------------------

  Additional (1): shard-rkl0 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_8659_full:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@gem_mmap_offset@clear@smem0:
    - {shard-dg1}:        [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-dg1-17/igt@gem_mmap_offset@clear@smem0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-dg1-17/igt@gem_mmap_offset@clear@smem0.html

  * igt@i915_pm_rpm@sysfs-read:
    - {shard-tglu}:       [PASS][3] -> [SKIP][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-4/igt@i915_pm_rpm@sysfs-read.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-7/igt@i915_pm_rpm@sysfs-read.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-hdmi-a-1:
    - {shard-tglu}:       [PASS][5] -> [DMESG-WARN][6] +4 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-2/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-hdmi-a-1.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-7/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-hdmi-a-1.html

  
Known issues
------------

  Here are the changes found in IGTPW_8659_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_persistence@process:
    - shard-snb:          NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#1099])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-snb2/igt@gem_ctx_persistence@process.html

  * igt@gem_huc_copy@huc-copy:
    - shard-apl:          NOTRUN -> [SKIP][8] ([fdo#109271] / [i915#2190])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-apl4/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@heavy-verify-random:
    - shard-glk:          NOTRUN -> [SKIP][9] ([fdo#109271] / [i915#4613])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-glk5/igt@gem_lmem_swapping@heavy-verify-random.html

  * igt@gem_pxp@create-regular-buffer:
    - shard-glk:          NOTRUN -> [SKIP][10] ([fdo#109271]) +47 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-glk7/igt@gem_pxp@create-regular-buffer.html

  * igt@gen9_exec_parse@basic-rejected-ctx-param:
    - shard-snb:          NOTRUN -> [SKIP][11] ([fdo#109271]) +29 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-snb4/igt@gen9_exec_parse@basic-rejected-ctx-param.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [PASS][12] -> [SKIP][13] ([fdo#109271])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-apl4/igt@i915_pm_dc@dc9-dpms.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-apl3/igt@i915_pm_dc@dc9-dpms.html

  * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#3886]) +3 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-glk9/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-move:
    - shard-apl:          NOTRUN -> [SKIP][15] ([fdo#109271])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-apl7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-move.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-glk:          NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#658])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-glk8/igt@kms_psr2_su@page_flip-nv12.html

  * igt@perf@oa-exponents:
    - shard-glk:          [PASS][17] -> [ABORT][18] ([i915#5213])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-glk5/igt@perf@oa-exponents.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-glk9/igt@perf@oa-exponents.html

  
#### Possible fixes ####

  * igt@drm_fdinfo@most-busy-check-all@rcs0:
    - {shard-rkl}:        [FAIL][19] ([i915#7742]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-2/igt@drm_fdinfo@most-busy-check-all@rcs0.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-2/igt@drm_fdinfo@most-busy-check-all@rcs0.html

  * igt@fbdev@write:
    - {shard-tglu}:       [SKIP][21] ([i915#2582]) -> [PASS][22] +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-9/igt@fbdev@write.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-5/igt@fbdev@write.html

  * {igt@gem_barrier_race@remote-request@rcs0}:
    - shard-apl:          [ABORT][23] ([i915#8211] / [i915#8234]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-apl2/igt@gem_barrier_race@remote-request@rcs0.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-apl1/igt@gem_barrier_race@remote-request@rcs0.html

  * igt@gem_exec_balancer@fairslice:
    - {shard-rkl}:        [SKIP][25] ([i915#6259]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-5/igt@gem_exec_balancer@fairslice.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-3/igt@gem_exec_balancer@fairslice.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [FAIL][27] ([i915#2842]) -> [PASS][28] +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - {shard-tglu}:       [FAIL][29] ([i915#2842]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-9/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-5/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-glk:          [FAIL][31] ([i915#2842]) -> [PASS][32] +2 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-glk2/igt@gem_exec_fair@basic-pace@vcs0.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-glk3/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_reloc@basic-cpu-wc:
    - {shard-rkl}:        [SKIP][33] ([i915#3281]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-2/igt@gem_exec_reloc@basic-cpu-wc.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-5/igt@gem_exec_reloc@basic-cpu-wc.html

  * igt@gem_partial_pwrite_pread@reads-uncached:
    - {shard-rkl}:        [SKIP][35] ([i915#3282]) -> [PASS][36] +2 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-6/igt@gem_partial_pwrite_pread@reads-uncached.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-5/igt@gem_partial_pwrite_pread@reads-uncached.html

  * igt@gen9_exec_parse@batch-without-end:
    - {shard-rkl}:        [SKIP][37] ([i915#2527]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-1/igt@gen9_exec_parse@batch-without-end.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-5/igt@gen9_exec_parse@batch-without-end.html

  * {igt@i915_pm_dc@dc5-dpms-negative}:
    - {shard-tglu}:       [SKIP][39] ([i915#8018]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-10/igt@i915_pm_dc@dc5-dpms-negative.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-3/igt@i915_pm_dc@dc5-dpms-negative.html

  * igt@i915_pm_dc@dc6-dpms:
    - {shard-rkl}:        [SKIP][41] ([i915#3361]) -> [PASS][42] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-5/igt@i915_pm_dc@dc6-dpms.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-3/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
    - {shard-tglu}:       [FAIL][43] ([i915#3825]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-1/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html

  * igt@i915_pm_rc6_residency@rc6-idle@vecs0:
    - {shard-dg1}:        [FAIL][45] ([i915#3591]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html

  * igt@i915_pm_rpm@dpms-lpsp:
    - {shard-tglu}:       [SKIP][47] ([i915#1397]) -> [PASS][48] +1 similar issue
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-10/igt@i915_pm_rpm@dpms-lpsp.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-8/igt@i915_pm_rpm@dpms-lpsp.html

  * igt@i915_pm_rpm@pm-tiling:
    - {shard-rkl}:        [SKIP][49] ([fdo#109308]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-1/igt@i915_pm_rpm@pm-tiling.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-6/igt@i915_pm_rpm@pm-tiling.html

  * igt@i915_pm_rpm@system-suspend-modeset:
    - {shard-tglu}:       [SKIP][51] ([i915#3547]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-9/igt@i915_pm_rpm@system-suspend-modeset.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-8/igt@i915_pm_rpm@system-suspend-modeset.html

  * igt@i915_selftest@perf@engine_cs:
    - shard-snb:          [ABORT][53] ([i915#4528]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-snb5/igt@i915_selftest@perf@engine_cs.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-snb2/igt@i915_selftest@perf@engine_cs.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size:
    - {shard-rkl}:        [SKIP][55] ([i915#1845] / [i915#4098]) -> [PASS][56] +15 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-3/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-6/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html

  * igt@kms_cursor_legacy@cursor-vs-flip-varying-size:
    - {shard-tglu}:       [SKIP][57] ([i915#1845]) -> [PASS][58] +34 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-9/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-4/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html

  * igt@kms_cursor_legacy@single-bo@pipe-b:
    - {shard-tglu}:       [INCOMPLETE][59] -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-1/igt@kms_cursor_legacy@single-bo@pipe-b.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-10/igt@kms_cursor_legacy@single-bo@pipe-b.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - {shard-rkl}:        [SKIP][61] ([fdo#110189] / [i915#3955]) -> [PASS][62] +1 similar issue
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-2/igt@kms_fbcon_fbt@psr-suspend.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite:
    - {shard-rkl}:        [SKIP][63] ([i915#1849] / [i915#4098]) -> [PASS][64] +13 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt:
    - {shard-tglu}:       [SKIP][65] ([i915#1849]) -> [PASS][66] +16 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-9/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_psr@sprite_mmap_cpu:
    - {shard-rkl}:        [SKIP][67] ([i915#1072]) -> [PASS][68] +1 similar issue
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-1/igt@kms_psr@sprite_mmap_cpu.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-6/igt@kms_psr@sprite_mmap_cpu.html

  * igt@kms_vblank@pipe-d-wait-forked-busy:
    - {shard-tglu}:       [SKIP][69] ([i915#1845] / [i915#7651]) -> [PASS][70] +20 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-tglu-9/igt@kms_vblank@pipe-d-wait-forked-busy.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-tglu-7/igt@kms_vblank@pipe-d-wait-forked-busy.html

  * igt@perf@gen12-oa-tlb-invalidate:
    - {shard-rkl}:        [SKIP][71] ([fdo#109289]) -> [PASS][72] +1 similar issue
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7211/shard-rkl-5/igt@perf@gen12-oa-tlb-invalidate.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/shard-rkl-2/igt@perf@gen12-oa-tlb-invalidate.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#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [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#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#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [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#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1850]: https://gitlab.freedesktop.org/drm/intel/issues/1850
  [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2232]: https://gitlab.freedesktop.org/drm/intel/issues/2232
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2532]: https://gitlab.freedesktop.org/drm/intel/issues/2532
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [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#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3547]: https://gitlab.freedesktop.org/drm/intel/issues/3547
  [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#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825
  [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#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036
  [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
  [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#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [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#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [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#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854
  [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#4884]: https://gitlab.freedesktop.org/drm/intel/issues/4884
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213
  [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#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [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#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6259]: https://gitlab.freedesktop.org/drm/intel/issues/6259
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
  [i915#6403]: https://gitlab.freedesktop.org/drm/intel/issues/6403
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7037]: https://gitlab.freedesktop.org/drm/intel/issues/7037
  [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#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651
  [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#7957]: https://gitlab.freedesktop.org/drm/intel/issues/7957
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8018]: https://gitlab.freedesktop.org/drm/intel/issues/8018
  [i915#8152]: https://gitlab.freedesktop.org/drm/intel/issues/8152
  [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211
  [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
  [i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234
  [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
  [i915#8282]: https://gitlab.freedesktop.org/drm/intel/issues/8282


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7211 -> IGTPW_8659

  CI-20190529: 20190529
  CI_DRM_12893: f8980398783b2abaa6479829786e9ffb9c4b7490 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8659: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/index.html
  IGT_7211: c0cc1de7b2f4041ca68960362aa55f881d416bac @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8659/index.html

[-- Attachment #2: Type: text/html, Size: 19341 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 4/8] meson: get rid of a future-deprecated warning
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 4/8] meson: get rid of a future-deprecated warning Mauro Carvalho Chehab
@ 2023-03-22 19:11   ` Kamil Konieczny
  0 siblings, 0 replies; 23+ messages in thread
From: Kamil Konieczny @ 2023-03-22 19:11 UTC (permalink / raw)
  To: igt-dev

On 2023-03-22 at 09:28:22 +0100, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> A warning is generated with newer meson versions:
> 
> 	NOTICE: Future-deprecated features used:
> 	 * 0.56.0: {'meson.source_root'}
> 
> While there is a new macro to get it, that would rise the
> dependency chain to meson 0.56. So, instead, just store it
> on a variable.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

Thank you for that cleanup,

Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

--
Kamil

> ---
>  lib/meson.build | 2 +-
>  meson.build     | 3 +++
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/meson.build b/lib/meson.build
> index 768ce90b54df..ad9e2abef4c3 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -178,7 +178,7 @@ endif
>  if get_option('srcdir') != ''
>      srcdir = join_paths(get_option('srcdir'), 'tests')
>  else
> -    srcdir = join_paths(meson.source_root(), 'tests')
> +    srcdir = join_paths(source_root, 'tests')
>  endif
>  
>  if get_option('version_hash') != ''
> diff --git a/meson.build b/meson.build
> index b896283e3244..12d5113a9042 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -13,6 +13,9 @@ if get_option('b_ndebug') != 'false'
>  	error('Building without -Db_ndebug=false is not supported')
>  endif
>  
> +# meson.source_root is marked as a future-deprecated feature
> +source_root = meson.current_source_dir()
> +
>  cc = meson.get_compiler('c')
>  
>  # Also make sure that the user doesn't have -DNDEBUG defined in their config
> -- 
> 2.39.2
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 7/8] testplan/meson.build: use join_paths()
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 7/8] testplan/meson.build: use join_paths() Mauro Carvalho Chehab
@ 2023-03-22 19:14   ` Kamil Konieczny
  0 siblings, 0 replies; 23+ messages in thread
From: Kamil Konieczny @ 2023-03-22 19:14 UTC (permalink / raw)
  To: igt-dev

On 2023-03-22 at 09:28:25 +0100, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> Use the more portable join_paths() macro.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

> ---
>  docs/testplan/meson.build | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
> index 9e7ae7a04753..10ea4be9a3f5 100644
> --- a/docs/testplan/meson.build
> +++ b/docs/testplan/meson.build
> @@ -4,9 +4,9 @@ sphinx = find_program('sphinx-build', required: build_sphinx)
>  rst2html = find_program('rst2html-3', 'rst2html', required : false)
>  rst2pdf = find_program('rst2pdf', required: false)
>  
> -stylesheet = meson.current_source_dir() + '/testplan.css'
> +stylesheet = join_paths(meson.current_source_dir(), 'testplan.css')
>  
> -xe_test_config = source_root + '/tests/xe/xe_test_config.json'
> +xe_test_config = join_paths(source_root, 'tests', 'xe', 'xe_test_config.json')
>  
>  if not build_tests
>      test_executables = []
> -- 
> 2.39.2
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 1/8] meson: build Xe test documentation
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 1/8] meson: build " Mauro Carvalho Chehab
@ 2023-03-24 13:31   ` Kamil Konieczny
  2023-03-28 17:56     ` Juha-Pekka Heikkila
  0 siblings, 1 reply; 23+ messages in thread
From: Kamil Konieczny @ 2023-03-24 13:31 UTC (permalink / raw)
  To: igt-dev

On 2023-03-22 at 09:28:19 +0100, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> Add the remaining changes at meson for it to build Xe documentation.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

> ---
>  docs/meson.build           |  1 +
>  docs/testplan/conf.py      | 42 +++++++++++++++++++++++++++++++++++++
>  docs/testplan/testplan.css |  7 +++++++
>  meson_options.txt          |  8 +++++++
>  scripts/gen_rst_index      | 43 ++++++++++++++++++++++++++++++++++++++
>  scripts/meson.build        |  3 +++
>  6 files changed, 104 insertions(+)
>  create mode 100644 docs/testplan/conf.py
>  create mode 100644 docs/testplan/testplan.css
>  create mode 100755 scripts/gen_rst_index
> 
> diff --git a/docs/meson.build b/docs/meson.build
> index ead14c4015d9..01edf64f04a8 100644
> --- a/docs/meson.build
> +++ b/docs/meson.build
> @@ -1 +1,2 @@
>  subdir('reference')
> +subdir('testplan')
> diff --git a/docs/testplan/conf.py b/docs/testplan/conf.py
> new file mode 100644
> index 000000000000..cfb866cc7a15
> --- /dev/null
> +++ b/docs/testplan/conf.py
> @@ -0,0 +1,42 @@
> +# -*- coding: utf-8 -*-
> +# SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +
> +import sys
> +import os
> +from shutil import which
> +
> +extensions = []
> +
> +if which('rst2pdf'):
> +    extensions.append('rst2pdf.pdfbuilder')
> +
> +source_suffix = '.rst'
> +master_doc = 'index'
> +
> +project = 'IGT Test Tools'
> +copyright = 'Intel'
> +author = 'IGT developers'
> +language = 'en'
> +
> +exclude_patterns = []
> +todo_include_todos = False
> +
> +html_theme = "nature"
> +
> +html_css_files = []
> +html_static_path = ['.']
> +html_copy_source = False
> +
> +html_use_smartypants = False
> +html_sidebars = { '**': ['searchbox.html', 'localtoc.html']}
> +htmlhelp_basename = 'IGT'
> +
> +html_theme_options = {
> +    "body_max_width": "1520px",
> +    "sidebarwidth": "400px",
> +}
> +
> +# rst2pdf
> +pdf_documents = [
> +    ('index', u'xe_tests', u'IGT Xe Tests', u'IGT authors'),
> +]
> diff --git a/docs/testplan/testplan.css b/docs/testplan/testplan.css
> new file mode 100644
> index 000000000000..8aa7b7105c19
> --- /dev/null
> +++ b/docs/testplan/testplan.css
> @@ -0,0 +1,7 @@
> +@import url(html4css1.css);
> +
> +.literal {
> +	background: lightgrey;
> +        color: darkblue;
> +        font-size: 14px;
> +}
> diff --git a/meson_options.txt b/meson_options.txt
> index d978813b4feb..d4e373d6cfc4 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -20,6 +20,14 @@ option('man',
>         type : 'feature',
>         description : 'Build man pages')
>  
> +option('testplan',
> +       type : 'feature',
> +       description : 'Build testplan documentation pages in ReST and html')
> +
> +option('sphinx',
> +       type : 'feature',
> +       description : 'Build testplan documentation using Sphinx')
> +
>  option('docs',
>         type : 'feature',
>         description : 'Build documentation')
> diff --git a/scripts/gen_rst_index b/scripts/gen_rst_index
> new file mode 100755
> index 000000000000..34955a35a443
> --- /dev/null
> +++ b/scripts/gen_rst_index
> @@ -0,0 +1,43 @@
> +#!/bin/bash -e
> +# SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +
> +## Copyright (C) 2023    Intel Corporation                 ##
> +## Author: Mauro Carvalho Chehab <mchehab@kernel.org>      ##
> +##                                                         ##
> +## Small script to produce a ReST index file               ##
> +
> +if [ $# -lt 3 ]; then
> +	echo 'Usage: $0: <title> <files> <dest_dir>' >&2
> +	exit 1
> +fi
> +
> +title=$1
> +shift
> +
> +args=( "$@" )
> +
> +dest_dir=${args[${#args[@]}-1]}
> +unset args[${#args[@]}-1]
> +
> +if [ ! -d $dest_dir ]; then
> +	echo "Error: $dest_dir directory doesn't exist" >&2
> +	exit 1
> +fi
> +
> +dest_file="$dest_dir/index.rst"
> +
> +echo $title > "$dest_file"
> +len=${#title}
> +for i in $(seq 1 $len); do
> +	echo -n "=" >> "$dest_file"
> +done
> +echo >> "$dest_file"
> +echo >> "$dest_file"
> +
> +echo ".. toctree::" >> "$dest_file"
> +echo "   :maxdepth: 1" >> "$dest_file"
> +echo >> "$dest_file"
> +
> +for i in "${!args[@]}"; do
> +	echo "   ${args[$i]}" >> "$dest_file"
> +done
> diff --git a/scripts/meson.build b/scripts/meson.build
> index 342972e66078..ce12aa02e946 100644
> --- a/scripts/meson.build
> +++ b/scripts/meson.build
> @@ -11,3 +11,6 @@ if build_tests
>  		install_data(prog, install_dir : bindir, install_mode : 'r-xr-xr-x')
>  	endforeach
>  endif
> +
> +igt_doc_script = find_program('igt_doc.py')
> +gen_rst_index = find_program('gen_rst_index')
> -- 
> 2.39.2
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 2/8] testplan: build also a PDF file with the testplan
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 2/8] testplan: build also a PDF file with the testplan Mauro Carvalho Chehab
@ 2023-03-24 13:32   ` Kamil Konieczny
  0 siblings, 0 replies; 23+ messages in thread
From: Kamil Konieczny @ 2023-03-24 13:32 UTC (permalink / raw)
  To: igt-dev

On 2023-03-22 at 09:28:20 +0100, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> PDF files are easier to share, and it costs almost nothing to
> produce them with Sphinx, via rst2pdf. Added support for it
> if rst2pdf is installed.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

> ---
>  docs/testplan/meson.build | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
> index 11c08573307e..50063aa2e84f 100644
> --- a/docs/testplan/meson.build
> +++ b/docs/testplan/meson.build
> @@ -5,6 +5,7 @@ build_sphinx = get_option('sphinx')
>  
>  rst2html = find_program('rst2html-3', 'rst2html', required : build_testplan)
>  sphinx = find_program('sphinx-build', required: build_sphinx)
> +rst2pdf = find_program('rst2pdf', required: false)
>  
>  stylesheet = meson.current_source_dir() + '/testplan.css'
>  
> @@ -52,8 +53,23 @@ if sphinx.found()
>                      output : 'index.html'
>                      )
>      endif
> +
> +    if rst2pdf.found()
> +        sphinx_out_pdf = meson.current_build_dir() + '/pdf'
> +
> +        custom_target('xe_tests.pdf',
> +                      build_by_default : true,
> +                      command : [ 'sphinx-build', '-c', meson.current_source_dir(),
> +                      '-b', 'pdf',
> +                      '-D', 'version=' + meson.project_version(),
> +                      meson.current_build_dir(), sphinx_out_pdf],
> +                      input : index_rst,
> +                      output : 'xe_tests.pdf'
> +                      )
> +    endif
>  endif
>  
>  build_info += 'Build ReST test documentation: @0@'.format(igt_doc_script.found())
>  build_info += 'Build simple html testplan documentation: @0@'.format(rst2html.found())
>  build_info += 'Build indexed html testplan documentation: @0@'.format(sphinx.found())
> +build_info += 'Build pdf testplan documentation: @0@'.format(sphinx.found() and rst2pdf.found())
> -- 
> 2.39.2
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 3/8] meson.build: place gtk-doc dependencies check at the right place
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 3/8] meson.build: place gtk-doc dependencies check at the right place Mauro Carvalho Chehab
@ 2023-03-24 13:43   ` Kamil Konieczny
  0 siblings, 0 replies; 23+ messages in thread
From: Kamil Konieczny @ 2023-03-24 13:43 UTC (permalink / raw)
  To: igt-dev

Hi Mauro,

On 2023-03-22 at 09:28:21 +0100, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> The requirement for having gtk-doc is specific to
> docs/reference/igt-gpu-tools.
> 
> So, move the code to be there. This lets build testplan docs
- ^^^^^^^^
imho better start with: Moved
Moved the code to be there. This lets build testplan docs

> without needing gtk-doc (nor having the IGT executables).
> 
> It should be noticed that testplan indirectly depends on
> build_tests, for one reason only: the tests subdir is only
> included if build_tests is true. Without it, the xe_test_config
> variable will be undefined, as it is declared inside a tests
> subdir.
> 
> So, we need to add an extra test for the testplan subdir,
- ^^^
> to ensure that the variable is declared.

Same here, maybe reorder it like:

To ensure that the variable is declared we need to add an extra
test for the testplan subdir.

Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

--
Kamil

> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
>  docs/meson.build           |  5 ++++-
>  docs/reference/meson.build |  9 ++++++++-
>  meson.build                | 11 +++--------
>  3 files changed, 15 insertions(+), 10 deletions(-)
> 
> diff --git a/docs/meson.build b/docs/meson.build
> index 01edf64f04a8..9bfec8fee80b 100644
> --- a/docs/meson.build
> +++ b/docs/meson.build
> @@ -1,2 +1,5 @@
>  subdir('reference')
> -subdir('testplan')
> +
> +if xe_test_config != ''
> +	subdir('testplan')
> +endif
> diff --git a/docs/reference/meson.build b/docs/reference/meson.build
> index 85a8aa47f920..12ccbd911af7 100644
> --- a/docs/reference/meson.build
> +++ b/docs/reference/meson.build
> @@ -1 +1,8 @@
> -subdir('igt-gpu-tools')
> +gtk_doc = dependency('gtk-doc', required : build_docs)
> +if build_tests and gtk_doc.found()
> +	subdir('igt-gpu-tools')
> +elif build_docs.enabled()
> +	error('Documentation requires building tests')
> +endif
> +
> +build_info += 'Build reference documentation: @0@'.format(build_docs.enabled())
> diff --git a/meson.build b/meson.build
> index cbb7ead7d9cd..b896283e3244 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -320,6 +320,8 @@ endif
>  subdir('lib')
>  if build_tests
>  	subdir('tests')
> +else
> +	xe_test_config = ''
>  endif
>  build_info += 'Build tests: @0@'.format(build_tests)
>  
> @@ -332,14 +334,7 @@ endif
>  subdir('overlay')
>  subdir('man')
>  subdir('scripts')
> -
> -gtk_doc = dependency('gtk-doc', required : build_docs)
> -if build_tests and gtk_doc.found()
> -	subdir('docs')
> -elif build_docs.enabled()
> -	error('Documentation requires building tests')
> -endif
> -build_info += 'Build documentation: @0@'.format(build_tests and gtk_doc.found())
> +subdir('docs')
>  
>  message('Build options')
>  message('=============')
> -- 
> 2.39.2
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 5/8] meson: get rid of tests/xe/meson.build
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 5/8] meson: get rid of tests/xe/meson.build Mauro Carvalho Chehab
@ 2023-03-24 13:44   ` Kamil Konieczny
  0 siblings, 0 replies; 23+ messages in thread
From: Kamil Konieczny @ 2023-03-24 13:44 UTC (permalink / raw)
  To: igt-dev

On 2023-03-22 at 09:28:23 +0100, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> Currently, this holds just a variable used by testplan. Drop it,
> cleaning up the building system.
> 
> This change allows building the testplan documentation without
> needing to build tests.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

> ---
>  docs/meson.build          | 5 +----
>  docs/testplan/meson.build | 6 ++++++
>  tests/meson.build         | 1 -
>  tests/xe/meson.build      | 1 -
>  4 files changed, 7 insertions(+), 6 deletions(-)
>  delete mode 100644 tests/xe/meson.build
> 
> diff --git a/docs/meson.build b/docs/meson.build
> index 9bfec8fee80b..01edf64f04a8 100644
> --- a/docs/meson.build
> +++ b/docs/meson.build
> @@ -1,5 +1,2 @@
>  subdir('reference')
> -
> -if xe_test_config != ''
> -	subdir('testplan')
> -endif
> +subdir('testplan')
> diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
> index 50063aa2e84f..d34a8212df76 100644
> --- a/docs/testplan/meson.build
> +++ b/docs/testplan/meson.build
> @@ -9,6 +9,12 @@ rst2pdf = find_program('rst2pdf', required: false)
>  
>  stylesheet = meson.current_source_dir() + '/testplan.css'
>  
> +xe_test_config = source_root + '/tests/xe/xe_test_config.json'
> +
> +if not build_tests
> +    test_executables = []
> +endif
> +
>  test_dict = { 'xe_tests': {
>                   'input': xe_test_config, 'extra_args': []
>                }
> diff --git a/tests/meson.build b/tests/meson.build
> index 632e36e059d8..e1cccf6298a6 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -502,7 +502,6 @@ test_executables += executable('sw_sync', 'sw_sync.c',
>  test_list += 'sw_sync'
>  
>  subdir('amdgpu')
> -subdir('xe')
>  
>  subdir('v3d')
>  
> diff --git a/tests/xe/meson.build b/tests/xe/meson.build
> deleted file mode 100644
> index bb344f95d59d..000000000000
> --- a/tests/xe/meson.build
> +++ /dev/null
> @@ -1 +0,0 @@
> -xe_test_config = meson.current_source_dir() + '/xe_test_config.json'
> -- 
> 2.39.2
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 6/8] testplan/meson.build: cleanup dependency chain
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 6/8] testplan/meson.build: cleanup dependency chain Mauro Carvalho Chehab
@ 2023-03-24 13:49   ` Kamil Konieczny
  0 siblings, 0 replies; 23+ messages in thread
From: Kamil Konieczny @ 2023-03-24 13:49 UTC (permalink / raw)
  To: igt-dev

On 2023-03-22 at 09:28:24 +0100, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> Simplify the checks inside testplan/meson.build and ensure that
> it will only build if option build_testplan is selected, by moving
> such check to docs/meson.build.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

> ---
>  docs/meson.build          |  5 ++++-
>  docs/testplan/meson.build | 42 +++++++++++++++++----------------------
>  meson.build               |  3 +++
>  scripts/meson.build       |  4 ++--
>  4 files changed, 27 insertions(+), 27 deletions(-)
> 
> diff --git a/docs/meson.build b/docs/meson.build
> index 01edf64f04a8..d56260564cec 100644
> --- a/docs/meson.build
> +++ b/docs/meson.build
> @@ -1,2 +1,5 @@
>  subdir('reference')
> -subdir('testplan')
> +
> +if igt_doc_script.found()
> +	subdir('testplan')
> +endif
> diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
> index d34a8212df76..9e7ae7a04753 100644
> --- a/docs/testplan/meson.build
> +++ b/docs/testplan/meson.build
> @@ -1,10 +1,7 @@
>  testplan_title = 'IGT test plans'
>  
> -build_testplan = get_option('testplan')
> -build_sphinx = get_option('sphinx')
> -
> -rst2html = find_program('rst2html-3', 'rst2html', required : build_testplan)
>  sphinx = find_program('sphinx-build', required: build_sphinx)
> +rst2html = find_program('rst2html-3', 'rst2html', required : false)
>  rst2pdf = find_program('rst2pdf', required: false)
>  
>  stylesheet = meson.current_source_dir() + '/testplan.css'
> @@ -20,26 +17,24 @@ test_dict = { 'xe_tests': {
>                }
>              }
>  
> -if igt_doc_script.found()
> -    foreach testplan, fields: test_dict
> -        rst = custom_target(testplan + '.rst',
> -                            build_by_default : true,
> -                            command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
> -                            depends : test_executables,
> -                            input : fields['input'],
> -                            output : testplan + '.rst'
> -                            )
> +foreach testplan, fields: test_dict
> +    rst = custom_target(testplan + '.rst',
> +                        build_by_default : true,
> +                        command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
> +                        depends : test_executables,
> +                        input : fields['input'],
> +                        output : testplan + '.rst'
> +                        )
>  
> -        if rst2html.found()
> -            custom_target(testplan + '.html',
> -                          build_by_default : true,
> -                          command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
> -                          input : rst,
> -                          output : testplan + '.html'
> -                          )
> -        endif
> -    endforeach
> -endif
> +    if rst2html.found()
> +        custom_target(testplan + '.html',
> +                      build_by_default : true,
> +                      command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
> +                      input : rst,
> +                      output : testplan + '.html'
> +                      )
> +    endif
> +endforeach
>  
>  if sphinx.found()
>      if gen_rst_index.found()
> @@ -75,7 +70,6 @@ if sphinx.found()
>      endif
>  endif
>  
> -build_info += 'Build ReST test documentation: @0@'.format(igt_doc_script.found())
>  build_info += 'Build simple html testplan documentation: @0@'.format(rst2html.found())
>  build_info += 'Build indexed html testplan documentation: @0@'.format(sphinx.found())
>  build_info += 'Build pdf testplan documentation: @0@'.format(sphinx.found() and rst2pdf.found())
> diff --git a/meson.build b/meson.build
> index 12d5113a9042..7360634fe199 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -328,6 +328,9 @@ else
>  endif
>  build_info += 'Build tests: @0@'.format(build_tests)
>  
> +build_testplan = get_option('testplan')
> +build_sphinx = get_option('sphinx')
> +
>  subdir('benchmarks')
>  subdir('tools')
>  subdir('runner')
> diff --git a/scripts/meson.build b/scripts/meson.build
> index ce12aa02e946..98783222b6fc 100644
> --- a/scripts/meson.build
> +++ b/scripts/meson.build
> @@ -12,5 +12,5 @@ if build_tests
>  	endforeach
>  endif
>  
> -igt_doc_script = find_program('igt_doc.py')
> -gen_rst_index = find_program('gen_rst_index')
> +igt_doc_script = find_program('igt_doc.py', required : build_testplan)
> +gen_rst_index = find_program('gen_rst_index', required : build_sphinx)
> -- 
> 2.39.2
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 8/8] testplan/meson.build: re-indent file
  2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 8/8] testplan/meson.build: re-indent file Mauro Carvalho Chehab
@ 2023-03-24 13:50   ` Kamil Konieczny
  0 siblings, 0 replies; 23+ messages in thread
From: Kamil Konieczny @ 2023-03-24 13:50 UTC (permalink / raw)
  To: igt-dev

On 2023-03-22 at 09:28:26 +0100, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> As other meson.build files are using tabs to align, replace
> spaces with tabs here too.
> 
> Just cosmetic changes.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

> ---
>  docs/testplan/meson.build | 94 +++++++++++++++++++--------------------
>  1 file changed, 47 insertions(+), 47 deletions(-)
> 
> diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
> index 10ea4be9a3f5..fee568868167 100644
> --- a/docs/testplan/meson.build
> +++ b/docs/testplan/meson.build
> @@ -9,65 +9,65 @@ stylesheet = join_paths(meson.current_source_dir(), 'testplan.css')
>  xe_test_config = join_paths(source_root, 'tests', 'xe', 'xe_test_config.json')
>  
>  if not build_tests
> -    test_executables = []
> +	test_executables = []
>  endif
>  
> -test_dict = { 'xe_tests': {
> -                 'input': xe_test_config, 'extra_args': []
> -              }
> -            }
> +test_dict = { 'xe_tests':
> +		{ 'input': xe_test_config, 'extra_args': [] }
> +	    }
>  
>  foreach testplan, fields: test_dict
> -    rst = custom_target(testplan + '.rst',
> -                        build_by_default : true,
> -                        command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
> -                        depends : test_executables,
> -                        input : fields['input'],
> -                        output : testplan + '.rst'
> -                        )
> +	rst = custom_target(testplan + '.rst',
> +			    build_by_default : true,
> +			    command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
> +			    depends : test_executables,
> +			    input : fields['input'],
> +			    output : testplan + '.rst'
> +			   )
>  
> -    if rst2html.found()
> -        custom_target(testplan + '.html',
> -                      build_by_default : true,
> -                      command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
> -                      input : rst,
> -                      output : testplan + '.html'
> -                      )
> -    endif
> +	if rst2html.found()
> +		custom_target(testplan + '.html',
> +			      build_by_default : true,
> +			      command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
> +			      input : rst,
> +			      output : testplan + '.html'
> +			     )
> +	endif
>  endforeach
>  
>  if sphinx.found()
> -    if gen_rst_index.found()
> -        sphinx_out_dir = meson.current_build_dir()+ '/indexed_html'
> +	if gen_rst_index.found()
> +		sphinx_out_dir = meson.current_build_dir()+ '/indexed_html'
>  
> -        index_rst = custom_target('index.rst',
> -                                build_by_default : true,
> -                                command : [ gen_rst_index, testplan_title, test_dict.keys(), meson.current_build_dir()],
> -                                input : rst,
> -                                output : 'index.rst'
> -                                )
> +		index_rst = custom_target('index.rst',
> +					  build_by_default : true,
> +					  command : [ gen_rst_index, testplan_title, test_dict.keys(), meson.current_build_dir()],
> +					  input : rst,
> +					  output : 'index.rst'
> +					 )
>  
> -        custom_target('index.html',
> -                    build_by_default : true,
> -                    command : [ 'sphinx-build', '-c', meson.current_source_dir(), meson.current_build_dir(), sphinx_out_dir],
> -                    input : index_rst,
> -                    output : 'index.html'
> -                    )
> -    endif
> +		custom_target('index.html',
> +			      build_by_default : true,
> +			      command : [ 'sphinx-build', '-c', meson.current_source_dir(),
> +					  meson.current_build_dir(), sphinx_out_dir],
> +			      input : index_rst,
> +			      output : 'index.html'
> +			     )
> +	endif
>  
> -    if rst2pdf.found()
> -        sphinx_out_pdf = meson.current_build_dir() + '/pdf'
> +	if rst2pdf.found()
> +		sphinx_out_pdf = meson.current_build_dir() + '/pdf'
>  
> -        custom_target('xe_tests.pdf',
> -                      build_by_default : true,
> -                      command : [ 'sphinx-build', '-c', meson.current_source_dir(),
> -                      '-b', 'pdf',
> -                      '-D', 'version=' + meson.project_version(),
> -                      meson.current_build_dir(), sphinx_out_pdf],
> -                      input : index_rst,
> -                      output : 'xe_tests.pdf'
> -                      )
> -    endif
> +		custom_target('xe_tests.pdf',
> +			      build_by_default : true,
> +			      command : [ 'sphinx-build', '-c', meson.current_source_dir(),
> +					  '-b', 'pdf',
> +					  '-D', 'version=' + meson.project_version(),
> +					  meson.current_build_dir(), sphinx_out_pdf],
> +			      input : index_rst,
> +			      output : 'xe_tests.pdf'
> +			     )
> +	endif
>  endif
>  
>  build_info += 'Build simple html testplan documentation: @0@'.format(rst2html.found())
> -- 
> 2.39.2
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 1/8] meson: build Xe test documentation
  2023-03-24 13:31   ` Kamil Konieczny
@ 2023-03-28 17:56     ` Juha-Pekka Heikkila
  2023-03-30  5:20       ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 23+ messages in thread
From: Juha-Pekka Heikkila @ 2023-03-28 17:56 UTC (permalink / raw)
  To: Kamil Konieczny, igt-dev, Mauro Carvalho Chehab

On 24.3.2023 15.31, Kamil Konieczny wrote:
> On 2023-03-22 at 09:28:19 +0100, Mauro Carvalho Chehab wrote:
>> From: Mauro Carvalho Chehab <mchehab@kernel.org>
>>
>> Add the remaining changes at meson for it to build Xe documentation.
>>
>> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

Because of this patch building igt started to fail for me like this:

---
Configuration error:
There is a programable error in your configuration file:

Traceback (most recent call last):
   File "/usr/lib/python2.7/dist-packages/sphinx/config.py", line 157, 
in __init__
     execfile_(filename, config)
   File "/usr/lib/python2.7/dist-packages/sphinx/util/pycompat.py", line 
150, in execfile_
     exec_(code, _globals)
   File "/usr/lib/python2.7/dist-packages/six.py", line 709, in exec_
     exec("""exec _code_ in _globs_, _locs_""")
   File "<string>", line 1, in <module>
   File "conf.py", line 6, in <module>
     from shutil import which
ImportError: cannot import name which
---

Cleaning out old build and rebuild also fail. This is on ubuntu 18.04

/Juha-Pekka

> 
>> ---
>>   docs/meson.build           |  1 +
>>   docs/testplan/conf.py      | 42 +++++++++++++++++++++++++++++++++++++
>>   docs/testplan/testplan.css |  7 +++++++
>>   meson_options.txt          |  8 +++++++
>>   scripts/gen_rst_index      | 43 ++++++++++++++++++++++++++++++++++++++
>>   scripts/meson.build        |  3 +++
>>   6 files changed, 104 insertions(+)
>>   create mode 100644 docs/testplan/conf.py
>>   create mode 100644 docs/testplan/testplan.css
>>   create mode 100755 scripts/gen_rst_index
>>
>> diff --git a/docs/meson.build b/docs/meson.build
>> index ead14c4015d9..01edf64f04a8 100644
>> --- a/docs/meson.build
>> +++ b/docs/meson.build
>> @@ -1 +1,2 @@
>>   subdir('reference')
>> +subdir('testplan')
>> diff --git a/docs/testplan/conf.py b/docs/testplan/conf.py
>> new file mode 100644
>> index 000000000000..cfb866cc7a15
>> --- /dev/null
>> +++ b/docs/testplan/conf.py
>> @@ -0,0 +1,42 @@
>> +# -*- coding: utf-8 -*-
>> +# SPDX-License-Identifier: (GPL-2.0 OR MIT)
>> +
>> +import sys
>> +import os
>> +from shutil import which
>> +
>> +extensions = []
>> +
>> +if which('rst2pdf'):
>> +    extensions.append('rst2pdf.pdfbuilder')
>> +
>> +source_suffix = '.rst'
>> +master_doc = 'index'
>> +
>> +project = 'IGT Test Tools'
>> +copyright = 'Intel'
>> +author = 'IGT developers'
>> +language = 'en'
>> +
>> +exclude_patterns = []
>> +todo_include_todos = False
>> +
>> +html_theme = "nature"
>> +
>> +html_css_files = []
>> +html_static_path = ['.']
>> +html_copy_source = False
>> +
>> +html_use_smartypants = False
>> +html_sidebars = { '**': ['searchbox.html', 'localtoc.html']}
>> +htmlhelp_basename = 'IGT'
>> +
>> +html_theme_options = {
>> +    "body_max_width": "1520px",
>> +    "sidebarwidth": "400px",
>> +}
>> +
>> +# rst2pdf
>> +pdf_documents = [
>> +    ('index', u'xe_tests', u'IGT Xe Tests', u'IGT authors'),
>> +]
>> diff --git a/docs/testplan/testplan.css b/docs/testplan/testplan.css
>> new file mode 100644
>> index 000000000000..8aa7b7105c19
>> --- /dev/null
>> +++ b/docs/testplan/testplan.css
>> @@ -0,0 +1,7 @@
>> +@import url(html4css1.css);
>> +
>> +.literal {
>> +	background: lightgrey;
>> +        color: darkblue;
>> +        font-size: 14px;
>> +}
>> diff --git a/meson_options.txt b/meson_options.txt
>> index d978813b4feb..d4e373d6cfc4 100644
>> --- a/meson_options.txt
>> +++ b/meson_options.txt
>> @@ -20,6 +20,14 @@ option('man',
>>          type : 'feature',
>>          description : 'Build man pages')
>>   
>> +option('testplan',
>> +       type : 'feature',
>> +       description : 'Build testplan documentation pages in ReST and html')
>> +
>> +option('sphinx',
>> +       type : 'feature',
>> +       description : 'Build testplan documentation using Sphinx')
>> +
>>   option('docs',
>>          type : 'feature',
>>          description : 'Build documentation')
>> diff --git a/scripts/gen_rst_index b/scripts/gen_rst_index
>> new file mode 100755
>> index 000000000000..34955a35a443
>> --- /dev/null
>> +++ b/scripts/gen_rst_index
>> @@ -0,0 +1,43 @@
>> +#!/bin/bash -e
>> +# SPDX-License-Identifier: (GPL-2.0 OR MIT)
>> +
>> +## Copyright (C) 2023    Intel Corporation                 ##
>> +## Author: Mauro Carvalho Chehab <mchehab@kernel.org>      ##
>> +##                                                         ##
>> +## Small script to produce a ReST index file               ##
>> +
>> +if [ $# -lt 3 ]; then
>> +	echo 'Usage: $0: <title> <files> <dest_dir>' >&2
>> +	exit 1
>> +fi
>> +
>> +title=$1
>> +shift
>> +
>> +args=( "$@" )
>> +
>> +dest_dir=${args[${#args[@]}-1]}
>> +unset args[${#args[@]}-1]
>> +
>> +if [ ! -d $dest_dir ]; then
>> +	echo "Error: $dest_dir directory doesn't exist" >&2
>> +	exit 1
>> +fi
>> +
>> +dest_file="$dest_dir/index.rst"
>> +
>> +echo $title > "$dest_file"
>> +len=${#title}
>> +for i in $(seq 1 $len); do
>> +	echo -n "=" >> "$dest_file"
>> +done
>> +echo >> "$dest_file"
>> +echo >> "$dest_file"
>> +
>> +echo ".. toctree::" >> "$dest_file"
>> +echo "   :maxdepth: 1" >> "$dest_file"
>> +echo >> "$dest_file"
>> +
>> +for i in "${!args[@]}"; do
>> +	echo "   ${args[$i]}" >> "$dest_file"
>> +done
>> diff --git a/scripts/meson.build b/scripts/meson.build
>> index 342972e66078..ce12aa02e946 100644
>> --- a/scripts/meson.build
>> +++ b/scripts/meson.build
>> @@ -11,3 +11,6 @@ if build_tests
>>   		install_data(prog, install_dir : bindir, install_mode : 'r-xr-xr-x')
>>   	endforeach
>>   endif
>> +
>> +igt_doc_script = find_program('igt_doc.py')
>> +gen_rst_index = find_program('gen_rst_index')
>> -- 
>> 2.39.2
>>



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 1/8] meson: build Xe test documentation
  2023-03-28 17:56     ` Juha-Pekka Heikkila
@ 2023-03-30  5:20       ` Mauro Carvalho Chehab
  2023-03-30 11:13         ` Juha-Pekka Heikkila
  0 siblings, 1 reply; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-30  5:20 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev

On Tue, 28 Mar 2023 20:56:34 +0300
Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> wrote:

> On 24.3.2023 15.31, Kamil Konieczny wrote:
> > On 2023-03-22 at 09:28:19 +0100, Mauro Carvalho Chehab wrote:  
> >> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> >>
> >> Add the remaining changes at meson for it to build Xe documentation.
> >>
> >> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>  
> > 
> > Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>  
> 
> Because of this patch building igt started to fail for me like this:
> 
> ---
> Configuration error:
> There is a programable error in your configuration file:
> 
> Traceback (most recent call last):
>    File "/usr/lib/python2.7/dist-packages/sphinx/config.py", line 157, 
> in __init__
>      execfile_(filename, config)
>    File "/usr/lib/python2.7/dist-packages/sphinx/util/pycompat.py", line 
> 150, in execfile_
>      exec_(code, _globals)
>    File "/usr/lib/python2.7/dist-packages/six.py", line 709, in exec_
>      exec("""exec _code_ in _globs_, _locs_""")
>    File "<string>", line 1, in <module>
>    File "conf.py", line 6, in <module>
>      from shutil import which
> ImportError: cannot import name which
> ---
> 
> Cleaning out old build and rebuild also fail. This is on ubuntu 18.04

I added at IGT upstream two patches, one getting rid of shutil dependency 
and the another one making the conf.py file compatible with Ubuntu 18.04:

	https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/c6585fd1c070c2ad299f6aaa6fa5438535c002b9
	https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/f91dc09b9e9f5794705259e6947e47ae788a0a5d

I tested only with python 3, but just ran vermin[1]. It seems it should
run with any Python version.

[1] https://pypi.org/project/vermin/

Please test.

Regards,
Mauro

> 
> /Juha-Pekka
> 
> >   
> >> ---
> >>   docs/meson.build           |  1 +
> >>   docs/testplan/conf.py      | 42 +++++++++++++++++++++++++++++++++++++
> >>   docs/testplan/testplan.css |  7 +++++++
> >>   meson_options.txt          |  8 +++++++
> >>   scripts/gen_rst_index      | 43 ++++++++++++++++++++++++++++++++++++++
> >>   scripts/meson.build        |  3 +++
> >>   6 files changed, 104 insertions(+)
> >>   create mode 100644 docs/testplan/conf.py
> >>   create mode 100644 docs/testplan/testplan.css
> >>   create mode 100755 scripts/gen_rst_index
> >>
> >> diff --git a/docs/meson.build b/docs/meson.build
> >> index ead14c4015d9..01edf64f04a8 100644
> >> --- a/docs/meson.build
> >> +++ b/docs/meson.build
> >> @@ -1 +1,2 @@
> >>   subdir('reference')
> >> +subdir('testplan')
> >> diff --git a/docs/testplan/conf.py b/docs/testplan/conf.py
> >> new file mode 100644
> >> index 000000000000..cfb866cc7a15
> >> --- /dev/null
> >> +++ b/docs/testplan/conf.py
> >> @@ -0,0 +1,42 @@
> >> +# -*- coding: utf-8 -*-
> >> +# SPDX-License-Identifier: (GPL-2.0 OR MIT)
> >> +
> >> +import sys
> >> +import os
> >> +from shutil import which
> >> +
> >> +extensions = []
> >> +
> >> +if which('rst2pdf'):
> >> +    extensions.append('rst2pdf.pdfbuilder')
> >> +
> >> +source_suffix = '.rst'
> >> +master_doc = 'index'
> >> +
> >> +project = 'IGT Test Tools'
> >> +copyright = 'Intel'
> >> +author = 'IGT developers'
> >> +language = 'en'
> >> +
> >> +exclude_patterns = []
> >> +todo_include_todos = False
> >> +
> >> +html_theme = "nature"
> >> +
> >> +html_css_files = []
> >> +html_static_path = ['.']
> >> +html_copy_source = False
> >> +
> >> +html_use_smartypants = False
> >> +html_sidebars = { '**': ['searchbox.html', 'localtoc.html']}
> >> +htmlhelp_basename = 'IGT'
> >> +
> >> +html_theme_options = {
> >> +    "body_max_width": "1520px",
> >> +    "sidebarwidth": "400px",
> >> +}
> >> +
> >> +# rst2pdf
> >> +pdf_documents = [
> >> +    ('index', u'xe_tests', u'IGT Xe Tests', u'IGT authors'),
> >> +]
> >> diff --git a/docs/testplan/testplan.css b/docs/testplan/testplan.css
> >> new file mode 100644
> >> index 000000000000..8aa7b7105c19
> >> --- /dev/null
> >> +++ b/docs/testplan/testplan.css
> >> @@ -0,0 +1,7 @@
> >> +@import url(html4css1.css);
> >> +
> >> +.literal {
> >> +	background: lightgrey;
> >> +        color: darkblue;
> >> +        font-size: 14px;
> >> +}
> >> diff --git a/meson_options.txt b/meson_options.txt
> >> index d978813b4feb..d4e373d6cfc4 100644
> >> --- a/meson_options.txt
> >> +++ b/meson_options.txt
> >> @@ -20,6 +20,14 @@ option('man',
> >>          type : 'feature',
> >>          description : 'Build man pages')
> >>   
> >> +option('testplan',
> >> +       type : 'feature',
> >> +       description : 'Build testplan documentation pages in ReST and html')
> >> +
> >> +option('sphinx',
> >> +       type : 'feature',
> >> +       description : 'Build testplan documentation using Sphinx')
> >> +
> >>   option('docs',
> >>          type : 'feature',
> >>          description : 'Build documentation')
> >> diff --git a/scripts/gen_rst_index b/scripts/gen_rst_index
> >> new file mode 100755
> >> index 000000000000..34955a35a443
> >> --- /dev/null
> >> +++ b/scripts/gen_rst_index
> >> @@ -0,0 +1,43 @@
> >> +#!/bin/bash -e
> >> +# SPDX-License-Identifier: (GPL-2.0 OR MIT)
> >> +
> >> +## Copyright (C) 2023    Intel Corporation                 ##
> >> +## Author: Mauro Carvalho Chehab <mchehab@kernel.org>      ##
> >> +##                                                         ##
> >> +## Small script to produce a ReST index file               ##
> >> +
> >> +if [ $# -lt 3 ]; then
> >> +	echo 'Usage: $0: <title> <files> <dest_dir>' >&2
> >> +	exit 1
> >> +fi
> >> +
> >> +title=$1
> >> +shift
> >> +
> >> +args=( "$@" )
> >> +
> >> +dest_dir=${args[${#args[@]}-1]}
> >> +unset args[${#args[@]}-1]
> >> +
> >> +if [ ! -d $dest_dir ]; then
> >> +	echo "Error: $dest_dir directory doesn't exist" >&2
> >> +	exit 1
> >> +fi
> >> +
> >> +dest_file="$dest_dir/index.rst"
> >> +
> >> +echo $title > "$dest_file"
> >> +len=${#title}
> >> +for i in $(seq 1 $len); do
> >> +	echo -n "=" >> "$dest_file"
> >> +done
> >> +echo >> "$dest_file"
> >> +echo >> "$dest_file"
> >> +
> >> +echo ".. toctree::" >> "$dest_file"
> >> +echo "   :maxdepth: 1" >> "$dest_file"
> >> +echo >> "$dest_file"
> >> +
> >> +for i in "${!args[@]}"; do
> >> +	echo "   ${args[$i]}" >> "$dest_file"
> >> +done
> >> diff --git a/scripts/meson.build b/scripts/meson.build
> >> index 342972e66078..ce12aa02e946 100644
> >> --- a/scripts/meson.build
> >> +++ b/scripts/meson.build
> >> @@ -11,3 +11,6 @@ if build_tests
> >>   		install_data(prog, install_dir : bindir, install_mode : 'r-xr-xr-x')
> >>   	endforeach
> >>   endif
> >> +
> >> +igt_doc_script = find_program('igt_doc.py')
> >> +gen_rst_index = find_program('gen_rst_index')
> >> -- 
> >> 2.39.2
> >>  
> 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 1/8] meson: build Xe test documentation
  2023-03-30  5:20       ` Mauro Carvalho Chehab
@ 2023-03-30 11:13         ` Juha-Pekka Heikkila
  0 siblings, 0 replies; 23+ messages in thread
From: Juha-Pekka Heikkila @ 2023-03-30 11:13 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: igt-dev

On 30.3.2023 8.20, Mauro Carvalho Chehab wrote:
> On Tue, 28 Mar 2023 20:56:34 +0300
> Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> wrote:
> 
>> On 24.3.2023 15.31, Kamil Konieczny wrote:
>>> On 2023-03-22 at 09:28:19 +0100, Mauro Carvalho Chehab wrote:
>>>> From: Mauro Carvalho Chehab <mchehab@kernel.org>
>>>>
>>>> Add the remaining changes at meson for it to build Xe documentation.
>>>>
>>>> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
>>>
>>> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
>>
>> Because of this patch building igt started to fail for me like this:
>>
>> ---
>> Configuration error:
>> There is a programable error in your configuration file:
>>
>> Traceback (most recent call last):
>>     File "/usr/lib/python2.7/dist-packages/sphinx/config.py", line 157,
>> in __init__
>>       execfile_(filename, config)
>>     File "/usr/lib/python2.7/dist-packages/sphinx/util/pycompat.py", line
>> 150, in execfile_
>>       exec_(code, _globals)
>>     File "/usr/lib/python2.7/dist-packages/six.py", line 709, in exec_
>>       exec("""exec _code_ in _globs_, _locs_""")
>>     File "<string>", line 1, in <module>
>>     File "conf.py", line 6, in <module>
>>       from shutil import which
>> ImportError: cannot import name which
>> ---
>>
>> Cleaning out old build and rebuild also fail. This is on ubuntu 18.04
> 
> I added at IGT upstream two patches, one getting rid of shutil dependency
> and the another one making the conf.py file compatible with Ubuntu 18.04:
> 
> 	https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/c6585fd1c070c2ad299f6aaa6fa5438535c002b9
> 	https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/f91dc09b9e9f5794705259e6947e47ae788a0a5d
> 
> I tested only with python 3, but just ran vermin[1]. It seems it should
> run with any Python version.
> 
> [1] https://pypi.org/project/vermin/
> 
> Please test.

Works for me. Thx for fixing.

/Juha-Pekka

>>>    
>>>> ---
>>>>    docs/meson.build           |  1 +
>>>>    docs/testplan/conf.py      | 42 +++++++++++++++++++++++++++++++++++++
>>>>    docs/testplan/testplan.css |  7 +++++++
>>>>    meson_options.txt          |  8 +++++++
>>>>    scripts/gen_rst_index      | 43 ++++++++++++++++++++++++++++++++++++++
>>>>    scripts/meson.build        |  3 +++
>>>>    6 files changed, 104 insertions(+)
>>>>    create mode 100644 docs/testplan/conf.py
>>>>    create mode 100644 docs/testplan/testplan.css
>>>>    create mode 100755 scripts/gen_rst_index
>>>>
>>>> diff --git a/docs/meson.build b/docs/meson.build
>>>> index ead14c4015d9..01edf64f04a8 100644
>>>> --- a/docs/meson.build
>>>> +++ b/docs/meson.build
>>>> @@ -1 +1,2 @@
>>>>    subdir('reference')
>>>> +subdir('testplan')
>>>> diff --git a/docs/testplan/conf.py b/docs/testplan/conf.py
>>>> new file mode 100644
>>>> index 000000000000..cfb866cc7a15
>>>> --- /dev/null
>>>> +++ b/docs/testplan/conf.py
>>>> @@ -0,0 +1,42 @@
>>>> +# -*- coding: utf-8 -*-
>>>> +# SPDX-License-Identifier: (GPL-2.0 OR MIT)
>>>> +
>>>> +import sys
>>>> +import os
>>>> +from shutil import which
>>>> +
>>>> +extensions = []
>>>> +
>>>> +if which('rst2pdf'):
>>>> +    extensions.append('rst2pdf.pdfbuilder')
>>>> +
>>>> +source_suffix = '.rst'
>>>> +master_doc = 'index'
>>>> +
>>>> +project = 'IGT Test Tools'
>>>> +copyright = 'Intel'
>>>> +author = 'IGT developers'
>>>> +language = 'en'
>>>> +
>>>> +exclude_patterns = []
>>>> +todo_include_todos = False
>>>> +
>>>> +html_theme = "nature"
>>>> +
>>>> +html_css_files = []
>>>> +html_static_path = ['.']
>>>> +html_copy_source = False
>>>> +
>>>> +html_use_smartypants = False
>>>> +html_sidebars = { '**': ['searchbox.html', 'localtoc.html']}
>>>> +htmlhelp_basename = 'IGT'
>>>> +
>>>> +html_theme_options = {
>>>> +    "body_max_width": "1520px",
>>>> +    "sidebarwidth": "400px",
>>>> +}
>>>> +
>>>> +# rst2pdf
>>>> +pdf_documents = [
>>>> +    ('index', u'xe_tests', u'IGT Xe Tests', u'IGT authors'),
>>>> +]
>>>> diff --git a/docs/testplan/testplan.css b/docs/testplan/testplan.css
>>>> new file mode 100644
>>>> index 000000000000..8aa7b7105c19
>>>> --- /dev/null
>>>> +++ b/docs/testplan/testplan.css
>>>> @@ -0,0 +1,7 @@
>>>> +@import url(html4css1.css);
>>>> +
>>>> +.literal {
>>>> +	background: lightgrey;
>>>> +        color: darkblue;
>>>> +        font-size: 14px;
>>>> +}
>>>> diff --git a/meson_options.txt b/meson_options.txt
>>>> index d978813b4feb..d4e373d6cfc4 100644
>>>> --- a/meson_options.txt
>>>> +++ b/meson_options.txt
>>>> @@ -20,6 +20,14 @@ option('man',
>>>>           type : 'feature',
>>>>           description : 'Build man pages')
>>>>    
>>>> +option('testplan',
>>>> +       type : 'feature',
>>>> +       description : 'Build testplan documentation pages in ReST and html')
>>>> +
>>>> +option('sphinx',
>>>> +       type : 'feature',
>>>> +       description : 'Build testplan documentation using Sphinx')
>>>> +
>>>>    option('docs',
>>>>           type : 'feature',
>>>>           description : 'Build documentation')
>>>> diff --git a/scripts/gen_rst_index b/scripts/gen_rst_index
>>>> new file mode 100755
>>>> index 000000000000..34955a35a443
>>>> --- /dev/null
>>>> +++ b/scripts/gen_rst_index
>>>> @@ -0,0 +1,43 @@
>>>> +#!/bin/bash -e
>>>> +# SPDX-License-Identifier: (GPL-2.0 OR MIT)
>>>> +
>>>> +## Copyright (C) 2023    Intel Corporation                 ##
>>>> +## Author: Mauro Carvalho Chehab <mchehab@kernel.org>      ##
>>>> +##                                                         ##
>>>> +## Small script to produce a ReST index file               ##
>>>> +
>>>> +if [ $# -lt 3 ]; then
>>>> +	echo 'Usage: $0: <title> <files> <dest_dir>' >&2
>>>> +	exit 1
>>>> +fi
>>>> +
>>>> +title=$1
>>>> +shift
>>>> +
>>>> +args=( "$@" )
>>>> +
>>>> +dest_dir=${args[${#args[@]}-1]}
>>>> +unset args[${#args[@]}-1]
>>>> +
>>>> +if [ ! -d $dest_dir ]; then
>>>> +	echo "Error: $dest_dir directory doesn't exist" >&2
>>>> +	exit 1
>>>> +fi
>>>> +
>>>> +dest_file="$dest_dir/index.rst"
>>>> +
>>>> +echo $title > "$dest_file"
>>>> +len=${#title}
>>>> +for i in $(seq 1 $len); do
>>>> +	echo -n "=" >> "$dest_file"
>>>> +done
>>>> +echo >> "$dest_file"
>>>> +echo >> "$dest_file"
>>>> +
>>>> +echo ".. toctree::" >> "$dest_file"
>>>> +echo "   :maxdepth: 1" >> "$dest_file"
>>>> +echo >> "$dest_file"
>>>> +
>>>> +for i in "${!args[@]}"; do
>>>> +	echo "   ${args[$i]}" >> "$dest_file"
>>>> +done
>>>> diff --git a/scripts/meson.build b/scripts/meson.build
>>>> index 342972e66078..ce12aa02e946 100644
>>>> --- a/scripts/meson.build
>>>> +++ b/scripts/meson.build
>>>> @@ -11,3 +11,6 @@ if build_tests
>>>>    		install_data(prog, install_dir : bindir, install_mode : 'r-xr-xr-x')
>>>>    	endforeach
>>>>    endif
>>>> +
>>>> +igt_doc_script = find_program('igt_doc.py')
>>>> +gen_rst_index = find_program('gen_rst_index')
>>>> -- 
>>>> 2.39.2
>>>>   
>>



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation
@ 2023-03-22  6:49 Mauro Carvalho Chehab
  0 siblings, 0 replies; 23+ messages in thread
From: Mauro Carvalho Chehab @ 2023-03-22  6:49 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@kernel.org>


IGT has gained support for building Xe driver test documentation,
but there are a few left-overs for it to work.

Add the left overs, creating Xe test documentation at build time.

---

v4:
  - Fixed a build error when tests are disabled;
  - get rid of source_root future deprecated warning;
  - testplan/meson.build now uses join_paths;
  - dropped tests/xe/meson.build file;
  - re-indented testplan/meson.build.

v3:
  - added SPDG tag to docs/testplan/conf.py;
  - changed description on patch 2;
  - cleanup IGT doc dependency chain.

Mauro Carvalho Chehab (8):
  meson: build Xe test documentation
  testplan: build also a PDF file with the testplan
  meson.build: place gtk-doc dependencies check at the right place
  meson: get rid of a future-deprecated warning
  meson: get rid of tests/xe/meson.build
  testplan/meson.build: cleanup dependency chain
  testplan/meson.build: use join_paths()
  testplan/meson.build: re-indent file

 docs/meson.build           |   4 ++
 docs/reference/meson.build |  12 +++-
 docs/testplan/conf.py      |  42 ++++++++++++++
 docs/testplan/meson.build  | 112 +++++++++++++++++++++----------------
 docs/testplan/testplan.css |   7 +++
 lib/meson.build            |   2 +-
 meson.build                |  17 +++---
 meson_options.txt          |   8 +++
 scripts/gen_rst_index      |  43 ++++++++++++++
 scripts/meson.build        |   3 +
 tests/meson.build          |   1 -
 tests/xe/meson.build       |   1 -
 12 files changed, 192 insertions(+), 60 deletions(-)
 create mode 100644 docs/testplan/conf.py
 create mode 100644 docs/testplan/testplan.css
 create mode 100755 scripts/gen_rst_index
 delete mode 100644 tests/xe/meson.build

-- 
2.39.2

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2023-03-30 11:13 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 1/8] meson: build " Mauro Carvalho Chehab
2023-03-24 13:31   ` Kamil Konieczny
2023-03-28 17:56     ` Juha-Pekka Heikkila
2023-03-30  5:20       ` Mauro Carvalho Chehab
2023-03-30 11:13         ` Juha-Pekka Heikkila
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 2/8] testplan: build also a PDF file with the testplan Mauro Carvalho Chehab
2023-03-24 13:32   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 3/8] meson.build: place gtk-doc dependencies check at the right place Mauro Carvalho Chehab
2023-03-24 13:43   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 4/8] meson: get rid of a future-deprecated warning Mauro Carvalho Chehab
2023-03-22 19:11   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 5/8] meson: get rid of tests/xe/meson.build Mauro Carvalho Chehab
2023-03-24 13:44   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 6/8] testplan/meson.build: cleanup dependency chain Mauro Carvalho Chehab
2023-03-24 13:49   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 7/8] testplan/meson.build: use join_paths() Mauro Carvalho Chehab
2023-03-22 19:14   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 8/8] testplan/meson.build: re-indent file Mauro Carvalho Chehab
2023-03-24 13:50   ` Kamil Konieczny
2023-03-22  9:24 ` [igt-dev] ✓ Fi.CI.BAT: success for Build Xe test documentation Patchwork
2023-03-22 13:59 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2023-03-22  6:49 [igt-dev] [PATCH i-g-t v4 0/8] " Mauro Carvalho Chehab

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.