Skip to content
  • Daniel Vetter's avatar
    lib/drmtest: skip/fail handling · ba0d2acf
    Daniel Vetter authored
    
    
    Exitcode handling in igt testcases has too ugly facets in combination
    with subtests:
    
    - When individual subtest needed to be skipped for different reasons
      we need to painstakingly thread this information through the test to
      make sure that we still succeed if just one testcase worked (for
      running it with the simple automake test runner in igt). But it also
      needs to correctly report the skip exit value if only this one
      skipped testcase has been run (e.g. when run with piglit or in QA's
      test infrastructure).
    
    - We'd prefer to easily skip (and also fail) subtests without
      hampering other subtests. Again threading the return value of each
      subtest through the code is cumbersome.
    
    To simplify test case writing use longjmps to be able to get out of
    subcases easily. But since longjmps are funny things thug it all away
    into the newly added drmtest_subtest_block macro.
    
    Note that if drmtest_skip is called outside of a subtest, but in a
    testcase with subtests all subsequent subtests will be automatically
    skipped.
    
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    ba0d2acf