Skip to content
  • Petri Latvala's avatar
    runner: Implement --abort-on-monitored-error · 111593c4
    Petri Latvala authored
    
    
    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: default avatarPetri 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: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
    111593c4