You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@spamassassin.apache.org on 2022/12/08 05:29:56 UTC

[Bug 8088] New: pod errors

https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8088

            Bug ID: 8088
           Summary: pod errors
           Product: Spamassassin
           Version: 4.0.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: spamassassin
          Assignee: dev@spamassassin.apache.org
          Reporter: frodo@morgul.net
  Target Milestone: Undefined

podchecker identifies the following typo in 4.0.0 RC4:

builder@3c897cddcaac:/src/spamassassin$ podchecker
lib/Mail/SpamAssassin/Plugin/MIMEHeader.pm
*** ERROR: Unknown directive: =items at line 64 in file
lib/Mail/SpamAssassin/Plugin/MIMEHeader.pm
lib/Mail/SpamAssassin/Plugin/MIMEHeader.pm has 1 pod syntax error.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8088] pod errors

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8088

--- Comment #5 from Sidney Markowitz <si...@sidney.com> ---
(In reply to Giovanni Bechis from comment #4)
> podchecker.t errors out when Test::Pod is not installed, fixed in r1905889.

I apologize for forgetting to test that case.

What you have matches the way it is shown in the Test::Pod documentation. I got
confused when the way we do it for other tests where we use require instead of
use didn't work.

Can someone with a better understanding of perl explain why when I used
require, podchecker.t got an undefined subroutine error from the use of
all_pod_files_ok at the end (which I understand is an error because require is
done at run time and the error for all_pod_files_ok not defined happens at
compile time), but in t/perlcritic.pl the same things works fine? In
t/perlcritic.pl there is a require Test::Perl::Critic and then at the end a
call to all_critic_ok.

Is there some difference between what t/podchecker.t does and t/perlcritic.pl
that I'm missing? I looked in Test/Pod.pm and Test/Perl/Critic.pm and they seem
to define their subs the same way.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8088] pod errors

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8088

Sidney Markowitz <si...@sidney.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
   Target Milestone|Undefined                   |4.0.0
         Resolution|---                         |FIXED

--- Comment #2 from Sidney Markowitz <si...@sidney.com> ---
I verified that the t/podchecker.t tests I added did catch the typo in
MIMEHeader.pm before I fixed the typo.

Since this only affects tests and not production code, I can commit it for
4.0.0 without a vote.

trunk % svn ci -m "Bug 8088 - Fix typo in POD documentation and add
podchecker.t to regression tests"
Sending        MANIFEST
Sending        lib/Mail/SpamAssassin/Plugin/MIMEHeader.pm
Adding         t/podchecker.t
Transmitting file data ...done
Committing transaction...
Committed revision 1905869.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8088] pod errors

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8088

Giovanni Bechis <gi...@paclan.it> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |giovanni@paclan.it

--- Comment #4 from Giovanni Bechis <gi...@paclan.it> ---
podchecker.t errors out when Test::Pod is not installed, fixed in r1905889.

Sending        t/podchecker.t
Transmitting file data .done
Committing transaction...
Committed revision 1905889.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8088] pod errors

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8088

--- Comment #6 from Sidney Markowitz <si...@sidney.com> ---
I found the difference. t/perlcritic.pl has the line
Test::Perl::Critic->import( -profile => "../t/log/perlcritic.rc" );
which apparently causes the compiler to complete importing things from
Test::Perl::Critic before the next line is compiled.

If in t/podchecker.pl I say Test::Pod::all_pod_files_ok instead of just
all_pod_files_ok then it works with require instead of use.

However, since what is committed works there is no reason to change anything.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8088] pod errors

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8088

--- Comment #3 from Sidney Markowitz <si...@sidney.com> ---
Whoops, slight mistake. This didn't change how it worked, but is more correct
and consistent with the rest of the tests.

trunk % svn ci -m "Bug 8088 - Add -T and remove use strict and use warnings -
copied initial file from wrong template" t/podchecker.t
Sending        t/podchecker.t
Transmitting file data .done
Committing transaction...
Committed revision 1905870.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8088] pod errors

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8088

Sidney Markowitz <si...@sidney.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sidney@sidney.com

--- Comment #1 from Sidney Markowitz <si...@sidney.com> ---
Good catch. I'll fix it and add podchecker to the regression tests.

-- 
You are receiving this mail because:
You are the assignee for the bug.