[PATCH i-g-t v4 0/4] runner: Allow dynamically ignore dmesg errors or warnings

Kamil Konieczny kamil.konieczny at linux.intel.com
Fri Aug 9 11:01:08 UTC 2024


Allow igt tests to dynamically inform igt_runner about expected
kernel warn or error and allow to ignore it and generate correct
results.

For example, xe_wedged forces wedged state and after checks test
succeeds but runner interprets kernel error message and treat
that as a fail. In dmesg there was:

<6> [259.656065] [IGT] xe_wedged: executing
<6> [259.659888] [IGT] xe_wedged: starting subtest wedged-at-any-timeout
<3> [259.661285] xe 0000:03:00.0: [drm] *ERROR* CRITICAL: Xe has declared device 0000:03:00.0 as wedged.
IOCTLs and executions are blocked. Only a rebind may clear the failure
Please file a _new_ bug report at https://gitlab.freedesktop.org/drm/xe/kernel/issues/new
<5> [259.661375] xe 0000:03:00.0: [drm] GT0: Timedout job: seqno=4294967169, lrc_seqno=4294967169, guc_id=2, flags=0x0 in xe_wedged [1825]

In output on stdout there was:

[381.820788] Starting subtest: wedged-at-any-timeout
[385.137763] Subtest wedged-at-any-timeout: SUCCESS (3.317s)

but in results.json the test is marked as a fail with dmesg-warn:

"igt at xe_wedged@wedged-at-any-timeout":{
"out":"Starting subtest: wedged-at-any-timeout\nSubtest wedged-at-any-timeout: SUCCESS (3.317s)\n",
"err":"Starting subtest: wedged-at-any-timeout\nSubtest wedged-at-any-timeout: SUCCESS (3.317s)\n",
"igt-version":"IGT-Version: 1.28-g9fa156438 (x86_64) (Linux: 6.10.0-rc7-xe x86_64)\n",
"result":"dmesg-warn",

To overcome this test could emit a message, in this case:

add ignored dmesg regex: CRITICAL: Xe has declared device [0-9A-Fa-f:.]* as wedged

Such regex will be cleared after resultsgen proceeds to a next
(dynamic) subtest, so if that happens outside such scenarios
it would be treated in old way.

v2: addressed review comments: removed strdup(), added check for regex
  creation in igt_core (Zbigniew)
  free regex before creating new (Kamil)
v3: added printing error message from glib (Zbigniew)
v4: restore trimming regex line at '\n' in resultgen (Kamil)

Cc: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
Cc: Katarzyna Piecielska <katarzyna.piecielska at intel.com>
Cc: Petri Latvala <adrinael at adrinael.net>
Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Cc: Karol Krol <karol.krol at intel.com>
Cc: Ewelina Musial <ewelina.musial at intel.com>

Kamil Konieczny (4):
  runner/resultgen: Added dynamically ignored dmesg messages
  lib/igt_core: Added message to runner about ignoring kernel warns
  tests/intel/xe_wedged: Inform runner about expected error
  HAX/DO_NOT_MERGE: xe-fast-feedback: test xe_wedged

 lib/igt_core.c                           | 24 +++++++++
 lib/igt_core.h                           |  2 +
 runner/output_strings.h                  |  8 +++
 runner/resultgen.c                       | 68 +++++++++++++++++++++---
 tests/intel-ci/xe-fast-feedback.testlist |  4 ++
 tests/intel/xe_wedged.c                  | 10 ++++
 6 files changed, 108 insertions(+), 8 deletions(-)

-- 
2.43.0



More information about the igt-dev mailing list