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 4/8] meson: get rid of a future-deprecated warning
  2023-03-22  6:49 [igt-dev] [PATCH i-g-t v4 0/8] " Mauro Carvalho Chehab
@ 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>

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

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
2023-03-22  6:49 ` [igt-dev] [PATCH i-g-t v4 4/8] meson: get rid of a future-deprecated warning 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.