Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Lucas De Marchi <lucas.demarchi@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Gustavo Sousa <gustavo.sousa@intel.com>,
	Peter Senna Tschudin <peter.senna@linux.intel.com>,
	Kamil Konieczny <kamil.konieczny@linux.intel.com>,
	Petri Latvala <adrinael@adrinael.net>,
	Lucas De Marchi <lucas.demarchi@intel.com>
Subject: [PATCH i-g-t v3 10/10] runner/resultgen: Add cmdline to results.json
Date: Thu, 30 Jan 2025 09:21:49 -0800	[thread overview]
Message-ID: <20250130172149.3657144-11-lucas.demarchi@intel.com> (raw)
In-Reply-To: <20250130172149.3657144-1-lucas.demarchi@intel.com>

For easier repro scenarios, add the cmdline to the json: one can see the
exact command executed to try to reproduce a CI failure without needing
extra files.

Adding cmdline to the results.json doesn't need a version upgrade:
piglit can still parse the file.

Tested-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
Reviewed-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 runner/json_tests_data/aborted-after-a-test/reference.json | 1 +
 runner/json_tests_data/aborted-on-boot/reference.json      | 1 +
 runner/json_tests_data/dmesg-escapes/reference.json        | 1 +
 runner/json_tests_data/dmesg-results/reference.json        | 1 +
 .../dmesg-warn-level-one-piglit-style/reference.json       | 1 +
 .../dmesg-warn-level-piglit-style/reference.json           | 1 +
 runner/json_tests_data/dmesg-warn-level/reference.json     | 1 +
 .../reference.json                                         | 1 +
 .../dynamic-subtests-keep-all/reference.json               | 3 ++-
 .../dynamic-subtests-keep-dynamic/reference.json           | 1 +
 .../dynamic-subtests-keep-requested/reference.json         | 3 ++-
 .../dynamic-subtests-keep-subtests/reference.json          | 3 ++-
 runner/json_tests_data/empty-result-files/reference.json   | 1 +
 runner/json_tests_data/graceful-notrun/reference.json      | 1 +
 .../incomplete-before-any-subtests/reference.json          | 1 +
 runner/json_tests_data/normal-run/reference.json           | 1 +
 .../notrun-results-multiple-mode/reference.json            | 1 +
 runner/json_tests_data/notrun-results/reference.json       | 1 +
 runner/json_tests_data/piglit-style-dmesg/reference.json   | 1 +
 .../json_tests_data/unprintable-characters/reference.json  | 1 +
 .../warnings-with-dmesg-warns/reference.json               | 1 +
 runner/json_tests_data/warnings/reference.json             | 1 +
 runner/resultgen.c                                         | 7 ++++++-
 23 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/runner/json_tests_data/aborted-after-a-test/reference.json b/runner/json_tests_data/aborted-after-a-test/reference.json
index 0776f7582..50ba9e6e1 100644
--- a/runner/json_tests_data/aborted-after-a-test/reference.json
+++ b/runner/json_tests_data/aborted-after-a-test/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/aborted-on-boot/reference.json b/runner/json_tests_data/aborted-on-boot/reference.json
index 75f194660..238ec6fff 100644
--- a/runner/json_tests_data/aborted-on-boot/reference.json
+++ b/runner/json_tests_data/aborted-on-boot/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/dmesg-escapes/reference.json b/runner/json_tests_data/dmesg-escapes/reference.json
index 91c573106..e74dc89e4 100644
--- a/runner/json_tests_data/dmesg-escapes/reference.json
+++ b/runner/json_tests_data/dmesg-escapes/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/dmesg-results/reference.json b/runner/json_tests_data/dmesg-results/reference.json
index e9e011853..81890f7d2 100644
--- a/runner/json_tests_data/dmesg-results/reference.json
+++ b/runner/json_tests_data/dmesg-results/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/dmesg-warn-level-one-piglit-style/reference.json b/runner/json_tests_data/dmesg-warn-level-one-piglit-style/reference.json
index 8d266cdfa..16c97d3a1 100644
--- a/runner/json_tests_data/dmesg-warn-level-one-piglit-style/reference.json
+++ b/runner/json_tests_data/dmesg-warn-level-one-piglit-style/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/dmesg-warn-level-piglit-style/reference.json b/runner/json_tests_data/dmesg-warn-level-piglit-style/reference.json
index 4a1e8b313..e40000a27 100644
--- a/runner/json_tests_data/dmesg-warn-level-piglit-style/reference.json
+++ b/runner/json_tests_data/dmesg-warn-level-piglit-style/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/dmesg-warn-level/reference.json b/runner/json_tests_data/dmesg-warn-level/reference.json
index 400e9cfbc..fca3f1a54 100644
--- a/runner/json_tests_data/dmesg-warn-level/reference.json
+++ b/runner/json_tests_data/dmesg-warn-level/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/dynamic-subtest-name-in-multiple-subtests/reference.json b/runner/json_tests_data/dynamic-subtest-name-in-multiple-subtests/reference.json
index 514de06a4..e3a6ffe3b 100644
--- a/runner/json_tests_data/dynamic-subtest-name-in-multiple-subtests/reference.json
+++ b/runner/json_tests_data/dynamic-subtest-name-in-multiple-subtests/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"dynamic-subtest-name-in-multiple-subtests",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1560163492.266377,
diff --git a/runner/json_tests_data/dynamic-subtests-keep-all/reference.json b/runner/json_tests_data/dynamic-subtests-keep-all/reference.json
index b2b716288..20e626144 100644
--- a/runner/json_tests_data/dynamic-subtests-keep-all/reference.json
+++ b/runner/json_tests_data/dynamic-subtests-keep-all/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"dynamic-subtests",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1560163492.266377,
@@ -168,4 +169,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/runner/json_tests_data/dynamic-subtests-keep-dynamic/reference.json b/runner/json_tests_data/dynamic-subtests-keep-dynamic/reference.json
index c013d2821..37bd91e84 100644
--- a/runner/json_tests_data/dynamic-subtests-keep-dynamic/reference.json
+++ b/runner/json_tests_data/dynamic-subtests-keep-dynamic/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"dynamic-subtests",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1560163492.266377,
diff --git a/runner/json_tests_data/dynamic-subtests-keep-requested/reference.json b/runner/json_tests_data/dynamic-subtests-keep-requested/reference.json
index c33c7ce7c..3a717f699 100644
--- a/runner/json_tests_data/dynamic-subtests-keep-requested/reference.json
+++ b/runner/json_tests_data/dynamic-subtests-keep-requested/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"dynamic-subtests",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1560163492.266377,
@@ -120,4 +121,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/runner/json_tests_data/dynamic-subtests-keep-subtests/reference.json b/runner/json_tests_data/dynamic-subtests-keep-subtests/reference.json
index e53daa5a5..e4c320a0f 100644
--- a/runner/json_tests_data/dynamic-subtests-keep-subtests/reference.json
+++ b/runner/json_tests_data/dynamic-subtests-keep-subtests/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"dynamic-subtests",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1560163492.266377,
@@ -120,4 +121,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/runner/json_tests_data/empty-result-files/reference.json b/runner/json_tests_data/empty-result-files/reference.json
index f81ffb81c..332e20693 100644
--- a/runner/json_tests_data/empty-result-files/reference.json
+++ b/runner/json_tests_data/empty-result-files/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"empty-result-files",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/graceful-notrun/reference.json b/runner/json_tests_data/graceful-notrun/reference.json
index c95bdfecc..ddad3d925 100644
--- a/runner/json_tests_data/graceful-notrun/reference.json
+++ b/runner/json_tests_data/graceful-notrun/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"graceful-notrun",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/incomplete-before-any-subtests/reference.json b/runner/json_tests_data/incomplete-before-any-subtests/reference.json
index 2a4bd4560..5fc1978eb 100644
--- a/runner/json_tests_data/incomplete-before-any-subtests/reference.json
+++ b/runner/json_tests_data/incomplete-before-any-subtests/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/normal-run/reference.json b/runner/json_tests_data/normal-run/reference.json
index 0a00b1ca8..814e46920 100644
--- a/runner/json_tests_data/normal-run/reference.json
+++ b/runner/json_tests_data/normal-run/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/notrun-results-multiple-mode/reference.json b/runner/json_tests_data/notrun-results-multiple-mode/reference.json
index 3f8b7fb09..80ba5ec2c 100644
--- a/runner/json_tests_data/notrun-results-multiple-mode/reference.json
+++ b/runner/json_tests_data/notrun-results-multiple-mode/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/notrun-results/reference.json b/runner/json_tests_data/notrun-results/reference.json
index 800de38c5..42fcd0017 100644
--- a/runner/json_tests_data/notrun-results/reference.json
+++ b/runner/json_tests_data/notrun-results/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/piglit-style-dmesg/reference.json b/runner/json_tests_data/piglit-style-dmesg/reference.json
index bf5d86ee3..6c751dc53 100644
--- a/runner/json_tests_data/piglit-style-dmesg/reference.json
+++ b/runner/json_tests_data/piglit-style-dmesg/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/unprintable-characters/reference.json b/runner/json_tests_data/unprintable-characters/reference.json
index 88c62c34d..e1b3302a5 100644
--- a/runner/json_tests_data/unprintable-characters/reference.json
+++ b/runner/json_tests_data/unprintable-characters/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/warnings-with-dmesg-warns/reference.json b/runner/json_tests_data/warnings-with-dmesg-warns/reference.json
index bd0bb3a3d..67797e789 100644
--- a/runner/json_tests_data/warnings-with-dmesg-warns/reference.json
+++ b/runner/json_tests_data/warnings-with-dmesg-warns/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/json_tests_data/warnings/reference.json b/runner/json_tests_data/warnings/reference.json
index a2b79da9e..2c483fdf5 100644
--- a/runner/json_tests_data/warnings/reference.json
+++ b/runner/json_tests_data/warnings/reference.json
@@ -3,6 +3,7 @@
   "results_version":10,
   "name":"normal-run",
   "uname":"Linux hostname 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64",
+  "cmdline":[],
   "time_elapsed":{
     "__type__":"TimeAttribute",
     "start":1539953735.1110389,
diff --git a/runner/resultgen.c b/runner/resultgen.c
index 87847bf5b..0d3a569cf 100644
--- a/runner/resultgen.c
+++ b/runner/resultgen.c
@@ -2281,7 +2281,7 @@ struct json_object *generate_results_json(int dirfd)
 {
 	struct settings settings;
 	struct job_list job_list;
-	struct json_object *obj, *elapsed;
+	struct json_object *obj, *elapsed, *arr;
 	struct results results;
 	int testdirfd, fd;
 	size_t i;
@@ -2319,6 +2319,11 @@ struct json_object *generate_results_json(int dirfd)
 		close(fd);
 	}
 
+	arr = json_object_new_array();
+	for (i = 0; i < settings.cmdline.argc; i++)
+		json_object_array_add(arr, json_object_new_string(settings.cmdline.argv[i]));
+	json_object_object_add(obj, "cmdline", arr);
+
 	elapsed = json_object_new_object();
 	json_object_object_add(elapsed, "__type__", json_object_new_string("TimeAttribute"));
 	if ((fd = openat(dirfd, "starttime.txt", O_RDONLY)) >= 0) {
-- 
2.48.0


  parent reply	other threads:[~2025-01-30 17:22 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-30 17:21 [PATCH i-g-t v3 00/10] Add igt_runner's cmdline to results Lucas De Marchi
2025-01-30 17:21 ` [PATCH i-g-t v3 01/10] runner/settings: Fix code_coverage_script leak Lucas De Marchi
2025-01-30 17:21 ` [PATCH i-g-t v3 02/10] runner: Free settings at the end Lucas De Marchi
2025-01-30 17:21 ` [PATCH i-g-t v3 03/10] runner/settings: Deduplicate cleanup Lucas De Marchi
2025-01-30 17:21 ` [PATCH i-g-t v3 04/10] runner/settings: Use wrapper macros for each type Lucas De Marchi
2025-02-07 18:34   ` Gustavo Sousa
2025-01-30 17:21 ` [PATCH i-g-t v3 05/10] runner/settings: Match serialization to parse Lucas De Marchi
2025-02-07 19:13   ` Gustavo Sousa
2025-01-30 17:21 ` [PATCH i-g-t v3 06/10] runner/settings: Drop extra strdup Lucas De Marchi
2025-01-30 17:21 ` [PATCH i-g-t v3 07/10] runner: Fix use of newline on arguments Lucas De Marchi
2025-01-31  9:21   ` Peter Senna Tschudin
2025-01-31 15:58     ` Lucas De Marchi
2025-02-03 18:09       ` Lucas De Marchi
2025-02-07 20:15         ` Gustavo Sousa
2025-01-30 17:21 ` [PATCH i-g-t v3 08/10] runner/settings: Add helpers to serialize/parse array Lucas De Marchi
2025-02-07 20:26   ` Gustavo Sousa
2025-01-30 17:21 ` [PATCH i-g-t v3 09/10] runner/settings: Serialize command line Lucas De Marchi
2025-02-07 20:36   ` Gustavo Sousa
2025-02-07 20:41     ` Gustavo Sousa
2025-01-30 17:21 ` Lucas De Marchi [this message]
2025-01-30 19:00   ` [PATCH i-g-t v3 10/10] runner/resultgen: Add cmdline to results.json Kamil Konieczny
2025-01-30 19:17     ` Lucas De Marchi
2025-01-31  9:31       ` Peter Senna Tschudin
2025-01-31 12:16       ` Kamil Konieczny
2025-01-31 15:39         ` Lucas De Marchi
2025-01-30 19:12 ` ✓ Xe.CI.BAT: success for Add igt_runner's cmdline to results (rev3) Patchwork
2025-01-30 19:12 ` ✓ i915.CI.BAT: " Patchwork
2025-01-30 21:21 ` ✗ i915.CI.Full: failure " Patchwork
2025-01-30 22:06 ` ✓ Xe.CI.Full: success " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250130172149.3657144-11-lucas.demarchi@intel.com \
    --to=lucas.demarchi@intel.com \
    --cc=adrinael@adrinael.net \
    --cc=gustavo.sousa@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=peter.senna@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox