From 2c9202bdbe7a47e03b0ac9c29cda373586ae78f4 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi <lucas.demarchi@intel.com> Date: Fri, 7 Feb 2025 15:09:44 -0800 Subject: [PATCH] runner/resultgen: Add cmdline to results.json 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> Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com> Link: https://lore.kernel.org/r/20250207231039.2883195-12-lucas.demarchi@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) { -- GitLab