[PATCH i-g-t v3 00/10] Add igt_runner's cmdline to results

Lucas De Marchi lucas.demarchi at intel.com
Thu Jan 30 17:21:39 UTC 2025


Help devs to reproduce what CI is running by dumping what is the command
line being used. While it's true that in the shard case we don't have
the testlist, just seeing the right incantation of command line is a
great improvement.

I plan to follow this with the env vars, but first want to get this
in. It seems we already have an environment.txt saved, however that
doesn't contain the igt_runner's env, only options passed via -e to
igt_runner which is then forwarded to each test. I'm wondering if this
is a source of bugs when using igt_resume:  if the environment doesn't
match, it will run with different options on each execution. (answer:
yes, it is a source of bugs if the exact environment is not re-created
for running igt_resume)

v2:
  - Fix more leaks as prep commits
  - Fix leaking argv that got lost in all other pre-existent leaks
  - Add dummy array to the reference.json files so it passes runner's
    own tests.

v3:
  - Better split patches and reword commit messages according to reviews
    by Gustavo and Peter
  - Add generic escape/unescape functions to be used for metadata.txt.
    Besides preparing for cmdline, it fixes other uses of \n.
  - Provide a single macro to parse array, which adds the proper code
    to parse both the array items and the length

Lucas De Marchi (10):
  runner/settings: Fix code_coverage_script leak
  runner: Free settings at the end
  runner/settings: Deduplicate cleanup
  runner/settings: Use wrapper macros for each type
  runner/settings: Match serialization to parse
  runner/settings: Drop extra strdup
  runner: Fix use of newline on arguments
  runner/settings: Add helpers to serialize/parse array
  runner/settings: Serialize command line
  runner/resultgen: Add cmdline to results.json

 .../aborted-after-a-test/reference.json       |   1 +
 .../aborted-on-boot/reference.json            |   1 +
 .../dmesg-escapes/reference.json              |   1 +
 .../dmesg-results/reference.json              |   1 +
 .../reference.json                            |   1 +
 .../reference.json                            |   1 +
 .../dmesg-warn-level/reference.json           |   1 +
 .../reference.json                            |   1 +
 .../dynamic-subtests-keep-all/reference.json  |   3 +-
 .../reference.json                            |   1 +
 .../reference.json                            |   3 +-
 .../reference.json                            |   3 +-
 .../empty-result-files/reference.json         |   1 +
 .../graceful-notrun/reference.json            |   1 +
 .../reference.json                            |   1 +
 .../json_tests_data/normal-run/reference.json |   1 +
 .../reference.json                            |   1 +
 .../notrun-results/reference.json             |   1 +
 .../piglit-style-dmesg/reference.json         |   1 +
 .../unprintable-characters/reference.json     |   1 +
 .../warnings-with-dmesg-warns/reference.json  |   1 +
 .../json_tests_data/warnings/reference.json   |   1 +
 runner/resultgen.c                            |   7 +-
 runner/resume.c                               |   2 +
 runner/runner.c                               |   2 +
 runner/settings.c                             | 272 ++++++++++++++----
 runner/settings.h                             |   4 +
 27 files changed, 250 insertions(+), 65 deletions(-)

-- 
2.48.0



More information about the igt-dev mailing list