Bug 108075 - [CI][BAT] igt_runner: abort on TAINT_PAGE, TAINT_DIE, and TAINT_OOPS
Summary: [CI][BAT] igt_runner: abort on TAINT_PAGE, TAINT_DIE, and TAINT_OOPS
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: IGT (show other bugs)
Version: DRI git
Hardware: Other All
: high normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard: ReadyForDev
Keywords:
: 108627 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-09-26 10:41 UTC by Martin Peres
Modified: 2018-11-16 14:33 UTC (History)
1 user (show)

See Also:
i915 platform: BXT
i915 features: GEM/Other


Attachments

Comment 1 Chris Wilson 2018-09-26 10:48:53 UTC
Pure CI bug. The kernel fatally oops earlier and was in no fit state to run any tests.
Comment 2 Martin Peres 2018-11-01 18:38:21 UTC
*** Bug 108627 has been marked as a duplicate of this bug. ***
Comment 3 Martin Peres 2018-11-16 14:33:32 UTC
author	Petri Latvala <petri.latvala@intel.com>	2018-11-09 13:13:03 +0200
committer	Petri Latvala <petri.latvala@intel.com>	2018-11-15 10:35:23 +0200
commit	111593c49d812a4f4ff9ab0ef053a3ab88a6f73f (patch)
tree	7f8a34859645b3972bc587af663c7530abdec24a
parent	cab148ca3ec904a94d0cd43476cf7e1f8663f906 (diff)

runner: Implement --abort-on-monitored-error

Deviating a bit from the piglit command line flag, igt_runner takes an
optional comma-separated list as an argument to
--abort-on-monitored-error for the list of conditions to abort
on. Without a list all possible conditions will be checked.

Two conditions implemented:
 - "taint" checks the kernel taint level for TAINT_PAGE, TAINT_DIE and
 TAINT_OOPS
 - "lockdep" checks the kernel lockdep status

Checking is done after every test binary execution, and if an abort
condition is met, the reason is printed to stderr (unless log level is
quiet) and the runner doesn't execute any further tests. Aborting
between subtests (when running in --multiple-mode) is not done.

v2:
 - Remember to fclose
 - Taints are unsigned long (Chris)
 - Use getline instead of fgets (Chris)
v3:
 - Fix brainfart with lockdep
v4:
 - Rebase
 - Refactor the abort condition checking to pass down strings
 - Present the abort result in results.json as a pseudo test result
 - Unit tests for the pseudo result
v5:
 - Refactors (Chris)
 - Don't claim lockdep was triggered if debug_locks is not on
   anymore. Just say it's not active.
 - Dump lockdep_stats when aborting due to lockdep (Chris)
 - Use igt@runner@aborted instead for the pseudo result (Martin)
v6:
 - If aborting after a test, generate results.json. Like was already
   done for aborting at startup.
 - Print the test that would be executed next as well when aborting,
   as requested by Tomi.
v7:
 - Remove the resolved TODO item from commit message

Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
Cc: Martin Peres <martin.peres@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.