On Fri, Oct 31, 2025 at 6:19 AM Michael Paquier <michael@paquier.xyz> wrote:
On Thu, Oct 30, 2025 at 05:00:27PM +0530, Sadhuprasad Patro wrote: > On Fri, Oct 17, 2025 at 11:11 AM Michael Paquier <michael@paquier.xyz> > wrote: >> -ok($node->log_contains(qr/no SSL error reported/) == 0, >> +is($node->log_contains(qr/no SSL error reported/), 0 >> >> The CI was failing with the change in the SSL tests, as of: >> [05:03:12.647] # at >> /tmp/cirrus-ci-build/src/test/ssl/t/001_ssltests.pl line 127. >> [05:03:12.647] # got: '' >> [05:03:12.647] # expected: '0'
Sadhuprasad, there was still a bit more we could do. Related to this issue with the SSL test, what do you think about the introduction of a log_contains_like() in Cluster.pm where we would directly call like() in the subroutine? This way, we would be able to report in the output the contents of the server logs we are trying to match (or not match) with a pattern, making debugging easier. What do you think? -- Michael
Hi Michael,
I think we can do this as you suggested...
I can define something like below in perl script and try to use:
sub log_contains_like { my ($self, $pattern, $msg, $do_test) = @_; my $log = $self->get_log();
$msg //= "Log output matches pattern";
# Run as test by default if (!defined $do_test || $do_test) { my $ok = like($log, $pattern, $msg);
# If the test failed, show a concise log snippet unless ($ok) { my @lines = split /\n/, $log; my $snippet;