| From: | Andrew Dunstan <andrew(at)dunslane(dot)net> | 
|---|---|
| To: | Peter Eisentraut <peter(at)eisentraut(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: Make all Perl warnings fatal | 
| Date: | 2023-08-21 15:51:24 | 
| Message-ID: | 57346790-53cb-67ac-b62f-42813110f9fc@dunslane.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On 2023-08-21 Mo 02:20, Peter Eisentraut wrote:
> To avoid a complete bloodbath on cfbot, here is an updated patch set 
> that includes a workaround for the getprotobyname() issue mentioned 
> below.
>
>
> On 10.08.23 07:58, Peter Eisentraut wrote:
>> We have a lot of Perl scripts in the tree, mostly code generation and 
>> TAP tests.  Occasionally, these scripts produce warnings.  These are 
>> AFAICT always mistakes on the developer side (true positives).  
>> Typical examples are warnings from genbki.pl or related when you make 
>> a mess in the catalog files during development, or warnings from 
>> tests when they massage a config file that looks different on 
>> different hosts, or mistakes during merges (e.g., duplicate 
>> subroutine definitions), or just mistakes that weren't noticed, 
>> because, you know, there is a lot of output in a verbose build.
>>
>> I wanted to figure put if we can catch these more reliably, in the 
>> style of -Werror.  AFAICT, there is no way to automatically turn all 
>> warnings into fatal errors.  But there is a way to do it per script, 
>> by replacing
>>
>>      use warnings;
>>
>> by
>>
>>      use warnings FATAL => 'all';
>>
>> See attached patch to try it out.
>>
>> The documentation at 
>> <https://perldoc.perl.org/warnings#Fatal-Warnings> appears to sort of 
>> hand-wave against doing that.  Their argument appears to be something 
>> like, the modules you use might in the future produce additional 
>> warnings, thus breaking your scripts.  On balance, I'd take that 
>> risk, if it means I would notice the warnings in a more timely and 
>> robust way.  But that's just me at a moment in time.
>>
>> Thoughts?
It's not really the same as -Werror, because many warnings can be 
generated at runtime rather than compile-time.
Still, I guess that might not matter too much since apart from plperl we 
only use perl for building / testing.
Regarding the dangers mentioned, I guess we can undo it if it proves a 
nuisance.
+1 to getting rid if the unnecessary call to getprotobyname().
cheers
andrew
--
Andrew Dunstan
EDB:https://www.enterprisedb.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jeff Davis | 2023-08-21 16:08:43 | Re: [17] Special search_path names "!pg_temp" and "!pg_catalog" | 
| Previous Message | Tristan Partin | 2023-08-21 15:48:23 | Re: meson: pgxs Makefile.global differences |