Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/2] runner/resultgen: relax results processing
@ 2023-02-28 21:25 Kamil Konieczny
  2023-02-28 21:25 ` [igt-dev] [PATCH i-g-t 2/2] runner/resume: change exit code for results gen fail Kamil Konieczny
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Kamil Konieczny @ 2023-02-28 21:25 UTC (permalink / raw)
  To: igt-dev

We observed problems with resume runs when one of tests from
run fail to respond to SIGKILL and then don't exits, which
was reported like:

[1415.815247] Child refuses to die, tainted 0x40. Aborting.

After machine was rebooted runs were resumed but at the end
results from run wasn't processed due to error at comms file
from failed test. Try to correct that behaviour and count
results if at least one of files (comms or log) or dmesg was
successfully processed and fail only when both fail. Also
print more detailed info about what failed.

Cc: Petri Latvala <adrinael@adrinael.net>
Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 runner/resultgen.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/runner/resultgen.c b/runner/resultgen.c
index b00bb6ba..ddc2098e 100644
--- a/runner/resultgen.c
+++ b/runner/resultgen.c
@@ -2133,7 +2133,6 @@ static bool parse_test_directory(int dirfd,
 	if (commsparsed == COMMSPARSE_ERROR) {
 		fprintf(stderr, "Error parsing output files (comms)\n");
 		status = false;
-		goto parse_output_end;
 	}
 
 	if (commsparsed == COMMSPARSE_EMPTY) {
@@ -2147,14 +2146,22 @@ static bool parse_test_directory(int dirfd,
 		    !fill_from_output(fds[_F_ERR], entry->binary, "err", &subtests, results->tests)) {
 			fprintf(stderr, "Error parsing output files (out.txt, err.txt)\n");
 			status = false;
-			goto parse_output_end;
 		}
 	}
 
 	if (!fill_from_dmesg(fds[_F_DMESG], settings, entry->binary, &subtests, results->tests)) {
 		fprintf(stderr, "Error parsing output files (dmesg.txt)\n");
+		if (!status) {
+			fprintf(stderr, "resultgen: Error parsing output files and dmesg.txt, bail out\n");
+			goto parse_output_end;
+		}
+
 		status = false;
-		goto parse_output_end;
+	}
+
+	if (!status) {
+		fprintf(stderr, "resultgen: Warning: results may be incomplete for %s\n", entry->binary);
+		status = true;
 	}
 
 	override_results(entry->binary, &subtests, results->tests);
@@ -2302,6 +2309,7 @@ struct json_object *generate_results_json(int dirfd)
 
 		if (!parse_test_directory(testdirfd, &job_list.entries[i], &settings, &results)) {
 			close(testdirfd);
+			fprintf(stderr, "resultgen: Cannot parse results for: %s testname: %s\n", name, job_list.entries[i].binary);
 			return NULL;
 		}
 		close(testdirfd);
-- 
2.37.2

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-03-01 15:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-28 21:25 [igt-dev] [PATCH i-g-t 1/2] runner/resultgen: relax results processing Kamil Konieczny
2023-02-28 21:25 ` [igt-dev] [PATCH i-g-t 2/2] runner/resume: change exit code for results gen fail Kamil Konieczny
2023-03-01 13:24   ` Petri Latvala
2023-02-28 22:20 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] runner/resultgen: relax results processing Patchwork
2023-03-01  0:34 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-03-01 13:25 ` [igt-dev] [PATCH i-g-t 1/2] " Petri Latvala
2023-03-01 15:54   ` Kamil Konieczny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox