summaryrefslogtreecommitdiff
path: root/lib/drmtest.c
AgeCommit message (Collapse)Author
2013-11-27lib: Add gem_bo_busyVille Syrjälä
Move gem_bo_busy() from gem_wait_render_timeout.c to lib. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2013-11-27lib: Add gem_sw_finish()Ville Syrjälä
Wrap DRM_IOCTL_I915_GEM_SW_FINISH into gem_sw_finish() Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2013-11-14lib: adjust oom_scoreDaniel Vetter
This way the igt test will always be killed first (hopefully), preventing mayhem when one of the memory thrashing tests treatens to take down the entire system. To avoid any burden on test writers we adjust the oom score on drm_open, any of the fork helpers and subtest init. That should cover everything. v2: Fix it up. Cc: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-12lib/drmtest: Get the correct basename() under AndroidOscar Mateo
Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-12build: Fix assorted compilation warningsOscar Mateo
As these files are compiled for every test, the warnings cluttered the Android build completely. v2: As suggested by Daniel Vetter, drop some of the fixes and fix the compilation flags instead. Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-12lib: Move kms stuff from drmtest.c over to igt_kms.cOscar Mateo
This makes cairo dependencies easier to handle. Otherwise, we would have to litter drmtest all over with "#ifndef ANDROID" Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> [danvet: Add missing _GNU_SOURCE to igt_kms.c and missing include to intel_sprite_on.c] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-05lib/drmtest: Retire requests via drop caches after gem_quiescent_gpuOscar Mateo
This helps make sure that the GPU is really quiescent by getting rid of any residual stuff. Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-01lib: make igt_install_exit_handler never failDaniel Vetter
Most callers didn't bother checking, so just move the asserts into the function itself. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-01lib: make igt_set_vt_graphics_mode never failDaniel Vetter
All tests agree that this is a letal failure, so no point to pass it back to callers. Also add some igt_require calls for the drm_fd where I've noticed that it's missing. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-01lib: fix igt_exit assert when only listing subtests.Daniel Vetter
Ooops. Reported by Paulo. Also add a new testcase for make check to make sure this actually works. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-29lib/drmtest: Scream harder when igt_exit isn't called for subtest testsDaniel Vetter
We really need this since otherwise the magic return value handling for running testcases with piglit (or on QA's validation infrastructure) doesn't work properly. We need to be careful though to only install this check on success. See also the previous commits to sprinkle igt_exit() calls over all the tests that missed it. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-28lib: Add a drm_open_any_render() that will try to use render nodesDamien Lespiau
I was fedup with having to run my tests as root and not being able to use my usual setup for tests that only exercise the GT part of the GPU. Render nodes to the rescue! Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-10-28lib: Close non intel fds in drm_get_card()Damien Lespiau
When going through card%u devices, close the ones that we were able to open but weren't intel devices. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-10-28lib: Remove stale commentDamien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-10-21lib/drmtest: Add kmstest_paint_color_alpha()Ville Syrjälä
kmstest_paint_color_alpha() just like kmstest_paint_color() except you also get to specify the alpha channel. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2013-10-20kmstest: don't pollute stderr for impossible output configsDaniel Vetter
Otherwise on machines where the only output available is restricted to one pipe we'll have tons of "warn" results for no gain in the piglit runner. All tests that use the kmstest helpers already check the return value and do something sensible (like skip the tests if there's really no config available). Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-18rendercopy: Add a way to dump an .aub file with the rendercopy bosDamien Lespiau
v2 (by Ben): Remove libdrm dependency since intel-gpu-tools now requires a higher version anyway. Remove associated #ifdef ENABLE_AUB_DUMP Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
2013-10-18lib: fix the assert in igt_stop_helperDaniel Vetter
So much for developing different patches on different machines and then not retesting after rebasing. Reported by Ben on irc. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-17lib/drmtest: Check that helper processes have died correctlyDaniel Vetter
If the test gets stopped sometimes a helper process falls over. We need to report this. Since we currently don't track helper process to precisely we can't shut up the 2nd test failure messge. This shouldn't happen anyway. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-15lib: Add kmstest_paint_color()Damien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-10-10tests/gem_suspend: test debugfs/sysfs reads while s/rDaniel Vetter
Just a very quick hack cobbled together with /bin/sh and exec. We can't use system since that does stupid things with singals ... Still we need to whack the child process pretty hard to get rid of it. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-09lib/drmtest: extract rawer __gem_set_tilingDaniel Vetter
For tests that expect failures. Also apply the existing gem_set_tiling helper a bit wider. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-30lib: Adjust dump_modes() to the new stereo encodingDamien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30testdisplay: Use DRM_MODE_FLAG_3D_MASKDamien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30lib: Add a helper to write a png from a struct kmstest_fbDamien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30lib: Split create_image_surface() out of create_cairo_ctx()Damien Lespiau
So we can use it in the next commit. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30lib: Add a helper to paint a PNG using cairoDamien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30lib: Dump information about the supported 3D stereo formatsDamien Lespiau
When dumping the details of a mode, let's add the 3D formats the mode supports. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-19lib/drmtest: Improve printf-like igt_skip_on/requireDaniel Vetter
Ben Widawsky suggested to use vasprintf, which perfectly fits the bill. Also fix the logic conversion bug in tests/gem_storedw_batches_loop that crept in again :( Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-19lib/drmtest: igt_assert|require with format stringsDaniel Vetter
v2: Add a comment about the pitfalls around va_list handling. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-17lib/drmtest: check that igt_exit is called for subtest testsDaniel Vetter
I get this wrong for almost every conversion to subtests ... v2: Don't install the check when just listing subtest names. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-13lib/drmtest: ducttape over fork raceDaniel Vetter
Whatever the reason (and I've thought there isn't one) if we fork and kill right away the child seems to not reliably die. We can work around this little race by forcing the default SIGQUIT handler. This should break anything since we reset our atexit handling anyway, so if the helper needs any atexit handling the special signal helpers will be reinstated. Note that inserting sufficient amounts of printf between the fork and kill makes this unnecessary. While add it also add the retry loop for the waitpid call, in case there's another guy constantly interrupting us. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-13lib/drmtest: skip suspend tests in simulationDaniel Vetter
The simulator doesn't like this nor really support it :( v2: We've tried to a more gentle resume testing using the pm_test infrastructure, but that alos failed. So add a FIXME comment that we need to improve things a bit here. Cc: Ben Widawsky <benjamin.widawsky@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-12lib/drmtest: drop unused oldsig variabelDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-11lib/drmtest: Restore default sighandlersDaniel Vetter
Forked tests ended up restoring the sighandlers already inherited from the parent, resulting in endless signal loops through our atexit handler. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-11lib/drmtest: don't frob signals in __igt_fork_helperDaniel Vetter
We shut up the exit handlers already by clearing the array. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-11lib/drmtest: clean up children in an exit handlerDaniel Vetter
Also be a bit more careful with killing them in general. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-11lib/drmtest: handle SIGBUS in the exit handlersDaniel Vetter
Our kernel likes to occasionally kill process with a SIGBUS when this shouldn't ever happen. Hence also handle this signal in the exit handler infrastructure. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-11lib/drmtest: Reject igt_fork from within igt_fork earlierDaniel Vetter
We reject it in igt_waitchildren already, but earlier is better. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-11lib/drmtest: Fix igt_stop_signal_helper for subtest listingDaniel Vetter
We need to bail out early for otherwise we'll hit the !signal_helper->running assert. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-11lib/drmtest: skip when prefault control isn't availableDaniel Vetter
Instead of crashing with an igt_assert. Fixes the only crashing test when running igt on non-intel systems. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-11lib/drmtest: Use ARRAY_SIZEDaniel Vetter
Less fragile ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-10lib/drmtest: double-check that we clean up helper processesDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-10lib/drmtest: consolidate the helper process killing in one exit handlerDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-10lib/drmtest: create helpers for forking helper threadsDaniel Vetter
The upshot is that we can share the logic to make sure the helpers are all properly stoved again in a 2nd step. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-08lib/drmtest: fixup for the prefault reworkDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-08lib/drmtest: Avoid calling exit handlers multiple timesDaniel Vetter
- reset the count when forking - don't add the same handler multiple times - don't restore the exit signal handlers in the forked helper process - reset the exit handler count once called to make sure we don't call it multiple times when dying - don't wait for the signal helper if it's gone already Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-03lib/drmtest: use igt_require/assert in the prefault helpersDaniel Vetter
2013-09-03lib/drmtest: extract gem_execbuf helperDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-02lib/drmtest: Improve output when igt_waitchildren failsDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>