Re: rhel8 test failure confirmation?

Jacob Bachmeyer <[email protected]>
Newsgroups gmane.comp.sysutils.automake.general
Message-ID <[email protected]>
Bogdan wrote:
> Jacob Bachmeyer <[email protected]>, Mon Apr 03 2023 06:16:53 
> GMT+0200 (Central European Summer Time)
>> Karl Berry wrote:
>>> [...]
>>>    What can we do about this?
>>>
>>> As for automake: can we (you :) somehow modify the computation of the
>>> sleep value to determine if autom4te can handle the HiRes testing or 
>>> not
>>> (i.e., has the patch installed)? And then use the longer sleep in
>>> automake testing if needed.
>>
>> If you can locate Autom4te::FileUtils, grepping it for "Time::HiRes" 
>> will tell you if autom4te supports sub-second timestamps, but then 
>> you need more checks to validate that the filesystem actually has 
>> sub-second timestamps.
>>
>> A simple check:
>>
>> if $PERL -I${autom4te_perllibdir:-/usr/share/autoconf} 
>> -I/usr/local/share/autoconf \
>>         -MAutom4te::FileUtils -e 'exit defined $INC{q[Time/HiRes.pm]} 
>> ? 0 : 1'; then
>>     # autom4te uses Time::HiRes
>> else
>>     # autom4te does not use Time::HiRes
>> fi
>>
>> This method also has the advantage of implicitly also checking that 
>> $PERL has Time::HiRes installed by determining if loading 
>> Autom4te::FileUtils causes Time::HiRes to be loaded.  (In other 
>> words, this will give the correct answer on Perl 5.6 if Time::HiRes 
>> was installed from CPAN or on later Perls if a distribution packager 
>> has unbundled Time::HiRes and the user has not installed its package.)
>
>
>  Nice. The 0 and 1 may not be portable to each OS in the Universe (see 
> EXIT_SUCCESS and EXIT_FAILURE in exit(3)), but should be good/portable 
> enough for our goals. Or maybe some other simple solution.

Generally, "exit 0" reports success to the shell and any other exit 
value is taken as false.  I am unsure if POSIX actually requires that, 
however.

>  As I understand, this could even be used to actually call the sub 
> which checks the timestamps, so we'd have a read-to-use test. Only a 
> matter of where to put it... Is there some code that runs *before* all 
> tests that could set some environment variable passed to the tests, 
> create a file, or whatever?

The intended implication was that that test would go in configure.

Verifying that the filesystem actually /has/ subsecond timestamps is a 
separate issue; that test only detects whether autom4te will use 
subsecond timestamps /if/ they are available.

The test also guesses the location of autoconf's Perl libraries; a more 
thorough test would locate the autom4te script and grep it for the 
perllibdir that was substituted when autoconf was configured.


-- Jacob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.