summaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2018-08-09runner: Unit tests for the runnerPetri Latvala
TODO: Unit tests for the results.json file contents. v2: - Avoid writing the nul character to mock files - Properly set up tmpdirs v3: - Restore the resume-related changes that were lost in rebase v4: - Better teardown for temporary directories - Build with autotools Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-08-09runner: New test runnerPetri Latvala
This is a new test runner to replace piglit. Piglit has been very useful as a test runner, but certain improvements have been very difficult if possible at all in a generic test running framework. Important improvements over piglit: - Faster to launch. Being able to make assumptions about what we're executing makes it possible to save significant amounts of time. For example, a testlist file's line "igt@somebinary@somesubtest" already has all the information we need to construct the correct command line to execute that particular subtest, instead of listing all subtests of all test binaries and mapping them to command lines. Same goes for the regexp filters command line flags -t and -x; If we use -x somebinaryname, we don't need to list subtests from somebinaryname, we already know none of them will get executed. - Logs of incomplete tests. Piglit collects test output to memory and dumps them to a file when the test is complete. The new runner writes all output to disk immediately. - Ability to execute multiple subtests in one binary execution. This was possible with piglit, but its semantics made it very hard to implement in practice. For example, having a testlist file not only selected a subset of tests to run, but also mandated that they be executed in the same order. - Flexible timeout support. Instead of mandating a time tests cannot exceed, the new runner has a timeout on inactivity. Activity is any output on the test's stdout or stderr, or kernel activity via /dev/kmsg. The runner is fairly piglit compatible. The command line is very similar, with a few additions. IGT_TEST_ROOT environment flag is still supported, but can also be set via command line (in place of igt.py in piglit command line). The results are a set of log files, processed into a piglit-compatible results.json file (BZ2 compression TODO). There are some new fields in the json for extra information: - "igt-version" contains the IGT version line. In multiple-subtests-mode the version information is only printed once, so it needs to be duplicated to all subtest results this way. - "dmesg-warnings" contains the dmesg lines that triggered a dmesg-warn/dmesg-fail state. - Runtime information will be different. Piglit takes a timestamp at the beginning and at the end of execution for runtime. The new runner uses the subtest output text. The binary execution time will also be included; The key "igt@somebinary" will have the runtime of the binary "somebinary", whereas "igt@somebinary@a" etc will have the runtime of the subtests. Substracting the subtest runtimes from the binary runtime yields the total time spent doing setup in igt_fixture blocks. v2: - use clock handling from igt_core instead of copypaste - install results binary - less magic numbers - scanf doesn't give empty strings after all - use designated array initialization with _F_JOURNAL and pals - add more comments to dump_dmesg - use signal in kill_child instead of bool - use more 'usual' return values for execute_entry - use signal number instead of magic integers - use IGT_EXIT_INVALID instead of magic 79 - properly remove files in clear_test_result_directory() - remove magic numbers - warn if results directory contains extra files - fix naming in matches_any - construct command line in a cleaner way in add_subtests() - clarify error in filtered_job_list - replace single string fprintfs with fputs - use getline() more sanely - refactor string constants to a shared header - explain non-nul-terminated string handling in resultgen - saner line parsing - rename gen_igt_name to generate_piglit_name - clean up parse_result_string - explain what we're parsing in resultgen - explain the runtime accumulation in add_runtime - refactor result overriding - stop passing needle sizes to find_line functions - refactor stdout/stderr parsing - fix regex whitelist compiling - add TODO for suppressions.txt - refactor dmesg parsing - fill_from_journal returns void - explain missing result fields with TODO comments - log_level parsing with typeof - pass stdout/stderr to usage() instead of a bool - fix absolute_path overflow - refactor settings serialization - remove maybe_strdup function - refactor job list serialization - refactor resuming, add new resume binary - catch mmap failure correctly v3: - rename runner to igt_runner, etc - add meson option for building the runner - use UPPER_CASE names for string constants - add TODO comments for future refactoring - add a midding close() - const correctness where applicable - also build with autotools Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-07-25build: provide stub implementation for memfd_createLucas De Marchi
When libc misses memfd_create(), provide a stub implementation to go through the syscall() route. Syscall numbers are provided for platforms currently supported by i-g-t only. v2: add support to autotools Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Acked-by: Antonio Argenziano <antonio.argenziano@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-18Update NEWS, bump version to 1.23.Arkadiusz Hiler
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2018-07-13igt/gem_userptr: Check read-only mappingsChris Wilson
Setup a userptr object that only has a read-only mapping back to a file store (memfd). Then attempt to write into that mapping using the GPU and assert that those writes do not land (while also writing via a writable userptr mapping into the same memfd to verify that the GPU is working!) v2: Pull the random batch construction into a routine to avoid duplication. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-06-25Make GLib mandatoryPetri Latvala
GLib was originally made optional for Android builds, and Android support was dropped a while ago due to lack of use and maintenance. Building without GLib was broken without bug reports anyway. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-05-16igt: Drop Intel from the name in docs and pathsArkadiusz Hiler
This is just a simple change to reflect the actual state. No rewording yet, just a simple substitution in most visible places - docs, README and paths. There are probably some leftovers here and there, but we can let them be for now, this is already well overdue. v2: fixed couple of obvious leftovers pointed out by Petri Cc: Petri Latvala <petri.latvala@intel.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2018-03-09Update NEWS, bump version to 1.22.Petri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-03-09configure.ac: Properly bump libdrm_amdgpu version requirementPetri Latvala
To actually make the build not use libdrm_amdgpu, the existence check already needs to verify the version, as is done for other uses of PKG_CHECK_EXISTS. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-03-09configure.ac: Bump libdrm_amdgpu version requirementPetri Latvala
amdgpu_cs_wait_fences appeared in 2.4.81 Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Marta Lofstedt <marta.lofstedt@intel.com>
2018-02-27igt: Make libudev mandatoryAntonio Argenziano
Since more essential components use libudev, make its dependency mandatory. Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Petri Latvala <petri.latvala@intel.com>
2018-01-16Update NEWS, bump version to 1.21.Petri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2017-12-22overlay: parse tracepoints from sysfs to figure out fields' locationLionel Landwerlin
With changes going to drm-tip, the tracepoints field locations are going to change. This change introduces a tracepoint parser (using a peg parser) which lets us figure out field positions on the fly. v2: Fix automake build (Lionel) v3: Make overlay build conditional on peg (Petri) Make wait_end callback more readable (Chris) Drop tracepoint_id(), instead parsing from format file (Lionel) v4: Fix existing configure.ac issue with overlay build (Petri) v5: Silence unused function (Lionel) v6: Fix missing double quote in v4 (Lionel) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> For the build system changes: Acked-by: Petri Latvala <petri.latvala@intel.com>
2017-12-04igt: Make dependency on libunwind mandatoryArkadiusz Hiler
With Android support gone there is not much reason for keeping libunwind dependency optional. This also deals (cheaply!) with ifdefs covering huge portions of code, removing a placement minefield. Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-11-29Revert "lib/igt_aux: Make procps optional"Arkadiusz Hiler
This reverts commit d7d3f4e87b827152f00bdf89a67871736672b492 and gets rid of the config option from the meson.build. It was needed only for the Android support. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Petri Latvala <petri.latvala@intel.com>
2017-11-22automake: include drm-uapi headers in EXTRA_DISTDaniel Vetter
This breaks make distcheck otherwise. Cc: Eric Anholt <eric@anholt.net> Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Petri Latvala <petri.latvala@intel.com> Tested-by: Petri Latvala <petri.latvala@intel.com>
2017-11-21tests: Remove libdrm_vc4 dependency.Eric Anholt
The autotools build retains the configure.ac option, while meson folds vc4 into the default build since we don't have any meson_options.txt to control parts of the build. Signed-off-by: Eric Anholt <eric@anholt.net> Acked-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-10-04Update NEWS, bump version to 1.20.Petri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2017-10-02benchmarks: Add ezbench.d files to distPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-10-02benchmarks: Add wsim files to distPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-09-08demos: removeDaniel Vetter
The igt testcase themselves contain plenty of demos, libdrm also contains a bunch of demos, this here just bitrots. So let's remove it. v2: Rebase. v3: Also delete demos/Makefile from configure.ac. This broke clean builds starting with autogen.sh. Acked-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-08-21tests: Introduce audio tests, starting with HDMI signal integrityPaul Kocialkowski
This introduces a new test for audio going through display connectors. It currently contains a single subtest for HDMI signal integrity, but other test cases will be added later on. The test setup consists in using an HDMI-VGA bridge that separates the audio out (via a 3.5 mm jack) and feeding this back to the DUT's line-in where it can be recorded by ALSA with controls correctly configured. The audio test makes use of the audio and ALSA igt libraries helpers. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-21lib: Add ALSA library with dedicated helpersPaul Kocialkowski
This introduces an ALSA library, with dedicated helpers for handling playback and capture. It handles ALSA device identification and configuration as well as a run loop with callback mechanisms for feeding output data and handling input data. This library paves the way for testing audio going through display connectors, such as HDMI. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-14configure.ac: bump libdrm requirement to 2.4.82Dave Airlie
In order to pick up syncobjs. Signed-off-by: Dave Airlie <airlied@redhat.com> Acked-by: Daniel Vetter <daniel.vetter@intel.com>
2017-08-03configure.ac: Try to find XMLRPC with xmlrpc-c-config if pkg-config failsPetri Latvala
Debian and Ubuntu have XMLRPC packages without pkg-config files. Let's do automatically what the user would anyway do manually. Signed-off-by: Petri Latvala <petri.latvala@intel.com> CC: Daniel Vetter <daniel.vetter@intel.com> CC: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> CC: Lyude <lyude@redhat.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-07-26configure.ac: Disable chamelium by default and add enable argumentPaul Kocialkowski
Since the chamelium is not a very usual piece of hardware and requires pulling-in lots of specific dependencies, it makes sense to keep it disabled by default. An explicit --enable-chamelium argument is provided to enable it when necessary. This also leads to more predictable results than automatically enabling it when its dependencies are met. Finally, whether chamelium support is enabled is printed by the information summary at end of the configure run. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude <lyude@redhat.com>
2017-07-25configure.ac: Make udev a dependency for chameliumPaul Kocialkowski
Chamelium testing has a hard dependency on udev. This makes this dependency explicit in configure instead of failing the build when it is missing. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude <lyude@redhat.com>
2017-07-20chamelium: Add support for VGA frame comparison testingPaul Kocialkowski
This adds support for VGA frame comparison testing with the reference generated from cairo. The retrieved frame from the chamelium is first cropped, as it contains the blanking intervals, through a dedicated helper. Another helper function asserts that the analog frame matches or dump it to png if not. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude <lyude@redhat.com>
2017-07-20lib/igt_frame: Add support for analog frame comparison testingPaul Kocialkowski
This adds support for analog frame comparison check, as used in VGA. Since VGA uses a DAC-ADC chain, its data cannot be expected to be pixel perfect. Thus, it is impossible to uses a CRC check and full frames have to be analyzed instead. Such an analysis is implemented, based on both an absolute error threshold and a correlation with the expected error trend for a DAC-ADC chain. It was tested with a couple encoders and provides reliable error detection with few false positives. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude <lyude@redhat.com>
2017-07-19configure.ac: Make glib dependency optional to preserve Android buildPaul Kocialkowski
This adds ifdef wrappers, with matching autoconf macros, to make the dependency on glib (used for parsing configuration) optional. This allows preserving the ability to build IGT on Android, where glib support is lacking. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude <lyude@redhat.com>
2017-07-19configure.ac: Enable back chamelium build by defaultPaul Kocialkowski
Introducing an option for chamelium build inadvertently disabled it by default, according to the definition of the AC_ARG_ENABLE macro. This enables it back chamelium by default. Fixes: fd096fcc ("configure.ac: Make building chamelium an option") Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude <lyude@redhat.com>
2017-07-17configure.ac: Make building chamelium an optionLyude
Originally when chamelium support got added we were expecting basically any distribution to already have the required dependencies for it, however seeing as someone made chamelium compilation conditional that must not actually be the case. This being said however, when compilation of the chamelium tests/libs was made to only build when all of the dependencies were found, nothing was actually added to configure.ac to give even the slightest indication that chamelium support wasn't going to get built. This ended up breaking my autocompletion for the chamelium source files, leading to a multihour troubleshooting session where I eventually realized that someone had changed building chamelium support from mandatory to automatic. For now, I'll make this conditional so that people who can't satisfy these dependencies can disable this and everyone else can get warnings to let them know that they're missing dependencies required to build this. Please add messages in the future to our build scripts when these things get changed :\. Additionally, we also add xmlrpc_util and xmlrpc_client to the chamelium dependencies. This isn't required older versions of libxmlrpc, but it seems that in newer versions they've changed which packages provide which symbols. It shouldn't break building with older versions of xmlrpc though. Signed-off-by: Lyude <lyude@redhat.com>
2017-07-07Revert "configure: Bump libdrm to 2.4.76"Daniel Vetter
This reverts commit 218eb00f3bd0a0e8dd9bb184f6df1550593e8d27. Accidentally pushed I patch that wasn't meant to be. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2017-07-07configure: Bump libdrm to 2.4.76Daniel Vetter
We need this for AMDGPU_FAMILY_AI. Fixes: commit 36b92e809f378e18af980ffa5b29361bd28098cb Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sat Apr 22 13:45:18 2017 +0100 igt: Import basic amdgpu tests from libdrm Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2017-07-06configure.ac: Make AMDGPU depend on libdrm >= 2.4.76Arkadiusz Hiler
AMDGPU_FAMILY_AI was introduced in commit being part of libdrm 2.4.76 release and amd_basic tests are using that define. Since the module is turned on by default this results in compilation failing on machines with older libdrm. Let make them fail on ./configure step instead. Cc: Leo Liu <leo.liu@amd.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reported-by: Martin Peres <martin.peres@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2017-06-09Update NEWS, bump version to 1.19.Petri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
2017-06-09intel-ci: Have the directory included in the distributed tarballsPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2017-06-08configure.ac: Define HAVE_CHAMELIUM in config.hPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07lib/igt_aux: Make procps optionalArkadiusz Hiler
Android does not have procps and it's not easy to compile it as a dependency. We can provide alternative, "naive" implementation that just shells out to external commands (i.e. pkill and lsof) in case we do not have the library. v2: have separate functions for naive impls (J. Nikula) Cc: Jani Nikula <jani.nikula@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-05-30igt: Fix detection of missing flexTvrtko Ursulin
AM_PROG_FLEX macro will set the LEX variable using the missing script when the flex is not present. This will confuse the configure.ac check, which expects the AC_PROG_FLEX behaviour, and will so fail to detect the missing flex: AS_IF([test x"$LEX" != "x:" -a x"$YACC" != xyacc], [enable_assembler=yes], [enable_assembler=no]) This is because AM_PROG_LEX sets the LEX variable to "${SHELL} /home/sc/intel-gpu-tools/build-aux/missing flex", while AC_PROG_LEX would set it to ":". If for some reason we really need to keep AM_PROG_LEX, alternative fix could be something like this placed before the above AS_IF check: AC_MSG_CHECKING([checking for working flex]) if ! eval "$LEX --version >/dev/null 2>&1"; then AC_MSG_RESULT([failed]) LEX=: else AC_MSG_RESULT([pass]) fi Note the evil eval needed to recursively expand variables. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-04-22igt: Import basic amdgpu tests from libdrmChris Wilson
Simple copy and replace of the CUnit tests inside libdrm to form a basis for further prime integration testing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-13Update NEWS, bump version to 1.18.Petri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
2017-03-06configure.ac: require libdrm >= 2.4.75 for I915_EXEC_FENCE_OUTJani Nikula
I915_EXEC_FENCE_OUT was added in libdrm commit a3d715ee14b2 ("Import uapi/i915_drm.h from v4.10-rc5-950-g152d5750dda9") and released in libdrm-2.4.75. Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2017-02-27lib: Add basic support for valgrind annotations.Maarten Lankhorst
SIGRTMAX appears to be used by valgrind now for its internal tracking, so avoid it in the helpers. Also add some valgrind annotations in gem_mmap, to make sure that its accesses are tracked correctly. I've also added gem_munmap, but there are a lot of places that don't use it yet in tests/. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-27Only build chamelium if its dependencies are metChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-26Add support for hotplug testing with the ChameliumLyude
For the purpose of testing things such as hotplugging and bad monitors, the ChromeOS team ended up designing a neat little device known as the Chamelium. More information on this can be found here: https://www.chromium.org/chromium-os/testing/chamelium This adds support for a couple of things to intel-gpu-tools: - igt library functions for connecting to udev and monitoring it for hotplug events, loosely based off of the unfinished hotplugging implementation in testdisplay - Library functions for controlling the chamelium in tests using xmlrpc. A couple of RPC calls were ommitted here, mainly because they didn't seem very useful for our needs (yet) - A set of functions for doing CRC checks and frame comparisons in tests - A set of basic tests using the Chamelium library. Cc: Tomeu Vizoso <tomeu@tomeuvizoso.net> Signed-off-by: Lyude <lyude@redhat.com> Changes since v1: - Don't try to guess connector mappings, have the user specify them manually using a configuration file - Open DRM fd using DRIVER_ANY, not DRIVER_INTEL - Lower the hotplug timeout a little bit, since 30 seconds was leftover from debugging these tests anyway - Don't try to keep track of the original state of the chamelium ports, and just leave them plugged in after each run. This makes more sense to me, since I'd imagine in automated testing setups using chameliums that all of the extra monitors will probably be provided by the Chamelium to begin with, so keeping them plugged in would make sure tests running afterwards that require >1 monitor don't get skipped. - Add wait_for_connector() to the chamelium tests. After some more testing, I found that depending on the system some tests would throw false negatives due to us not waiting long enough for the system to detect that we connected something to it. This mainly happened with VGA connectors, since their lack of HPD makes them take significantly longer for the hardware to notice. wait_for_connector() fixes this by continually reprobing the status of the desired connector (without relying on a hpd event happening, since that might never come) until we get what we want, or we time out and fail. - Use kmstest_get_property() for retrieving EDIDs instead of doing it by hand - Don't hardcode PIPE_A for bringing up the display, use kmstest to find an appropriate CRTC to use. Changes since v2: - Fix incorrect usage of the list helpers when recording new EDIDs - Add missing documentation - Make sure documentation actually appears - Since we finally got video capture working, add CRC functions and fix the ones we couldn't actually test before - In the exit handler, reset the xmlrpc env so we can properly reset the Chamelium even after an RPC error - Make sure compiling without Chamelium support still works Changes since v3: - Change the config file name from .igt_chamelium_rc to .igtrc - Remove chamelium global context - Get rid of define_common_connector_tests() - Get rid of connector list, expose connectors as opaque objects and provide helpers for accessing their attributes - Get rid of configure.ac option for Chamelium - Add tests for CRC functions - Add frame dumping functions + tests - Add FSM handling to chamelium_rpc() - Use LIBUDEV_LIBS in automake, not UDEV_LIBS - Documentation fixes - Improve debugging output some more - Remove skip_without_suspend_support, we no longer need to check for suspend support before calling things - Remove unnessecary malloc() checks with igt_assert() - Don't use igt_require in chamelium_init, leave it up to the caller whether or not to abort when failing to initialize the chamelium - Use igt_assert_eq for making assertions about connector's statuses - Define suspend/resume delay for tests as constant
2017-01-25tools: Add intel_dp_compliance for DisplayPort 1.2 compliance automationNavare, Manasi D
This is the userspace component of the Displayport Compliance testing software required for compliance testing of the I915 Display Port driver. This must be running in order to successfully complete Display Port compliance testing. This app and the kernel code that accompanies it has been written to satify the requirements of the Displayport Link CTS 1.2 rev1.1 specification from VESA. Note that this application does not support eDP compliance testing. This utility has an automation support for the Link training tests (4.3.1.1. - 4.3.2.3), EDID tests (4.2.2.3 - 4.2.2.6) and Video Pattern generation tests (4.3.3.1) from CTS specification 1.2 Rev 1.1. This tool has the support for responding to the hotplug uevents sent by compliance testting unit after each test. The Linux DUT running this utility must be in text (console) mode and cannot have any other display manager running. Since this uses sysfs nodes for kernel interaction, this utility should be run as Root. Once this user application is up and running, waiting for test requests, the test appliance software on the windows host can now be used to execute the compliance tests. This app is based on some prior work done in April 2015 (by Todd Previte <tprevite@gmail.com>) v2: * Add mode unset on hotplug uevent on disconnect (Manasi Navare) v3: Made capitalization consistent Reduced line lengths Added return value checks Changed how GLib is linked Fixed build warnings v4: * Conditionally build this tool if UDEV is present (Petri Latvala) * igt_warn and info cleanup to remove \r * Add intel_dp_compliance to tools/.gitignore * Change the year in copyright statements to current (Petri Latvala) Cc: Petri Latvala <petri.latvala@intel.com> Cc: Marius Vlad <marius.c.vlad@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-01-03igt_core: add igt_constructorLyude
This is a simple macro for executing a block of code at the beginning of intel-gpu-tools, before any tests have been ran. Useful for initialization of global resources used in IGT libraries. Signed-off-by: Lyude <lyude@redhat.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Changes since v1: - Add the line number into the name of the constructor function so that multiple constructors may be used per-file.
2016-12-16igt/perf: add i915 perf stream tests for HaswellRobert Bragg
This bumps the libdrm_intel version required to 2.4.74 for the drm_intel_context_get_id api used in these tests. Signed-off-by: Robert Bragg <robert@sixbynine.org> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
2016-12-02Update NEWS, bump version to 1.17.Petri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com>