* [igt-dev] [PATCH i-g-t 0/3] Validate Xe field descriptions at build time
@ 2023-08-10 12:32 Mauro Carvalho Chehab
2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 1/3] xe_test_config.json: mark some fields are mandatory at subtest level Mauro Carvalho Chehab
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2023-08-10 12:32 UTC (permalink / raw)
To: igt-dev
From: Mauro Carvalho Chehab <mchehab@kernel.org>
Some fields shall be mandatory on every subtest. Add a logic to check
if those are filled, enforcing it during build time.
We should probably merge patches 1 and 2 first, as currently, 83
subtests are not properly documented on Xe driver.
Mauro Carvalho Chehab (3):
xe_test_config.json: mark some fields are mandatory at subtest level
scripts/test_list.py: add a check for missing features
[RFC] scripts/test_list.py: enforce mandatory fields to be filled
scripts/test_list.py | 18 ++++++++++++++++--
tests/xe/xe_test_config.json | 5 +++++
2 files changed, 21 insertions(+), 2 deletions(-)
--
2.41.0
^ permalink raw reply [flat|nested] 5+ messages in thread* [igt-dev] [PATCH i-g-t 1/3] xe_test_config.json: mark some fields are mandatory at subtest level 2023-08-10 12:32 [igt-dev] [PATCH i-g-t 0/3] Validate Xe field descriptions at build time Mauro Carvalho Chehab @ 2023-08-10 12:32 ` Mauro Carvalho Chehab 2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 2/3] scripts/test_list.py: add a check for missing features Mauro Carvalho Chehab ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: Mauro Carvalho Chehab @ 2023-08-10 12:32 UTC (permalink / raw) To: igt-dev From: Mauro Carvalho Chehab <mchehab@kernel.org> Some IGT Xe tests were added without proper documentation. Currently, igt_doc.py doesn't know what fields are mandatory or not, so it can't enforce it. Add a field to mark those. Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> --- tests/xe/xe_test_config.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/xe/xe_test_config.json b/tests/xe/xe_test_config.json index 08c39de74384..8fb65d02d840 100644 --- a/tests/xe/xe_test_config.json +++ b/tests/xe/xe_test_config.json @@ -5,6 +5,7 @@ "fields": { "Category": { "_properties_": { + "mandatory": true, "description": "Contains the major group for the tested functionality, being hardware, software or firmware" }, "Mega feature": { @@ -13,10 +14,12 @@ }, "Sub-category": { "_properties_": { + "mandatory": true, "description": "Contains the the technical feature/functionality" }, "Functionality": { "_properties_": { + "mandatory": true, "description": "Groups page table tests on buckets containg more detailed functionality" }, "Feature": { @@ -27,6 +30,7 @@ }, "Run type": { "_properties_": { + "mandatory": true, "description": "Defines what category of testlist it belongs", "order": [ "boot", @@ -75,6 +79,7 @@ }, "Description" : { "_properties_": { + "mandatory": true, "description": "Provides a description for the test/subtest." } } -- 2.41.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [igt-dev] [PATCH i-g-t 2/3] scripts/test_list.py: add a check for missing features 2023-08-10 12:32 [igt-dev] [PATCH i-g-t 0/3] Validate Xe field descriptions at build time Mauro Carvalho Chehab 2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 1/3] xe_test_config.json: mark some fields are mandatory at subtest level Mauro Carvalho Chehab @ 2023-08-10 12:32 ` Mauro Carvalho Chehab 2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 3/3] [RFC] scripts/test_list.py: enforce mandatory fields to be filled Mauro Carvalho Chehab 2023-08-10 14:45 ` [igt-dev] ✗ Fi.CI.BUILD: failure for Validate Xe field descriptions at build time Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Mauro Carvalho Chehab @ 2023-08-10 12:32 UTC (permalink / raw) To: igt-dev From: Mauro Carvalho Chehab <mchehab@kernel.org> Some fields shall always be present at the documentation. Add a check for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> --- scripts/test_list.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/scripts/test_list.py b/scripts/test_list.py index 4f580fb3de58..c23d6d735edf 100755 --- a/scripts/test_list.py +++ b/scripts/test_list.py @@ -936,13 +936,27 @@ class TestList: if self.filters: print("NOTE: test checks are affected by filters") + mandatory_fields = set() + for field, item in self.props.items(): + if item["_properties_"].get("mandatory"): + mandatory_fields.add(field) + doc_subtests = set() args_regex = re.compile(r'\<[^\>]+\>') - for subtest in self.get_subtests()[""]: + missing_mandatory_fields = False + + subtests = self.expand_dictionary(True) + for subtest, data in sorted(subtests.items()): subtest = "@".join(subtest.split("@")[:3]) subtest = args_regex.sub(r'\\d+', subtest) + + for field in mandatory_fields: + if field not in data: + print(f"Warning: {subtest} {field} documentation is missing") + missing_mandatory_fields = True + doc_subtests.add(subtest) doc_subtests = list(sorted(doc_subtests)) -- 2.41.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [igt-dev] [PATCH i-g-t 3/3] [RFC] scripts/test_list.py: enforce mandatory fields to be filled 2023-08-10 12:32 [igt-dev] [PATCH i-g-t 0/3] Validate Xe field descriptions at build time Mauro Carvalho Chehab 2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 1/3] xe_test_config.json: mark some fields are mandatory at subtest level Mauro Carvalho Chehab 2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 2/3] scripts/test_list.py: add a check for missing features Mauro Carvalho Chehab @ 2023-08-10 12:32 ` Mauro Carvalho Chehab 2023-08-10 14:45 ` [igt-dev] ✗ Fi.CI.BUILD: failure for Validate Xe field descriptions at build time Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Mauro Carvalho Chehab @ 2023-08-10 12:32 UTC (permalink / raw) To: igt-dev From: Mauro Carvalho Chehab <mchehab@kernel.org> If they won't be filled, compilation will break. Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> --- scripts/test_list.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/test_list.py b/scripts/test_list.py index c23d6d735edf..d52cf23a18ad 100755 --- a/scripts/test_list.py +++ b/scripts/test_list.py @@ -1000,7 +1000,7 @@ class TestList: if run_missing: for test_name in run_missing: print(f'Warning: Missing documentation for {test_name}') - if doc_uneeded or run_missing: + if doc_uneeded or run_missing or missing_mandatory_fields: sys.exit(1) # -- 2.41.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [igt-dev] ✗ Fi.CI.BUILD: failure for Validate Xe field descriptions at build time 2023-08-10 12:32 [igt-dev] [PATCH i-g-t 0/3] Validate Xe field descriptions at build time Mauro Carvalho Chehab ` (2 preceding siblings ...) 2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 3/3] [RFC] scripts/test_list.py: enforce mandatory fields to be filled Mauro Carvalho Chehab @ 2023-08-10 14:45 ` Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2023-08-10 14:45 UTC (permalink / raw) To: Mauro Carvalho Chehab; +Cc: igt-dev == Series Details == Series: Validate Xe field descriptions at build time URL : https://patchwork.freedesktop.org/series/122285/ State : failure == Summary == IGT patchset build failed on latest successful build 85557af77f06ffef7e909c6008788ac34a011b65 tests/intel-ci: fix xe-fast-feedback.testlist Tail of build.log: Warning: igt@xe_ccs@ctrl-surf-copy-new-ctx Functionality documentation is missing Warning: igt@xe_ccs@ctrl-surf-copy-new-ctx Sub-category documentation is missing Warning: igt@xe_ccs@suspend-resume Category documentation is missing Warning: igt@xe_ccs@suspend-resume Functionality documentation is missing Warning: igt@xe_ccs@suspend-resume Sub-category documentation is missing Warning: igt@xe_exercise_blt@fast-copy Category documentation is missing Warning: igt@xe_exercise_blt@fast-copy Functionality documentation is missing Warning: igt@xe_exercise_blt@fast-copy Sub-category documentation is missing Warning: igt@xe_exercise_blt@fast-copy-emit Category documentation is missing Warning: igt@xe_exercise_blt@fast-copy-emit Functionality documentation is missing Warning: igt@xe_exercise_blt@fast-copy-emit Sub-category documentation is missing Warning: igt@xe_media_fill@media-fill Category documentation is missing Warning: igt@xe_media_fill@media-fill Functionality documentation is missing Warning: igt@xe_media_fill@media-fill Sub-category documentation is missing Warning: igt@xe_sysfs_scheduler@job_timeout_ms-invalid Category documentation is missing Warning: igt@xe_sysfs_scheduler@job_timeout_ms-min-max Category documentation is missing Warning: igt@xe_sysfs_scheduler@job_timeout_ms-nonprivileged-user Category documentation is missing Warning: igt@xe_sysfs_scheduler@preempt_timeout_us-invalid Category documentation is missing Warning: igt@xe_sysfs_scheduler@preempt_timeout_us-min-max Category documentation is missing Warning: igt@xe_sysfs_scheduler@preempt_timeout_us-nonprivileged-user Category documentation is missing Warning: igt@xe_sysfs_scheduler@timeslice_duration_us-invalid Category documentation is missing Warning: igt@xe_sysfs_scheduler@timeslice_duration_us-min-max Category documentation is missing Warning: igt@xe_sysfs_scheduler@timeslice_duration_us-nonprivileged-user Category documentation is missing Warning: igt@xe_sysfs_tile@physical_vram_size_bytes Run type documentation is missing Warning: igt@xe_sysfs_tile@physical_vram_size_bytes Category documentation is missing Warning: igt@xe_sysfs_tile@physical_vram_size_bytes Functionality documentation is missing Warning: igt@xe_sysfs_tile@physical_vram_size_bytes Sub-category documentation is missing Warning: igt@xe_uevent@fake_reset_uevent_listener Run type documentation is missing Warning: igt@xe_uevent@fake_reset_uevent_listener Category documentation is missing Warning: igt@xe_uevent@fake_reset_uevent_listener Functionality documentation is missing Warning: igt@xe_uevent@fake_reset_uevent_listener Sub-category documentation is missing Warning: igt@xe_vm@mmap-style-bind-all Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-either-side-full Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-either-side-partial Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-either-side-partial-hammer Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-either-side-partial-large-page-hammer Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-either-side-partial-split-page-hammer Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-end Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-front Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-many-all Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-many-either-side-partial Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-many-either-side-partial-hammer Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-one-partial Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-userptr-all Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-userptr-either-side-full Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-userptr-either-side-partial Functionality documentation is missing Warning: igt@xe_vm@mmap-style-bind-userptr-one-partial Functionality documentation is missing [1618/1622] Generating kms_tests.html with a custom command. [1619/1622] Generating i915_tests.rst with a custom command. ninja: build stopped: subcommand failed. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-08-10 14:45 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-08-10 12:32 [igt-dev] [PATCH i-g-t 0/3] Validate Xe field descriptions at build time Mauro Carvalho Chehab 2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 1/3] xe_test_config.json: mark some fields are mandatory at subtest level Mauro Carvalho Chehab 2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 2/3] scripts/test_list.py: add a check for missing features Mauro Carvalho Chehab 2023-08-10 12:32 ` [igt-dev] [PATCH i-g-t 3/3] [RFC] scripts/test_list.py: enforce mandatory fields to be filled Mauro Carvalho Chehab 2023-08-10 14:45 ` [igt-dev] ✗ Fi.CI.BUILD: failure for Validate Xe field descriptions at build time Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox