1. 21 Feb, 2019 1 commit
  2. 15 Feb, 2019 4 commits
    • Daniel Vetter's avatar
      lib: Drop IGT_EXIT_TIMEOUT · 0fb09e7f
      Daniel Vetter authored
      We use the timeout status for when the runner had to kill a testcase,
      which indicates a more sever issue than an operation failing that we
      expected to complete within seconds.
      
      Since it's unused, drop it.
      Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: Daniel Vetter's avatarDaniel Vetter <daniel.vetter@intel.com>
      0fb09e7f
    • Daniel Vetter's avatar
      lib: Drop igt_child_done · d21a690f
      Daniel Vetter authored
      Added in
      
      commit 054eb1ab
      Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Date:   Thu Mar 30 14:32:29 2017 +0100
      
          benchmarks/gem_wsim: Command submission workload simulator
      
      but since then the only user was lost.
      
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: Daniel Vetter's avatarDaniel Vetter <daniel.vetter@intel.com>
      d21a690f
    • Daniel Vetter's avatar
      lib: Make sure we leak no child processes · 937df2ef
      Daniel Vetter authored
      There's a lot more ways to leak children than igt_fork, some even
      handrolled. So check for that. Also have a nice littel testcase for
      that too.
      
      v2: Don't hang if there's a leaked child process (Chris). Has the
      added benefit that my library unit test also gets faster!
      
      v3: Rebase.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: Daniel Vetter's avatarDaniel Vetter <daniel.vetter@intel.com>
      937df2ef
    • Daniel Vetter's avatar
      lib: Don't leak children in igt_waitchildren_timeout · 89932c15
      Daniel Vetter authored
      Instead of cleaning up the mess in igt_exit make sure we don't even
      let it out of the container. See also
      
      commit 75487637
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Fri Feb 26 22:11:10 2016 +0000
      
          igt/gem_sync: Enforce a timeout of 20s
      
      which added this helper.
      
      To make sure that everyone follows the rules, add an assert.
      
      We're keeping the cleanup code as a failsafe, and because it speeds
      up the testcase I'm following up with.
      
      v2: Chris pointed out that my original patch did nothing. Which I
      didn't catch because my testcase was also broken. Unfortunately this
      means we need to open code part of the waiting.
      
      v3: The 2nd __igt_waitchildren() isn't necessary, __igt_waitchildren
      recovers from EINTR already and keeps waiting (Chris Wilson).
      
      v4: Change the timeout signal vs waitchildren logic to be race-free
      (Chris).  This changes the exit code for a timeout from
      IGT_EXIT_FAILURE to SIGKILL + 128.
      
      v5: Clarify the docs (Chris).
      Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: Daniel Vetter's avatarDaniel Vetter <daniel.vetter@intel.com>
      89932c15
  3. 30 Jan, 2019 1 commit
  4. 21 Jan, 2019 4 commits
  5. 20 Dec, 2018 1 commit
  6. 27 Nov, 2018 1 commit
  7. 05 Nov, 2018 1 commit
  8. 30 Aug, 2018 1 commit
    • Maarten Lankhorst's avatar
      lib/core: Use libdw to decode stack trace with debugging symbols, v2. · e39e0991
      Maarten Lankhorst authored
      libdw is a new dependency built from the elfutils package. It provides
      us a way to generate line numbers and file names from the instruction
      pointer.
      
      elfutils is LGPLv3 or GPLv2, so it's ok to link against it.
      
      Before:
      IGT-Version: 1.23-g8ae86abd419d (x86_64) (Linux: 4.16.0-1-amd64 x86_64)
      Starting subtest: fail-result
      (meta_test:29661) CRITICAL: Test assertion failure function test_result, file ../tests/meta_test.c:94:
      (meta_test:29661) CRITICAL: Failed assertion: result == 1
      (meta_test:29661) CRITICAL: error: 0 != 1
      Stack trace:
        #0 [__igt_fail_assert+0x20a]
        #1 [test_result+0x7a]
        #2 [__real_main120+0x240]
        #3 [main+0x4a]
        #4 (../csu/libc-start.c) __libc_start_main:344
        #5 [_start+0x2a]
      
      After:
      IGT-Version: 1.23-g8ae86abd419d (x86_64) (Linux: 4.16.0-1-amd64 x86_64)
      Starting subtest: fail-result
      (meta_test:1357) CRITICAL: Test assertion failure function test_result, file ../tests/meta_test.c:94:
      (meta_test:1357) CRITICAL: Failed assertion: result == 1
      (meta_test:1357) CRITICAL: error: 0 != 1
      Stack trace:
        #0 ../lib/igt_core.c:1467 __igt_fail_assert()
        #1 ../tests/meta_test.c:95 test_result()
        #2 ../tests/meta_test.c:137 __real_main120()
        #3 ../tests/meta_test.c:120 main()
        #4 ../csu/libc-start.c:344 __libc_start_main()
        #5 [_start+0x2a]
      
      Changes since v1:
      - Add libdw dependency to readme.
      - Change backtrace format slightly.
      
      Cc: Petri Latvala <petri.latvala@intel.com>
      Signed-off-by: 's avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      [mlankhorst: Add description about libdw in commit msg, name -> dwfl_name]
      Reviewed-by: Petri Latvala's avatarPetri Latvala <petri.latvala@intel.com>
      e39e0991
  9. 09 Aug, 2018 2 commits
  10. 27 Jul, 2018 1 commit
  11. 12 Jul, 2018 1 commit
    • Lucas De Marchi's avatar
      lib/igt_core: fix check for running under gdb · c963fb78
      Lucas De Marchi authored
      Properly check for errors and rename the function since we are checking if we are
      running under gdb, not making it run under gdb. Previously we were
      passing uninitialized data to basename() due to not properly adding the
      nul termination.
      
      ==22293== Conditional jump or move depends on uninitialised value(s)
      ==22293==    at 0x4C306D0: rindex (vg_replace_strmem.c:199)
      ==22293==    by 0x4EC55DD: basename (in /usr/lib64/libc-2.27.so)
      ==22293==    by 0x400744: running_under_gdb (in /tmp/a)
      
      There's another problem with this function that it doesn't detect when
      we are running gdb from a toolchain using a toolchain triplet, but
      that's left for another patch.
      
      v2: remove the fix for repeating the argument on readlink() since that
          landed in another patch
      Signed-off-by: 's avatarLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: Arkadiusz Hiler's avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      c963fb78
  12. 11 Jul, 2018 1 commit
  13. 25 Jun, 2018 1 commit
  14. 08 Jun, 2018 1 commit
  15. 05 Mar, 2018 2 commits
  16. 27 Feb, 2018 1 commit
  17. 13 Dec, 2017 1 commit
    • Chris Wilson's avatar
      lib/core: Don't leak dummyloads between subtests · ea7015f1
      Chris Wilson authored
      If a test fails or skips early, it may not clean up after itself. In
      lieu of having a framework for test deconstructors, hook
      igt_terminate_spin_batches() into exit_subtest() itself so that we don't
      allow a recursive batch from an earlier test to leak into the next and
      cause an unexpected GPU hang.
      
      Similarly, we also want to terminate the dummyload as the first step in
      our atexit handlers (currently it is at the start of the last step) as
      some atexit handlers may be unwittingly exposed to dummyloads and so
      cause another wait on GPU hang.
      
      We trust that the core already distinguishes correctly between the
      principal test process and its children.
      Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: Tvrtko Ursulin's avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      ea7015f1
  18. 05 Dec, 2017 1 commit
  19. 04 Dec, 2017 1 commit
  20. 29 Nov, 2017 1 commit
  21. 24 Nov, 2017 1 commit
  22. 22 Nov, 2017 1 commit
  23. 09 Nov, 2017 1 commit
  24. 16 Oct, 2017 1 commit
    • Imre Deak's avatar
      aux: Suspend signal helper for shell commands · 40d6f19f
      Imre Deak authored
      The clone() system call with a larger executable (like /bin/sh) may have
      difficulty to make progress on some platforms if interrupted frequently.
      So suspend the signal helper process for the duration of the syscall.
      This is needed to solve an actual problem by the next patch.
      
      v2:
      - Clarify/fix code comments. (Chris)
      - Update igt_system_quiet() as well accordingly.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: Imre Deak's avatarImre Deak <imre.deak@intel.com>
      Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v1)
      40d6f19f
  25. 03 Oct, 2017 1 commit
  26. 25 Sep, 2017 1 commit
    • Petri Latvala's avatar
      igt_core: Rework igt_system() · f16a7998
      Petri Latvala authored
      Instead of redirecting output to pipes and forking, redirect after
      forking to avoid having to carefully unredirect before logging
      anything.
      
      igt@tools_test@sysfs_l3_parity had a racy condition where it prints
      the output of intel_l3_parity prepended by [cmd], but that ended up
      being printed again prepended by [cmd] because output was redirected,
      causing outputs to appear multiple times. This patch fixes that.
      
      CC: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
      Signed-off-by: Petri Latvala's avatarPetri Latvala <petri.latvala@intel.com>
      Reviewed-by: Abdiel Janulgue's avatarAbdiel Janulgue <abdiel.janulgue@linux.intel.com>
      f16a7998
  27. 08 Sep, 2017 2 commits
  28. 05 Sep, 2017 1 commit
  29. 28 Aug, 2017 1 commit
  30. 24 Aug, 2017 1 commit
  31. 14 Aug, 2017 1 commit