Longjmp creates havoc with stack variables of the current stackframe.
And since fixtures should be used to set up such variables creating
havoc isn't a great idea. With this I can revert a bunch of
bogus patches I've done to paper over this by moving stack variables
to be global.
The same issue is actually a feature for subtest blocks since subtests
should be independant anyway.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
I wanted to write a testcase for gtt mmap access restriction checking
and only noticed after conversion to subtests that this here is for
cpu mmaps ;-)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
So far we handled -h or --help arguments properly only if the test
called igt_subtest_init_parse_opts(). Fix this for igt_subtest_init()
callers too. Make sure we still don't exit for any other
unknown options, which the caller may parse with a second getopt scan.
Signed-off-by: Imre Deak <imre.deak@intel.com>
This required me to contract the per-process information considerably,
hopefully readability is not sacrificed too much.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Using window.size=<width>x<height> or window.size=<scale>% in
the config file, or --size=<scale>% or --size=<width>x<height>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Also I've stumbled over igt_fixture again. Somehow gcc loves to wreak
havoc with stack variables set up in igt_fixtures ... Duct-tape in the
form of moving fd out to global scope applied.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
On the current Kernels, i2c operations on disabled eDP panels don't
work because we don't enable the panel before doing the i2c
transactions. Whenever we try these transactions we print an error
message on dmesg and fail. The current test suite was trying to work
around this problem: we count how many eDP outputs we have and add
them to the final result.
Daniel asked me to not work around the bug, so now the i2c test will
fail until we actually fix the Kernel bug (or stop using eDP panels).
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Looks like I forgot to push this chunk... The test was passing in
cases where you only have eDP monitors due to the fact that we
consider i2c won't work on eDP monitors.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
- Use igt_require for magic SKIP results while still printing results
for all subtests.
- Wrap setup/teardown code outside of subtests with igt_fixture. This
will ensure that the so wrapped code isn't run when an
igt_require/igt_assert failed (and we're essentially just printing
the SKIP/FAIL result for all subtests) or when just enumerating
subtests.
- Use igt_exit. Otherwise SKIP/FAIL results of subtests won't be propagated
correctly.
- igt_subtest checks should be run unconditionally to make sure we
always enumerate the same set of subtests. A bit on the line here
since this is a subtest hidden behind a runtime flag.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This test chekcs our code that enables Package C8+. The environment
requirements for this test are quite complicated:
- The machine needs to be properly configured to reach PC8+ when
possible, which means all the power management policies and device
drivers must be properly configured.
- You need at least one output connected.
- You need the /dev/cpu/0/msr file available.
- You need the /dev/i2c-* files available.
v2: - Many many changes due to the latest review comments and rebase.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
It's not hitting a valid assertion that it tries to write an instruction
without a defined execution size (because the "default" exec_size never
end up being set).
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>