Skip to content

run/locale.t test fails in 5.30.2 (Gentoo release, in preparation; same in 5.30.1) #17713

@akhuettel

Description

@akhuettel

While packaging 5.30.2 for Gentoo, I noticed failures of run/locale.t
Rechecking 5.30.1, I now see identical failures there too.

Here are the corresponding log snippets.

# Failed test 35 - Radix print properly in locale scope, and without at ./test.pl line 1062
#      got "1.5\n1.5"
# expected "1,5\n1.5"
# PROG: 
#                 my $i = 1.5;
#                 {
#                     use locale;
#                     use POSIX;
#                     POSIX::setlocale(POSIX::LC_NUMERIC(),"de_DE.iso885915@euro");
#                     print $i, "
# ";
#                 }
#                 print $i, "
# ";
# STATUS: 0
^M===(    8210;1  0/?  1721/4216  91/92  36/?   93/137   4843/1642... )===# Failed test 36 - Can do math when radix is a comma at ./test.pl line 1062
#      got "1.5\n2.5"
# expected "1,5\n2,5"
# PROG: 
#                 my $i = 1.5;   # Should be exactly representable as a base 2
#                                 # fraction, so can use 'eq' below
#                 use locale;
#                 use POSIX;
#                 POSIX::setlocale(POSIX::LC_NUMERIC(),"de_DE.iso885915@euro");
#                 print $i, "
# ";
#                 $i += 1;
#                 print $i, "
# ";
# STATUS: 0
^M                                                                        ^Mrun/fresh_perl.t ................................................... ok
^M===(    8216;1  0/?  1722/4216  37/?   94/137   4844/16421    0/... )===^M                                                                        ^Mio/getcwd.t ........................................................ ok
^M===(    8219;1  0/?  1723/4216  37/?   95/137   4845/16421    0/... )===# Failed test 37 - POSIX::strtod() uses underlying locale at ./test.pl line 1062
#      got "1"
# expected "1.5"
# PROG: 
#                     use POSIX;
#                     POSIX::setlocale(POSIX::LC_NUMERIC(),"de_DE.iso885915@euro");
#                     my $one_point_5 = POSIX::strtod("1,5");
#                     $one_point_5 =~ s/0+$//;  # Remove any trailing zeros
#                     print $one_point_5, "
# ";
# STATUS: 0

Perl configuration

(for my installed 5.30.1 which is built exactly the same way)

huettel@farino ~/Gentoo/gentoo/dev-lang/perl $ perl -V
Summary of my perl5 (revision 5 version 30 subversion 1) configuration:
   
  Platform:
    osname=linux
    osvers=5.4.30-gentoo-ah1
    archname=x86_64-linux
    uname='linux farino 5.4.30-gentoo-ah1 #1 smp fri apr 3 15:46:25 eest 2020 x86_64 intel(r) core(tm) i5-8265u cpu @ 1.60ghz genuineintel gnulinux '
    config_args='-des -Dinstallprefix=/usr -Dinstallusrbinperl=n -Ui_xlocale -Di_ndbm -Di_gdbm -Di_db -DDEBUGGING=none -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dnoextensions=ODBM_File -Duseshrplib -Darchname=x86_64-linux -Dcc=x86_64-pc-linux-gnu-gcc -Doptimize=-O2 -pipe -march=native -Dldflags=-Wl,-O1 -Wl,--as-needed -Dprefix=/usr -Dsiteprefix=/usr/local -Dvendorprefix=/usr -Dscriptdir=/usr/bin -Dprivlib=/usr/lib64/perl5/5.30.1 -Darchlib=/usr/lib64/perl5/5.30.1/x86_64-linux -Dsitelib=/usr/local/lib64/perl5/5.30.1 -Dsitearch=/usr/local/lib64/perl5/5.30.1/x86_64-linux -Dvendorlib=/usr/lib64/perl5/vendor_perl/5.30.1 -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.30.1/x86_64-linux -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dvendorman1dir=/usr/share/man/man1 -Dvendorman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm -Dlibperl=libperl.so.5.30.1 -Dlocincpth=/usr/include  -Dglibpth=/lib64 /usr/lib64  -Duselargefiles -Dd_semctl_semun -Dcf_by=Gentoo -Dmyhostname=localhost -Dperladmin=root@localhost -Ud_csh -Dsh=/bin/sh -Dtargetsh=/bin/sh -Uusenm -Ui_xlocale -Di_ndbm -Di_gdbm -Di_db -DDEBUGGING=none -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dnoextensions=ODBM_File'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='x86_64-pc-linux-gnu-gcc'
    ccflags ='-fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-O2 -pipe -march=native'
    cppflags='-fwrapv -fno-strict-aliasing -pipe'
    ccversion=''
    gccversion='9.2.0'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='x86_64-pc-linux-gnu-gcc'
    ldflags ='-Wl,-O1 -Wl,--as-needed'
    libpth=/usr/local/lib64 /lib64 /usr/lib64 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib
    libs=-lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-ldl -lm -lcrypt -lutil -lc
    libc=libc-2.30.so
    so=so
    useshrplib=true
    libperl=libperl.so.5.30.1
    gnulibc_version='2.30'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2 -pipe -march=native -Wl,-O1 -Wl,--as-needed'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_TIMES
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
  Locally applied patches:
    gentoo/hints_hpux - Fix hpux hints
    gentoo/aix_soname - aix gcc detection and shared library soname support
    gentoo/EUMM-RUNPATH - https://bugs.gentoo.org/105054 cpan/ExtUtils-MakeMaker: drop $PORTAGE_TMPDIR from LD_RUN_PATH
    gentoo/config_over - Remove -rpath and append LDFLAGS to lddlflags
    gentoo/opensolaris_headers - Add headers for opensolaris
    gentoo/patchlevel - List packaged patches for perl-5.30.1(#1) in patchlevel.h
    gentoo/cleanup-paths - Cleanup PATH and shrpenv
    gentoo/enc2xs - Tweak enc2xs to follow symlinks and ignore missing @INC directories.
    gentoo/darwin-cc-ld - https://bugs.gentoo.org/297751 darwin: Use $CC to link
    gentoo/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
    gentoo/interix - Fix interix hints
    gentoo/create_libperl_soname - https://bugs.gentoo.org/286840 Set libperl soname
    gentoo/mod_paths - Add /etc/perl to @INC
    gentoo/EUMM_perllocalpod - cpan/ExtUtils-MakeMaker: remove targets that generate perllocal.pod
    gentoo/drop_fstack_protector - https://bugs.gentoo.org/348557 Don't force -fstack-protector on everyone
    gentoo/usr_local - Configure: Don't include sources in /usr/local/ for compiling perl
    gentoo/D-SHA-CFLAGS - https://bugs.gentoo.org/506818 Do not set custom CFLAGS in cpan/Digest-SHA
    gentoo/io_socket_ip_tests - cpan/IO-Socket-IP: Disable network tests
    gentoo/tests - Fix EUMM podlocal tests
    gentoo/no-nsl-cl.patch -
    gentoo/no_porting_tests - Disable porting tests which create fun false-failures all over travis
    gentoo/pathtools_enoent - Disable PathTools tests which fails under sandboxing
    debian/cpan-missing-site-dirs - Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
    debian/makemaker-pasthru - Pass LD settings through to subdirectories
    fixes/memoize_storable_nstore - [rt.cpan.org #77790] Memoize::Storable: respect 'nstore' option not respected
    fixes/podman-pipe - Better errors for man pages from standard input
    fixes/respect_umask - Respect umask during installation
    fixes/net_smtp_docs - [rt.cpan.org #36038] Document the Net::SMTP 'Port' option
    fixes/document_makemaker_ccflags - [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}
    fixes/parallel-manisort.patch - Fix parallel building
  Built under linux
  Compiled at Apr  4 2020 03:45:51
  @INC:
    /etc/perl
    /usr/local/lib64/perl5/5.30.1/x86_64-linux
    /usr/local/lib64/perl5/5.30.1
    /usr/lib64/perl5/vendor_perl/5.30.1/x86_64-linux
    /usr/lib64/perl5/vendor_perl/5.30.1
    /usr/lib64/perl5/5.30.1/x86_64-linux
    /usr/lib64/perl5/5.30.1
huettel@farino ~/Gentoo/gentoo/dev-lang/perl $ 

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions