All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Senna Tschudin <peter.senna@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: "Peter Senna Tschudin" <peter.senna@linux.intel.com>,
	"Helen Koike" <helen.koike@collabora.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Jani Saarinen" <jani.saarinen@intel.com>,
	"Janusz Krzysztofik" <janusz.krzysztofik@linux.intel.com>,
	"Juha-Pekka Heikkila" <juha-pekka.heikkila@intel.com>,
	"Kamil Konieczny" <kamil.konieczny@linux.intel.com>,
	"Lucas De Marchi" <lucas.demarchi@intel.com>,
	"Maíra Canal" <mcanal@igalia.com>,
	"Melissa Wen" <mwen@igalia.com>,
	"Petri Latvala" <adrinael@adrinael.net>,
	"Rob Clark" <robdclark@chromium.org>,
	"Ryszard Knop" <ryszard.knop@intel.com>,
	"Swati Sharma" <swati2.sharma@intel.com>,
	"Zbigniew Kempczyński" <zbigniew.kempczynski@intel.com>,
	dominik.karol.piatkowski@intel.com,
	himal.prasad.ghimiray@intel.com, katarzyna.piecielska@intel.com,
	luciano.coelho@intel.com, nirmoy.das@intel.com,
	stuart.summers@intel.com
Subject: [PATCH i-g-t v12 3/3] runner/executor: Integrate igt_facts functionality
Date: Thu, 12 Dec 2024 08:15:27 +0100	[thread overview]
Message-ID: <20241212071527.64595-4-peter.senna@linux.intel.com> (raw)
In-Reply-To: <20241212071527.64595-1-peter.senna@linux.intel.com>

Modifies the igt_runner to include calls to igt_facts() before the
execution of each test and after the final test concludes. Also adds
command line options to igt_runner:
 -f, --facts to enable igt_facts

igt_facts is disabled by default. If not explicitly enabled with the
command-line argument -f or --facts, igt_facts() will return
immediately without performing any operations.

The test name is obtained by calling
entry_display_name(&job_list->entries[state->next]).

CC: Helen Koike <helen.koike@collabora.com>
CC: Jani Nikula <jani.nikula@linux.intel.com>
CC: Jani Saarinen <jani.saarinen@intel.com>
CC: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
CC: Juha-Pekka Heikkila <juha-pekka.heikkila@intel.com>
CC: Kamil Konieczny <kamil.konieczny@linux.intel.com>
CC: Lucas De Marchi <lucas.demarchi@intel.com>
CC: Maíra Canal <mcanal@igalia.com>
CC: Melissa Wen <mwen@igalia.com>
CC: Petri Latvala <adrinael@adrinael.net>
CC: Rob Clark <robdclark@chromium.org>
CC: Ryszard Knop <ryszard.knop@intel.com>
CC: Swati Sharma <swati2.sharma@intel.com>
CC: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
CC: dominik.karol.piatkowski@intel.com
CC: himal.prasad.ghimiray@intel.com
CC: igt-dev@lists.freedesktop.org <igt-dev@lists.freedesktop.org>
CC: katarzyna.piecielska@intel.com
CC: luciano.coelho@intel.com
CC: nirmoy.das@intel.com
CC: stuart.summers@intel.com
Reviewed-by: Ryszard Knop <ryszard.knop@intel.com>
Reviewed-by: Dominik Karol Piątkowski <dominik.karol.piatkowski@intel.com>
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 runner/executor.c | 10 ++++++++++
 runner/settings.c |  9 ++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/runner/executor.c b/runner/executor.c
index 49ae8c90d..d4d704a34 100644
--- a/runner/executor.c
+++ b/runner/executor.c
@@ -30,6 +30,7 @@
 
 #include "igt_aux.h"
 #include "igt_core.h"
+#include "igt_facts.h"
 #include "igt_taints.h"
 #include "igt_vec.h"
 #include "executor.h"
@@ -2360,12 +2361,15 @@ bool execute(struct execute_state *state,
 	sigset_t sigmask;
 	double time_spent = 0.0;
 	bool status = true;
+	char *last_test = NULL;
 
 	if (state->dry) {
 		outf("Dry run, not executing. Invoke igt_resume if you want to execute.\n");
 		return true;
 	}
 
+	igt_facts_lists_init();
+
 	if (state->next >= job_list->size) {
 		outf("All tests already executed.\n");
 		return true;
@@ -2492,6 +2496,10 @@ bool execute(struct execute_state *state,
 		int result;
 		bool already_written = false;
 
+		/* Calls before running each test */
+		igt_facts(last_test);
+		last_test = entry_display_name(&job_list->entries[state->next]);
+
 		if (should_die_because_signal(sigfd)) {
 			status = false;
 			goto end;
@@ -2580,6 +2588,8 @@ bool execute(struct execute_state *state,
 			return execute(state, settings, job_list);
 		}
 	}
+	/* Last call to collect facts after the last test runs */
+	igt_facts(last_test);
 
 	if ((timefd = openat(resdirfd, "endtime.txt", O_CREAT | O_WRONLY | O_EXCL, 0666)) >= 0) {
 		dprintf(timefd, "%f\n", timeofday_double());
diff --git a/runner/settings.c b/runner/settings.c
index 0d27e7af3..0e8e4572e 100644
--- a/runner/settings.c
+++ b/runner/settings.c
@@ -1,3 +1,4 @@
+#include "igt_facts.h"
 #include "igt_hook.h"
 #include "igt_vec.h"
 #include "settings.h"
@@ -40,6 +41,7 @@ enum {
 	OPT_INCLUDE = 't',
 	OPT_EXCLUDE = 'x',
 	OPT_ENVIRONMENT = 'e',
+	OPT_FACTS = 'f',
 	OPT_SYNC = 's',
 	OPT_LOG_LEVEL = 'l',
 	OPT_OVERWRITE = 'o',
@@ -230,6 +232,7 @@ static const char *usage_str =
 	"                                   environment variable IGT_PING_HOSTNAME does\n"
 	"                                   not respond to ping.\n"
 	"                         all     - abort for all of the above.\n"
+	"  -f, --facts           Enable igt_facts tracking\n"
 	"  -s, --sync            Sync results to disk after every test\n"
 	"  -l {quiet,verbose,dummy}, --log-level {quiet,verbose,dummy}\n"
 	"                        Set the logger verbosity level\n"
@@ -665,6 +668,7 @@ bool parse_options(int argc, char **argv,
 		{"environment", required_argument, NULL, OPT_ENVIRONMENT},
 		{"abort-on-monitored-error", optional_argument, NULL, OPT_ABORT_ON_ERROR},
 		{"disk-usage-limit", required_argument, NULL, OPT_DISK_USAGE_LIMIT},
+		{"facts", no_argument, NULL, OPT_FACTS},
 		{"sync", no_argument, NULL, OPT_SYNC},
 		{"log-level", required_argument, NULL, OPT_LOG_LEVEL},
 		{"test-list", required_argument, NULL, OPT_TEST_LIST},
@@ -695,7 +699,7 @@ bool parse_options(int argc, char **argv,
 	settings->dmesg_warn_level = -1;
 	settings->prune_mode = -1;
 
-	while ((c = getopt_long(argc, argv, "hn:dt:x:e:sl:omb:L",
+	while ((c = getopt_long(argc, argv, "hn:dt:x:e:fsl:omb:L",
 				long_options, NULL)) != -1) {
 		switch (c) {
 		case OPT_VERSION:
@@ -736,6 +740,9 @@ bool parse_options(int argc, char **argv,
 				goto error;
 			}
 			break;
+		case OPT_FACTS:
+			igt_facts_config.enabled = true;
+			break;
 		case OPT_SYNC:
 			settings->sync = true;
 			break;
-- 
2.34.1


  parent reply	other threads:[~2024-12-12  7:16 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-02 11:37 [PATCH i-g-t] igt-runner fact checking Peter Senna Tschudin
2024-11-04 19:27 ` ✓ CI.xeBAT: success for " Patchwork
2024-11-05  5:09 ` [PATCH i-g-t] " Peter Senna Tschudin
2024-11-05  8:18 ` ✗ CI.xeFULL: failure for " Patchwork
2024-11-06  9:28 ` [PATCH i-g-t v2] " Peter Senna Tschudin
2024-11-06 12:44   ` Kamil Konieczny
2024-11-07  7:03     ` Peter Senna Tschudin
2024-11-07 17:44       ` Kamil Konieczny
2024-11-06 11:15 ` ✗ Fi.CI.BAT: failure for igt-runner fact checking (rev2) Patchwork
2024-11-06 11:23 ` ✓ CI.xeBAT: success " Patchwork
2024-11-06 14:13 ` [PATCH i-g-t] igt-runner fact checking Lucas De Marchi
2024-11-07  6:57 ` [PATCH i-g-t v3] " Peter Senna Tschudin
2024-11-07  7:13 ` ✗ GitLab.Pipeline: warning for igt-runner fact checking (rev3) Patchwork
2024-11-07  7:18 ` [PATCH i-g-t] igt-runner fact checking Peter Senna Tschudin
2024-11-07 15:55   ` Lucas De Marchi
2024-11-07 17:48     ` Peter Senna Tschudin
2024-11-07 19:29       ` Lucas De Marchi
2024-11-08  5:30         ` Peter Senna Tschudin
2024-11-08 16:24           ` Lucas De Marchi
2024-11-08  1:15     ` Knop, Ryszard
2024-11-08  6:51       ` Peter Senna Tschudin
2024-11-08 13:41         ` Knop, Ryszard
2024-11-07  7:26 ` ✓ CI.xeBAT: success for igt-runner fact checking (rev3) Patchwork
2024-11-07  7:30 ` [PATCH i-g-t v3] igt-runner fact checking Peter Senna Tschudin
2024-11-07 17:39   ` Kamil Konieczny
2024-11-07  7:51 ` ✓ Fi.CI.BAT: success for igt-runner fact checking (rev3) Patchwork
2024-11-07  8:40 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-11-07 13:21 ` ✗ CI.xeFULL: failure for igt-runner fact checking (rev2) Patchwork
2024-11-08 12:54 ` ✗ CI.xeFULL: failure for igt-runner fact checking (rev3) Patchwork
2024-11-09  7:15 ` [PATCH i-g-t v4] igt-runner fact checking Peter Senna Tschudin
2024-11-09  7:46 ` [PATCH i-g-t v5] " Peter Senna Tschudin
2024-11-09  8:33 ` ✓ Fi.CI.BAT: success for igt-runner fact checking (rev5) Patchwork
2024-11-09  8:36 ` ✗ CI.xeBAT: failure " Patchwork
2024-11-11  5:55   ` Peter Senna Tschudin
2024-11-09  9:33 ` ✗ Fi.CI.IGT: " Patchwork
2024-11-11  5:54   ` Peter Senna Tschudin
2024-11-10  5:09 ` ✗ CI.xeFULL: " Patchwork
2024-11-11  5:53   ` Peter Senna Tschudin
2024-11-18  8:24 ` [PATCH i-g-t v6] igt-runner fact checking Peter Senna Tschudin
2024-11-18 13:07   ` Luca Coelho
2024-11-18 16:03     ` Peter Senna Tschudin
2024-11-19  8:19       ` Luca Coelho
2024-11-19 10:07         ` Peter Senna Tschudin
2024-11-19 10:24           ` Luca Coelho
2024-11-20  6:09             ` Peter Senna Tschudin
2024-11-18 20:45 ` ✓ CI.xeBAT: success for igt-runner fact checking (rev6) Patchwork
2024-11-18 21:00 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-11-19  5:31   ` Peter Senna Tschudin
2024-11-19  5:08 ` ✗ CI.xeFULL: " Patchwork
2024-11-19  6:15   ` Peter Senna Tschudin
2024-11-21 12:35 ` [PATCH i-g-t v7] igt-runner fact checking Peter Senna Tschudin
2024-11-21 14:22 ` [PATCH i-g-t v8] " Peter Senna Tschudin
2024-11-25  9:49   ` Zbigniew Kempczyński
2024-11-25 10:21     ` Peter Senna Tschudin
2024-11-25 11:32       ` Zbigniew Kempczyński
2024-11-21 20:48 ` ✓ Xe.CI.BAT: success for igt-runner fact checking (rev8) Patchwork
2024-11-21 20:57 ` ✗ i915.CI.BAT: failure " Patchwork
2024-11-22  6:36   ` Peter Senna Tschudin
2024-11-22  8:08     ` Illipilli, TejasreeX
2024-11-22  8:06 ` ✓ i915.CI.BAT: success " Patchwork
2024-11-22  8:11 ` ✗ Xe.CI.Full: failure " Patchwork
2024-11-22  8:27   ` Peter Senna Tschudin
2024-11-25  7:15   ` Peter Senna Tschudin
2024-11-25  7:20     ` Musial, Ewelina
2024-11-25  7:27       ` Musial, Ewelina
2024-11-25 10:54         ` Illipilli, TejasreeX
2024-11-24 15:01 ` ✗ i915.CI.Full: " Patchwork
2024-11-25  6:57   ` Peter Senna Tschudin
2024-11-25 10:54     ` Illipilli, TejasreeX
2024-11-25 10:39 ` ✓ i915.CI.Full: success " Patchwork
2024-11-29  7:08 ` [PATCH i-g-t v9] igt-runner fact checking Peter Senna Tschudin
2024-12-04 13:17   ` Piatkowski, Dominik Karol
2024-11-29  7:45 ` ✓ Xe.CI.BAT: success for igt-runner fact checking (rev9) Patchwork
2024-11-29  8:07 ` ✗ i915.CI.BAT: failure " Patchwork
2024-11-29  8:16   ` Peter Senna Tschudin
2024-11-29 13:48     ` Illipilli, TejasreeX
2024-11-29 13:42 ` ✓ i915.CI.BAT: success " Patchwork
2024-11-29 17:26 ` ✗ Xe.CI.Full: failure " Patchwork
2024-12-02  5:01   ` Peter Senna Tschudin
2024-11-29 17:28 ` ✗ i915.CI.Full: " Patchwork
2024-12-02  5:07   ` Peter Senna Tschudin
2024-12-03  6:43     ` Illipilli, TejasreeX
2024-12-02 14:29 ` ✓ i915.CI.Full: success " Patchwork
2024-12-05  4:54 ` [PATCH i-g-t v10] igt-runner fact checking Peter Senna Tschudin
2024-12-05  9:08   ` Piatkowski, Dominik Karol
2024-12-06 11:42   ` Kamil Konieczny
2024-12-06 13:16     ` Peter Senna Tschudin
2024-12-06 16:46       ` Kamil Konieczny
2024-12-05  5:41 ` ✓ i915.CI.BAT: success for igt-runner fact checking (rev10) Patchwork
2024-12-05  6:07 ` ✓ Xe.CI.BAT: " Patchwork
2024-12-05  6:58 ` ✗ i915.CI.Full: failure " Patchwork
2024-12-05  8:15   ` Peter Senna Tschudin
2024-12-05 13:01     ` Illipilli, TejasreeX
2024-12-05  8:02 ` ✗ Xe.CI.Full: " Patchwork
2024-12-05  8:35   ` Peter Senna Tschudin
2024-12-05 10:51 ` [PATCH i-g-t v11] igt-runner fact checking Peter Senna Tschudin
2024-12-09 10:53   ` Zbigniew Kempczyński
2024-12-09 17:16     ` Kamil Konieczny
2024-12-10 12:00     ` Knop, Ryszard
2024-12-10 14:14   ` Knop, Ryszard
2024-12-05 12:59 ` ✓ i915.CI.Full: success for igt-runner fact checking (rev10) Patchwork
2024-12-12  7:15 ` [PATCH i-g-t v12 0/3] igt_facts for fact tracking Peter Senna Tschudin
2024-12-12  7:15   ` [PATCH i-g-t v12 1/3] lib/igt_facts: Library and unit testing " Peter Senna Tschudin
2024-12-12 16:19     ` Zbigniew Kempczyński
2024-12-12  7:15   ` [PATCH i-g-t v12 2/3] tools/lsfacts: Add tool for listing facts Peter Senna Tschudin
2024-12-12 16:20     ` Zbigniew Kempczyński
2024-12-12  7:15   ` Peter Senna Tschudin [this message]
2024-12-12 16:23     ` [PATCH i-g-t v12 3/3] runner/executor: Integrate igt_facts functionality Zbigniew Kempczyński
2024-12-12 17:33     ` Kamil Konieczny
2024-12-12  8:16 ` ✓ Xe.CI.BAT: success for igt-runner fact checking (rev12) Patchwork
2024-12-12  8:43 ` ✓ i915.CI.BAT: " Patchwork
2024-12-12 12:57 ` ✗ i915.CI.Full: failure " Patchwork
2024-12-12 14:30 ` ✗ Xe.CI.Full: " 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=20241212071527.64595-4-peter.senna@linux.intel.com \
    --to=peter.senna@linux.intel.com \
    --cc=adrinael@adrinael.net \
    --cc=dominik.karol.piatkowski@intel.com \
    --cc=helen.koike@collabora.com \
    --cc=himal.prasad.ghimiray@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jani.saarinen@intel.com \
    --cc=janusz.krzysztofik@linux.intel.com \
    --cc=juha-pekka.heikkila@intel.com \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=katarzyna.piecielska@intel.com \
    --cc=lucas.demarchi@intel.com \
    --cc=luciano.coelho@intel.com \
    --cc=mcanal@igalia.com \
    --cc=mwen@igalia.com \
    --cc=nirmoy.das@intel.com \
    --cc=robdclark@chromium.org \
    --cc=ryszard.knop@intel.com \
    --cc=stuart.summers@intel.com \
    --cc=swati2.sharma@intel.com \
    --cc=zbigniew.kempczynski@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.