* [igt-dev] [PATCH i-g-t 0/3] generate an ordered testlist for Xe driver
@ 2023-06-20 8:07 Mauro Carvalho Chehab
2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 1/3] scripts/test_list.py: add support for ordering testlists Mauro Carvalho Chehab
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2023-06-20 8:07 UTC (permalink / raw)
To: igt-dev
From: Mauro Carvalho Chehab <mchehab@kernel.org>
Add support for ordering tests at the documentation tool, and produce
Xe fast feedback testlists on an ordered way.
Mauro Carvalho Chehab (3):
scripts/test_list.py: add support for ordering testlists
xe_test_config.json: add an order for run type
tests/xe: add run type fields to order testlists
scripts/test_list.py | 55 +++++++++++++++++++++++++++++++-----
tests/xe/xe_live_ktest.c | 2 +-
tests/xe/xe_module_load.c | 2 +-
tests/xe/xe_test_config.json | 7 ++++-
4 files changed, 56 insertions(+), 10 deletions(-)
--
2.40.1
^ permalink raw reply [flat|nested] 5+ messages in thread* [igt-dev] [PATCH i-g-t 1/3] scripts/test_list.py: add support for ordering testlists 2023-06-20 8:07 [igt-dev] [PATCH i-g-t 0/3] generate an ordered testlist for Xe driver Mauro Carvalho Chehab @ 2023-06-20 8:07 ` Mauro Carvalho Chehab 2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 2/3] xe_test_config.json: add an order for run type Mauro Carvalho Chehab ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: Mauro Carvalho Chehab @ 2023-06-20 8:07 UTC (permalink / raw) To: igt-dev From: Mauro Carvalho Chehab <mchehab@kernel.org> Testlists usually require an special order, like: - an initial test which loads the driver; - normal tests; - dangerous tests (like KUnit ones). Add support to handle order, by adding an "order" property at the config file. Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> --- scripts/test_list.py | 55 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 7 deletions(-) diff --git a/scripts/test_list.py b/scripts/test_list.py index f676024c9571..76fdcf3dbb4f 100755 --- a/scripts/test_list.py +++ b/scripts/test_list.py @@ -819,18 +819,25 @@ class TestList: # Subtest list methods # - def get_subtests(self, sort_field = None, expand = None): + def get_subtests(self, sort_field = None, expand = None, with_order = False): """Return an array with all subtests""" subtests = {} subtests[""] = [] + order = None + if sort_field: if sort_field.lower() not in self.field_list: sys.exit(f"Field '{sort_field}' is not defined") sort_field = self.field_list[sort_field.lower()] + if with_order: + if "_properties_" in self.props[sort_field]: + if "order" in self.props[sort_field]["_properties_"]: + order = self.props[sort_field]["_properties_"]["order"] + for test in sorted(self.doc.keys()): fname = self.doc[test]["File"] @@ -848,20 +855,54 @@ class TestList: if sort_field in subtest: if expand: test_list = subtest[sort_field].split(expand) + test_list = [s.strip() for s in test_list] + for test_elem in test_list: - test_elem = test_elem.strip() if test_elem not in subtests: subtests[test_elem] = [] - subtests[test_elem].append(subtest["Summary"]) + if order: + subtests[test_elem].append((subtest["Summary"], test_list)) + else: + subtests[test_elem].append(subtest["Summary"]) else: if subtest[sort_field] not in subtests: subtests[subtest[sort_field]] = [] - subtests[subtest[sort_field]].append(subtest["Summary"]) + if order: + subtests[test_elem].append((subtest["Summary"], [subtest[sort_field]])) + else: + subtests[subtest[sort_field]].append(subtest["Summary"]) + else: + if order: + subtests[test_elem].append((subtest["Summary"], [subtest[sort_field]])) + else: + subtests[""].append(subtest["Summary"]) + + else: + if order: + subtests[test_elem].append((subtest["Summary"], [subtest[sort_field]])) else: subtests[""].append(subtest["Summary"]) - else: - subtests[""].append(subtest["Summary"]) + if order: + for group, tests in subtests.items(): + prefix_tests = [] + suffix_tests = [] + middle_tests = [] + is_prefix = True + for k in order: + if k == "__all__": + is_prefix = False + continue + for test in tests: + if k in test[1]: + if is_prefix: + prefix_tests.append(test[0]) + else: + suffix_tests.append(test[0]) + for test in tests: + if test[0] not in prefix_tests and test[0] not in suffix_tests: + middle_tests.append(test[0]) + subtests[group] = prefix_tests + middle_tests + suffix_tests return subtests @@ -1203,7 +1244,7 @@ class TestList: test_prefix = re.sub(r'^igt@', '', test_prefix) # NOTE: currently, it uses a comma for multi-value delimitter - test_subtests = self.get_subtests(sort_field, ",") + test_subtests = self.get_subtests(sort_field, ",", with_order = True) if not os.path.exists(directory): os.makedirs(directory) -- 2.40.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [igt-dev] [PATCH i-g-t 2/3] xe_test_config.json: add an order for run type 2023-06-20 8:07 [igt-dev] [PATCH i-g-t 0/3] generate an ordered testlist for Xe driver Mauro Carvalho Chehab 2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 1/3] scripts/test_list.py: add support for ordering testlists Mauro Carvalho Chehab @ 2023-06-20 8:07 ` Mauro Carvalho Chehab 2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 3/3] tests/xe: add run type fields to order testlists Mauro Carvalho Chehab 2023-06-20 8:49 ` [igt-dev] ✗ Fi.CI.BAT: failure for generate an ordered testlist for Xe driver Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Mauro Carvalho Chehab @ 2023-06-20 8:07 UTC (permalink / raw) To: igt-dev From: Mauro Carvalho Chehab <mchehab@kernel.org> When generating test lists based on run type for the Xe driver, order them in a way that the first test will be the one called after booting the machine (e. g. module load), then normal tests and finally KUnit ones. Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> --- tests/xe/xe_test_config.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/xe/xe_test_config.json b/tests/xe/xe_test_config.json index 334d372d1330..e89f998bc66b 100644 --- a/tests/xe/xe_test_config.json +++ b/tests/xe/xe_test_config.json @@ -22,7 +22,12 @@ }, "Run type": { "_properties_": { - "description": "Defines what category of testlist it belongs" + "description": "Defines what category of testlist it belongs", + "order": [ + "boot", + "__all__", + "kunit" + ] } } } -- 2.40.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [igt-dev] [PATCH i-g-t 3/3] tests/xe: add run type fields to order testlists 2023-06-20 8:07 [igt-dev] [PATCH i-g-t 0/3] generate an ordered testlist for Xe driver Mauro Carvalho Chehab 2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 1/3] scripts/test_list.py: add support for ordering testlists Mauro Carvalho Chehab 2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 2/3] xe_test_config.json: add an order for run type Mauro Carvalho Chehab @ 2023-06-20 8:07 ` Mauro Carvalho Chehab 2023-06-20 8:49 ` [igt-dev] ✗ Fi.CI.BAT: failure for generate an ordered testlist for Xe driver Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Mauro Carvalho Chehab @ 2023-06-20 8:07 UTC (permalink / raw) To: igt-dev From: Mauro Carvalho Chehab <mchehab@kernel.org> Order tests at the fast feedback testlist, when generating testlists based on Run type field: - add boot to xe_module_load, to run such test first when producing a fast feedback testlist; - place kunit tests at the end of the fast feedback testlist, as they have a higher chance of causing GPU hangups. Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> --- tests/xe/xe_live_ktest.c | 2 +- tests/xe/xe_module_load.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/xe/xe_live_ktest.c b/tests/xe/xe_live_ktest.c index 7dcf679069b8..f0cbf4f623bc 100644 --- a/tests/xe/xe_live_ktest.c +++ b/tests/xe/xe_live_ktest.c @@ -8,7 +8,7 @@ * Sub-category: kunit * Functionality: kunit * Test category: functionality test - * Run type: BAT + * Run type: BAT, kunit * * SUBTEST: bo * Functionality: bo diff --git a/tests/xe/xe_module_load.c b/tests/xe/xe_module_load.c index 1c2d4a2e2ea3..3b2dc1fdc90f 100644 --- a/tests/xe/xe_module_load.c +++ b/tests/xe/xe_module_load.c @@ -99,7 +99,7 @@ static const char * const unwanted_drivers[] = { /** * SUBTEST: force-load * Description: Load the Xe driver passing ``force_probe=*`` parameter - * Run type: BAT + * Run type: BAT, boot * * SUBTEST: load * Description: Load the Xe driver -- 2.40.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for generate an ordered testlist for Xe driver 2023-06-20 8:07 [igt-dev] [PATCH i-g-t 0/3] generate an ordered testlist for Xe driver Mauro Carvalho Chehab ` (2 preceding siblings ...) 2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 3/3] tests/xe: add run type fields to order testlists Mauro Carvalho Chehab @ 2023-06-20 8:49 ` Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2023-06-20 8:49 UTC (permalink / raw) To: Mauro Carvalho Chehab; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 7198 bytes --] == Series Details == Series: generate an ordered testlist for Xe driver URL : https://patchwork.freedesktop.org/series/119570/ State : failure == Summary == CI Bug Log - changes from IGT_7339 -> IGTPW_9214 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_9214 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_9214, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/index.html Participating hosts (44 -> 43) ------------------------------ Missing (1): fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_9214: ### IGT changes ### #### Possible regressions #### * igt@i915_suspend@basic-s2idle-without-i915: - bat-mtlp-6: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/bat-mtlp-6/igt@i915_suspend@basic-s2idle-without-i915.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-mtlp-6/igt@i915_suspend@basic-s2idle-without-i915.html Known issues ------------ Here are the changes found in IGTPW_9214 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@gt_heartbeat: - fi-kbl-soraka: [PASS][3] -> [DMESG-FAIL][4] ([i915#5334] / [i915#7872]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html * igt@i915_selftest@live@gt_mocs: - bat-mtlp-8: [PASS][5] -> [DMESG-FAIL][6] ([i915#7059]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html * igt@i915_selftest@live@reset: - bat-rpls-1: [PASS][7] -> [ABORT][8] ([i915#4983] / [i915#7461] / [i915#8347] / [i915#8384]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/bat-rpls-1/igt@i915_selftest@live@reset.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-rpls-1/igt@i915_selftest@live@reset.html * igt@i915_selftest@live@slpc: - bat-rpls-2: NOTRUN -> [DMESG-WARN][9] ([i915#6367]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-rpls-2/igt@i915_selftest@live@slpc.html * igt@i915_suspend@basic-s2idle-without-i915: - bat-rpls-2: NOTRUN -> [ABORT][10] ([i915#6687] / [i915#8668]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html * igt@kms_chamelium_hpd@common-hpd-after-suspend: - bat-dg2-11: NOTRUN -> [SKIP][11] ([i915#7828]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-dg2-11/igt@kms_chamelium_hpd@common-hpd-after-suspend.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: - bat-dg2-11: NOTRUN -> [SKIP][12] ([i915#1845] / [i915#5354]) +3 similar issues [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s3@smem: - fi-rkl-11600: [FAIL][13] ([fdo#103375]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/fi-rkl-11600/igt@gem_exec_suspend@basic-s3@smem.html * igt@i915_selftest@live@gt_lrc: - bat-dg2-11: [INCOMPLETE][15] ([i915#7609] / [i915#7913]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/bat-dg2-11/igt@i915_selftest@live@gt_lrc.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-dg2-11/igt@i915_selftest@live@gt_lrc.html * igt@i915_selftest@live@requests: - bat-mtlp-8: [DMESG-FAIL][17] ([i915#8497]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/bat-mtlp-8/igt@i915_selftest@live@requests.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-mtlp-8/igt@i915_selftest@live@requests.html * igt@i915_selftest@live@reset: - bat-rpls-2: [ABORT][19] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/bat-rpls-2/igt@i915_selftest@live@reset.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-rpls-2/igt@i915_selftest@live@reset.html * igt@i915_selftest@live@slpc: - bat-mtlp-6: [DMESG-WARN][21] ([i915#6367]) -> [PASS][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/bat-mtlp-6/igt@i915_selftest@live@slpc.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-mtlp-6/igt@i915_selftest@live@slpc.html #### Warnings #### * igt@i915_module_load@load: - bat-adlp-11: [DMESG-WARN][23] ([i915#4423]) -> [ABORT][24] ([i915#4423]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7339/bat-adlp-11/igt@i915_module_load@load.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/bat-adlp-11/igt@i915_module_load@load.html [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687 [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7609]: https://gitlab.freedesktop.org/drm/intel/issues/7609 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7872]: https://gitlab.freedesktop.org/drm/intel/issues/7872 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 [i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384 [i915#8497]: https://gitlab.freedesktop.org/drm/intel/issues/8497 [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7339 -> IGTPW_9214 CI-20190529: 20190529 CI_DRM_13290: d8109039969700315ed327adfab8732c3c882bd6 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9214: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/index.html IGT_7339: 4476edb0fb09b886f7e667d1174d13299d98c23f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9214/index.html [-- Attachment #2: Type: text/html, Size: 8525 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-06-20 8:49 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-06-20 8:07 [igt-dev] [PATCH i-g-t 0/3] generate an ordered testlist for Xe driver Mauro Carvalho Chehab 2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 1/3] scripts/test_list.py: add support for ordering testlists Mauro Carvalho Chehab 2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 2/3] xe_test_config.json: add an order for run type Mauro Carvalho Chehab 2023-06-20 8:07 ` [igt-dev] [PATCH i-g-t 3/3] tests/xe: add run type fields to order testlists Mauro Carvalho Chehab 2023-06-20 8:49 ` [igt-dev] ✗ Fi.CI.BAT: failure for generate an ordered testlist for Xe driver Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox