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

Peter Senna Tschudin peter.senna at linux.intel.com
Wed Jan 22 12:25:41 UTC 2025



On 21.01.2025 23:57, Lucas De Marchi wrote:
> 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>
Tested-by: Peter Senna Tschudin <peter.senna at linux.intel.com>
Reviewed-by: Peter Senna Tschudin <peter.senna at linux.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) {



More information about the igt-dev mailing list