summaryrefslogtreecommitdiff
path: root/runner/json_tests_data
AgeCommit message (Collapse)Author
2022-03-31runner_tests: json tests for all prune-mode optionsPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arek@hiler.eu> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2022-03-31runner_tests: Rename dynamic-subtests json test to dynamic-subtests-keep-dynamicPetri Latvala
In preparation for testing the rest of the options for prune_mode, rename the current dynamic subtest result test to reflect the option value. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arek@hiler.eu> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2021-01-22runner: Add json test for handling graceful exit via SIGHUPPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arek@hiler.eu> Reviewed-by: Arkadiusz Hiler <arek@hiler.eu>
2020-03-23runner: Abort the run when test exits with IGT_EXIT_ABORTArkadiusz Hiler
Now that the IGT tests have a mechanism for signaling broken testing conditions we can stop the run on the first test that has noticed it, and possibly has triggered that state. Traditionally run would have continued with that test failing and the side effects would trickle down into the other tests causing a lot of skip/fails. v2: extra explanations, small cleanup (Petri) Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-02-21runner/resultgen: Provide output when test output is completely emptyPetri Latvala
If a machine is hard-hanging or otherwise rebooted at the correct time, intermediary output files get created but nothing ever gets written to them. That yields results that are completely empty and hard to categorize or even sometimes detect automatically. Handle this corner case explicitly with a custom text explaining what might have happened to prod result analysis towards fixing the real issue instead of wondering if test result processing is faulty. The race for getting empty files is easier to hit than it seems. The files get created by the runner before calling exec(), and there's plenty of time to hit a really hard crash. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2020-01-15runner/json_tests: Test handling of unprintable output from testsPetri Latvala
A simple test output with numbers from 1 to 255, both in plain text form and as a single byte with that particular value. Note that the json spec doesn't require \u-encoding for characters other than '"', '\' and the range U+0000 to U+001F, the raw non-\u-encoded UTF-8 in the reference.json file for bytes 128 and up is what libjson-c outputs for those codepoints and is valid. The validity of the json file can be verified with iconv, i.e. $ iconv -f UTF-8 reference.json -o /dev/null && echo it is utf-8 v2: Rebase over dynamic subtest tests, trivial Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2020-01-03runner/json_tests: Add test for parsing dynamic subtests with same namePetri Latvala
Multiple different subtests can have a dynamic subtest with the same name. Add a test to make sure we correctly delimit the output parsing. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2020-01-03runner/json_tests: Adapt to no longer reporting subtests with dynamic subtestsPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2020-01-03runner/json_tests: Adapt to dynamic subtest result parsingPetri Latvala
Dynamic subtests now include more output, change the dynamic subtest parsing test accordingly. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2019-11-15runner/json_tests: Test dynamic subtestsPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2019-10-21runner/json_tests: Adapt to better output parsingPetri Latvala
Since we actually include the output before the subtest begins now, add it to the reference.jsons where applicable. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2019-04-01runner: Add --dmesg-warn-level switchArkadiusz Hiler
This switch allows users to select which dmesg log level is treated as warning resulting in overriding the test results to dmesg-fail/dmesg-warn. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2018-12-20runner: Add explicit "notrun" results for tests that were not executedPetri Latvala
When possible, all tests we know we were going to attempt to execute now appear in the results as "notrun". The only known case where it's not possible to add an explicit "notrun" is when running in multiple-mode, because "no subtests" and "run all subtests, we didn't list them beforehand" are represented the same. v2: Rebase and adjust to already landed json changes Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Martin Peres <martin.peres@linux.intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-12-12runner: Produce json with results_version=10Petri Latvala
New piglit bumped its results_version to 10, making glxinfo and pals optional in practice, not just by accident. Unfortunately reading results with newer piglit attempts to convert the results to version 10, reading glxinfo and pals, and thus fails. In a hilarious summary: A commit to piglit making glxinfo optional makes it mandatory for us. v2: json unit tests confirmed to be working... Reported-by: Andi Shyti <andi.shyti@intel.com> Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Cc: Andi Shyti <andi.shyti@intel.com> Tested-by: Andi Shyti <andi.shyti@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-12-12runner: Handle escaped characters from kmsgPetri Latvala
Characters in kernel logs, when read from /dev/kmsg, are escaped as \xNN if they are not between 32 and 127 of if they are "\". Decode what we can when creating results.json. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-11-15runner: Implement --abort-on-monitored-errorPetri Latvala
Deviating a bit from the piglit command line flag, igt_runner takes an optional comma-separated list as an argument to --abort-on-monitored-error for the list of conditions to abort on. Without a list all possible conditions will be checked. Two conditions implemented: - "taint" checks the kernel taint level for TAINT_PAGE, TAINT_DIE and TAINT_OOPS - "lockdep" checks the kernel lockdep status Checking is done after every test binary execution, and if an abort condition is met, the reason is printed to stderr (unless log level is quiet) and the runner doesn't execute any further tests. Aborting between subtests (when running in --multiple-mode) is not done. v2: - Remember to fclose - Taints are unsigned long (Chris) - Use getline instead of fgets (Chris) v3: - Fix brainfart with lockdep v4: - Rebase - Refactor the abort condition checking to pass down strings - Present the abort result in results.json as a pseudo test result - Unit tests for the pseudo result v5: - Refactors (Chris) - Don't claim lockdep was triggered if debug_locks is not on anymore. Just say it's not active. - Dump lockdep_stats when aborting due to lockdep (Chris) - Use igt@runner@aborted instead for the pseudo result (Martin) v6: - If aborting after a test, generate results.json. Like was already done for aborting at startup. - Print the test that would be executed next as well when aborting, as requested by Tomi. v7: - Remove the resolved TODO item from commit message Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-11-06runner: Unit tests for json generationPetri Latvala
Test the results.json generation with a top-down approach: With a directory of test run intermediary logs, check that the resulting json would match a reference json file. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>