Bug 39367

Summary: Add POD to all subroutines/methods
Product: Koha Reporter: Jonathan Druart <jonathan.druart>
Component: Test SuiteAssignee: Jonathan Druart <jonathan.druart>
Status: Pushed to main --- QA Contact: Nick Clemens (kidclamp) <nick>
Severity: enhancement    
Priority: P5 - low CC: baptiste.wojtkowski
Version: Main   
Hardware: All   
OS: All   
GIT URL: Change sponsored?: ---
Patch complexity: --- Documentation contact:
Documentation submission: Text to go in the release notes:
Version(s) released in:
25.05.00
Circulation function:
Bug Depends on: 39319    
Bug Blocks: 39325, 39705, 39324    
Attachments: Bug 39367: [DO NOT PUSH] Add script
Bug 39367: Automatic changes
Bug 39367: Manual changes
Bug 39367: Automatic changes
Bug 39367: Manual changes
Bug 39367: Remove .pod files from C4/SIP
Bug 39367: Add POD coverage tests
Bug 39367: Add new dependency
Bug 39367: [DO NOT PUSH] Add script
Bug 39367: Automatic changes
Bug 39367: Manual changes
Bug 39367: Remove .pod files from C4/SIP
Bug 39367: Add POD coverage tests
Bug 39367: Add new dependency
Bug 39367: Automatic changes
Bug 39367: Manual changes
Bug 39367: Remove .pod files from C4/SIP
Bug 39367: Add POD coverage tests
Bug 39367: Add new dependency
Bug 39367: (QA follow-up) Add exec permission to add_missing_pod.pl
Bug 39367: Replace tabs with spaces in POD

Description Jonathan Druart 2025-03-18 13:01:21 UTC
In order to have a POD coverage test we need a starting point where all subroutines and methods will have a POD entry, even if empty.
Comment 1 Jonathan Druart 2025-03-18 13:35:12 UTC
Created attachment 179451 [details] [review]
Bug 39367: [DO NOT PUSH] Add script
Comment 2 Jonathan Druart 2025-03-18 13:35:15 UTC
Created attachment 179452 [details] [review]
Bug 39367: Automatic changes

Added head2 right before sub with missing POD
Comment 3 Jonathan Druart 2025-03-18 13:35:18 UTC
Created attachment 179453 [details] [review]
Bug 39367: Manual changes
Comment 4 Jonathan Druart 2025-03-18 13:35:42 UTC
Test plan:

% prove xt/author/pod_checker.t 
xt/author/pod_checker.t .. ok         
All tests successful.
Files=1, Tests=3260,  5 wallclock secs ( 0.43 usr  0.04 sys +  4.57 cusr  0.11 csys =  5.15 CPU)
Result: PASS

% prove xt/author/podcorrectness.t 
xt/author/podcorrectness.t .. ok         
All tests successful.
Files=1, Tests=3259,  4 wallclock secs ( 0.43 usr  0.06 sys +  4.27 cusr  0.15 csys =  4.91 CPU)
Result: PASS
Comment 5 Jonathan Druart 2025-03-18 15:32:31 UTC
Created attachment 179456 [details] [review]
Bug 39367: Automatic changes

Added head2 right before sub with missing POD
Comment 6 Jonathan Druart 2025-03-18 15:32:34 UTC
Created attachment 179457 [details] [review]
Bug 39367: Manual changes
Comment 7 Jonathan Druart 2025-03-18 15:32:36 UTC
Created attachment 179458 [details] [review]
Bug 39367: Remove .pod files from C4/SIP

Include them into the pm instead.
Comment 8 Jonathan Druart 2025-03-18 15:32:39 UTC
Created attachment 179459 [details] [review]
Bug 39367: Add POD coverage tests
Comment 9 Jonathan Druart 2025-03-18 15:32:41 UTC
Created attachment 179460 [details] [review]
Bug 39367: Add new dependency

Nothing to do here, libpod-coverage-perl 0.23 is available in all debian
versions
Comment 10 Baptiste Wojtkowski (bwoj) 2025-03-20 15:36:07 UTC
Created attachment 179544 [details] [review]
Bug 39367: [DO NOT PUSH] Add script
Comment 11 Baptiste Wojtkowski (bwoj) 2025-03-20 15:36:12 UTC
Created attachment 179545 [details] [review]
Bug 39367: Automatic changes

Added head2 right before sub with missing POD

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Comment 12 Baptiste Wojtkowski (bwoj) 2025-03-20 15:36:17 UTC
Created attachment 179546 [details] [review]
Bug 39367: Manual changes

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Comment 13 Baptiste Wojtkowski (bwoj) 2025-03-20 15:36:20 UTC
Created attachment 179547 [details] [review]
Bug 39367: Remove .pod files from C4/SIP

Include them into the pm instead.

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Comment 14 Baptiste Wojtkowski (bwoj) 2025-03-20 15:36:23 UTC
Created attachment 179548 [details] [review]
Bug 39367: Add POD coverage tests

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Comment 15 Baptiste Wojtkowski (bwoj) 2025-03-20 15:36:27 UTC
Created attachment 179549 [details] [review]
Bug 39367: Add new dependency

Nothing to do here, libpod-coverage-perl 0.23 is available in all debian
versions

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Comment 16 Baptiste Wojtkowski (bwoj) 2025-03-20 15:37:21 UTC
16:31:47> prove xt/author/pod_checker.t 
xt/author/pod_checker.t .. ok         
All tests successful.
Files=1, Tests=3261,  3 wallclock secs ( 0.15 usr  0.02 sys +  2.01 cusr  0.08 csys =  2.26 CPU)
Result: PASS

16:32:24> prove xt/author/podcorrectness.t 
xt/author/podcorrectness.t .. ok         
All tests successful.
Files=1, Tests=3260,  2 wallclock secs ( 0.13 usr  0.01 sys +  1.85 cusr  0.07 csys =  2.06 CPU)
Result: PASS
Comment 17 Nick Clemens (kidclamp) 2025-04-01 08:26:54 UTC
Created attachment 180089 [details] [review]
Bug 39367: Automatic changes

Added head2 right before sub with missing POD

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 18 Nick Clemens (kidclamp) 2025-04-01 08:26:57 UTC
Created attachment 180090 [details] [review]
Bug 39367: Manual changes

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 19 Nick Clemens (kidclamp) 2025-04-01 08:27:01 UTC
Created attachment 180091 [details] [review]
Bug 39367: Remove .pod files from C4/SIP

Include them into the pm instead.

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 20 Nick Clemens (kidclamp) 2025-04-01 08:27:03 UTC
Created attachment 180092 [details] [review]
Bug 39367: Add POD coverage tests

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 21 Nick Clemens (kidclamp) 2025-04-01 08:27:06 UTC
Created attachment 180093 [details] [review]
Bug 39367: Add new dependency

Nothing to do here, libpod-coverage-perl 0.23 is available in all debian
versions

Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 22 Nick Clemens (kidclamp) 2025-04-01 08:27:09 UTC
Created attachment 180094 [details] [review]
Bug 39367: (QA follow-up) Add exec permission to add_missing_pod.pl

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 23 Katrin Fischer 2025-04-22 06:43:52 UTC
Hm, how are we handling these? I think typos will be fixed separately, but tab and tidy?

Also, I get a conflict when removing the [DO NOT PUSH] patch, please review!

 FAIL	C4/SIP/ILS.pm
   FAIL	  forbidden patterns
		forbidden pattern: tab char (line 668)
		forbidden pattern: tab char (line 669)
   FAIL	  spelling
		 acknowleged ==> acknowledged

 FAIL	C4/SIP/ILS/Item.pm
   FAIL	  forbidden patterns
		forbidden pattern: tab char (line 596)
		forbidden pattern: tab char (line 597)
		forbidden pattern: tab char (line 599)
		forbidden pattern: tab char (line 600)
		forbidden pattern: tab char (line 602)
		forbidden pattern: tab char (line 640)
		forbidden pattern: tab char (line 644)
		forbidden pattern: tab char (line 668)
		forbidden pattern: tab char (line 669)
		forbidden pattern: tab char (line 670)
		forbidden pattern: tab char (line 671)
		forbidden pattern: tab char (line 672)
		forbidden pattern: tab char (line 673)
		forbidden pattern: tab char (line 674)
		forbidden pattern: tab char (line 675)
		forbidden pattern: tab char (line 676)
		forbidden pattern: tab char (line 677)
		forbidden pattern: tab char (line 678)
		forbidden pattern: tab char (line 733)
		forbidden pattern: tab char (line 734)
		forbidden pattern: tab char (line 735)
		forbidden pattern: tab char (line 736)
		forbidden pattern: tab char (line 737)
		forbidden pattern: tab char (line 738)
		forbidden pattern: tab char (line 739)
		forbidden pattern: tab char (line 740)
		forbidden pattern: tab char (line 741)
		forbidden pattern: tab char (line 742)
		forbidden pattern: tab char (line 743)
		forbidden pattern: tab char (line 744)
		forbidden pattern: tab char (line 745)
		forbidden pattern: tab char (line 770)
		forbidden pattern: tab char (line 796)
		forbidden pattern: tab char (line 797)
		forbidden pattern: tab char (line 798)
		forbidden pattern: tab char (line 799)
		forbidden pattern: tab char (line 800)
		forbidden pattern: tab char (line 801)
		forbidden pattern: tab char (line 802)
		forbidden pattern: tab char (line 803)
		forbidden pattern: tab char (line 804)
		forbidden pattern: tab char (line 810)
		forbidden pattern: tab char (line 811)
		forbidden pattern: tab char (line 812)
		forbidden pattern: tab char (line 813)

 FAIL	C4/SIP/ILS/Patron.pm
   FAIL	  forbidden patterns
		forbidden pattern: tab char (line 940)
		forbidden pattern: tab char (line 941)
		forbidden pattern: tab char (line 943)
		forbidden pattern: tab char (line 944)
		forbidden pattern: tab char (line 946)
		forbidden pattern: tab char (line 947)
		forbidden pattern: tab char (line 948)
		forbidden pattern: tab char (line 949)
		forbidden pattern: tab char (line 950)
		forbidden pattern: tab char (line 951)
		forbidden pattern: tab char (line 952)
		forbidden pattern: tab char (line 953)
		forbidden pattern: tab char (line 954)
		forbidden pattern: tab char (line 955)
		forbidden pattern: tab char (line 956)
		forbidden pattern: tab char (line 957)
		forbidden pattern: tab char (line 958)
		forbidden pattern: tab char (line 959)
		forbidden pattern: tab char (line 961)
		forbidden pattern: tab char (line 962)
		forbidden pattern: tab char (line 963)
		forbidden pattern: tab char (line 964)
		forbidden pattern: tab char (line 965)
		forbidden pattern: tab char (line 966)
		forbidden pattern: tab char (line 967)
		forbidden pattern: tab char (line 968)
		forbidden pattern: tab char (line 969)
		forbidden pattern: tab char (line 970)
		forbidden pattern: tab char (line 971)
		forbidden pattern: tab char (line 972)
		forbidden pattern: tab char (line 973)
		forbidden pattern: tab char (line 974)
		forbidden pattern: tab char (line 976)
		forbidden pattern: tab char (line 977)
		forbidden pattern: tab char (line 978)
		forbidden pattern: tab char (line 979)
		forbidden pattern: tab char (line 980)
		forbidden pattern: tab char (line 981)
		forbidden pattern: tab char (line 982)
		forbidden pattern: tab char (line 983)
		forbidden pattern: tab char (line 984)
		forbidden pattern: tab char (line 985)
		forbidden pattern: tab char (line 987)
		forbidden pattern: tab char (line 988)
		forbidden pattern: tab char (line 989)
		forbidden pattern: tab char (line 995)
		forbidden pattern: tab char (line 1007)
		forbidden pattern: tab char (line 1008)
		forbidden pattern: tab char (line 1009)
		forbidden pattern: tab char (line 1010)
		forbidden pattern: tab char (line 1011)
		forbidden pattern: tab char (line 1013)
		forbidden pattern: tab char (line 1014)
		forbidden pattern: tab char (line 1028)
		forbidden pattern: tab char (line 1046)
		forbidden pattern: tab char (line 1047)
		forbidden pattern: tab char (line 1048)
		forbidden pattern: tab char (line 1049)
		forbidden pattern: tab char (line 1050)
		forbidden pattern: tab char (line 1051)
		forbidden pattern: tab char (line 1052)
		forbidden pattern: tab char (line 1053)
		forbidden pattern: tab char (line 1069)
		forbidden pattern: tab char (line 1070)
		forbidden pattern: tab char (line 1071)
		forbidden pattern: tab char (line 1072)
		forbidden pattern: tab char (line 1073)
		forbidden pattern: tab char (line 1074)
		forbidden pattern: tab char (line 1075)
		forbidden pattern: tab char (line 1076)
		forbidden pattern: tab char (line 1077)
		forbidden pattern: tab char (line 1078)
		forbidden pattern: tab char (line 1079)
		forbidden pattern: tab char (line 1080)
		forbidden pattern: tab char (line 1081)
		forbidden pattern: tab char (line 1082)
		forbidden pattern: tab char (line 1093)
		forbidden pattern: tab char (line 1094)
		forbidden pattern: tab char (line 1095)
		forbidden pattern: tab char (line 1096)
		forbidden pattern: tab char (line 1097)
		forbidden pattern: tab char (line 1103)
   FAIL	  spelling
		 Reenable ==> Re-enable

 FAIL	C4/Scrubber.pm
   FAIL	  tidiness
		File is not tidy, please run `perl misc/devel/tidy.pl C4/Scrubber.pm`
Comment 24 Jonathan Druart 2025-04-22 09:36:49 UTC
Created attachment 181238 [details] [review]
Bug 39367: Replace tabs with spaces in POD
Comment 25 Jonathan Druart 2025-04-22 09:37:42 UTC
(In reply to Katrin Fischer from comment #23)
> Hm, how are we handling these? I think typos will be fixed separately, but
> tab and tidy?
> 
> Also, I get a conflict when removing the [DO NOT PUSH] patch, please review!

Nick's QA follow-up was not needed, obsoleting it now.
Comment 26 Katrin Fischer 2025-04-23 05:39:19 UTC
QA tools take so long on this...
Comment 27 Katrin Fischer 2025-04-23 05:41:07 UTC
Should we add an Omnibus bug for fixing all "Missing POD for" entries?
Comment 28 Jonathan Druart 2025-04-23 07:31:49 UTC
(In reply to Katrin Fischer from comment #26)
> QA tools take so long on this...

Yes, that's why we need to remove the 2 passes ;)

https://gitlab.com/koha-community/qa-test-tools/-/issues/93
Comment 29 Jonathan Druart 2025-04-23 07:32:32 UTC
(In reply to Katrin Fischer from comment #27)
> Should we add an Omnibus bug for fixing all "Missing POD for" entries?

The idea was to try with an AI. We could open a follow-up bug, not necessarily an omnibus.
Comment 30 Katrin Fischer 2025-04-23 07:40:16 UTC
(In reply to Jonathan Druart from comment #29)
> (In reply to Katrin Fischer from comment #27)
> > Should we add an Omnibus bug for fixing all "Missing POD for" entries?
> 
> The idea was to try with an AI. We could open a follow-up bug, not
> necessarily an omnibus.

I think a follow-up bug would be good, just to keep track of things once this one is closed.
Comment 31 Katrin Fischer 2025-04-23 07:43:11 UTC
Pushed for 25.05!

Well done everyone, thank you!
Comment 32 Jonathan Druart 2025-04-23 08:14:23 UTC
(In reply to Katrin Fischer from comment #30)
> (In reply to Jonathan Druart from comment #29)
> > (In reply to Katrin Fischer from comment #27)
> > > Should we add an Omnibus bug for fixing all "Missing POD for" entries?
> > 
> > The idea was to try with an AI. We could open a follow-up bug, not
> > necessarily an omnibus.
> 
> I think a follow-up bug would be good, just to keep track of things once
> this one is closed.

Opened bug 39705.