From 25ed9f3e4149ee312a93573444f5eb4c5099fbea Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Wed, 19 Nov 2025 15:27:33 +0000 Subject: [PATCH] Bug 41271: Make pod_coverage.t die verbosely instead of silently To test, ktd: 1) Rollback to commit before bug 37893: git reset --hard 3f59557d2ac 2) Apply this patch 3) Reset: reset_all 4) Run the pod_coverage.t test: prove -v /kohadevbox/koha/xt/author/pod_coverage.t You get error: "Module died while loading 'C4::SIP::SIPServer': Could not find pod_coverage.xml in /kohadevbox/koha/xt/author. --- xt/author/pod_coverage.t | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/xt/author/pod_coverage.t b/xt/author/pod_coverage.t index 8430a12c4cb..e59cd203dbd 100755 --- a/xt/author/pod_coverage.t +++ b/xt/author/pod_coverage.t @@ -43,6 +43,21 @@ sub check_pod_coverage { $package_name =~ s|/|::|g; $package_name =~ s|\.pm$||; - my $coverage = Pod::Coverage->new( package => $package_name ); + # 1) Try loading the package manually + my $require_path = $file; + $require_path =~ s|::|/|g; # convert back just in case + my $error; + + eval { require $require_path; }; + if ($@) { + return "Module died while loading '$package_name': $@"; + } + + # 2) Now safely ask Pod::Coverage + my $coverage = eval { Pod::Coverage->new( package => $package_name ); }; + if ($@) { + return "Pod::Coverage died for '$package_name': $@"; + } + return $coverage->uncovered; } -- 2.39.5