[PATCH i-g-t v2 7/7] runner/resultgen: Add cmdline to results.json

Lucas De Marchi lucas.demarchi at intel.com
Tue Jan 21 22:57:33 UTC 2025


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.

Signed-off-by: Lucas De Marchi <lucas.demarchi at 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



More information about the igt-dev mailing list