From ac3122efedde403d2bc5e6ffb57e49333e6b08ca Mon Sep 17 00:00:00 2001 From: Pavel Shevaev Date: Mon, 23 Oct 2023 12:48:15 +0300 Subject: [PATCH] Showing error context from the build log when error condition is triggered --- helpers.inc.php | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/helpers.inc.php b/helpers.inc.php index ba8274b..1f6ee69 100644 --- a/helpers.inc.php +++ b/helpers.inc.php @@ -1013,8 +1013,9 @@ function watch_running_process($pid, $log_file, $exit_matches = array(), $error_ { foreach($matches as $match) { - if(strpos($buffer, $match) !== false) - return true; + $match_idx = strpos($buffer, $match); + if($match_idx !== false) + return $match_idx; } return false; }; @@ -1042,18 +1043,22 @@ function watch_running_process($pid, $log_file, $exit_matches = array(), $error_ echo $buffer; //log success condition - if($matches_any_fn($buffer, $exit_matches)) + if($matches_any_fn($buffer, $exit_matches) !== false) break; - if($matches_any_fn($buffer, $noted_warnings)) + if($matches_any_fn($buffer, $noted_warnings) !== false) $warnings_list[] = $buffer; - if($matches_any_fn($buffer, $error_matches)) + $buffer_error_idx = $matches_any_fn($buffer, $error_matches); + if($buffer_error_idx !== false) { - if($matches_any_fn($buffer, $ignored_errors)) + if($matches_any_fn($buffer, $ignored_errors) !== false) echo "Error in log file IGNORED\n"; else - $throw_fn("Error condition in log file detected"); + $throw_fn("Error condition in log file '$log_file' detected:\n****\n" . + trim(substr($buffer, $buffer_error_idx, 300)) + . "\n****\n" + ); } } else if($process_gone)