Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PATCH] Test failures under DragonFly BSD #15800

Closed
p5pRT opened this issue Jan 10, 2017 · 8 comments
Closed

[PATCH] Test failures under DragonFly BSD #15800

p5pRT opened this issue Jan 10, 2017 · 8 comments

Comments

@p5pRT
Copy link

p5pRT commented Jan 10, 2017

Migrated from rt.perl.org#130534 (status was 'resolved')

Searchable as RT130534$

@p5pRT
Copy link
Author

p5pRT commented Jan 10, 2017

From @xenu

Created by @xenu

Following three tests fail under DragonFly BSD on blead​:

  ../cpan/IO-Socket-IP/t/16v6only.t
  ../ext/POSIX/t/sigaction.t
  op/stat.t

Basically, I had to add exclusions that are already in
place for some other operating systems.

stat() tests fails because on UFS st_ctime and st_mtime
seem to always be the same. That test was already skipped
on OS X for the same reason. Note that it works fine under
HAMMER fs.

sigaction tests fail because dfly doesn't set uid and pid
fields in siginfo_t structure.

IO​::Socket​::IP failure was reported to its maintainer[1].

PS. Last week I told Jim that I will setup dfly smoker. I
was more busy than I expected, but I'm pretty sure I'll
find time to do it soon.

[1] - https://rt.cpan.org/Ticket/Display.html?id=119780

(apologies if it's a duplicate, I forgot to add perlbug boilerplate
first time)

Perl Info

Flags:
    category=core
    severity=low

Site configuration information for perl 5.24.0:

Configured by xenu at Mon Aug  8 18:36:41 CEST 2016.

Summary of my perl5 (revision 5 version 24 subversion 0) configuration:
   
  Platform:
    osname=dragonfly, osvers=4.6-release, archname=x86_64-dragonfly
    uname='dragonfly carychium-tridentatum.xenu.pl 4.6-release dragonfly v4.6.0-release #0: mon aug 1 12:46:25 edt 2016 root@www.shiningsilence.com:usrobjbuildsysx86_64_generic x86_64 '
    config_args='-de -Dprefix=/home/xenu/perl5/perlbrew/perls/perl-5.24.0 -Aeval:scriptdir=/home/xenu/perl5/perlbrew/perls/perl-5.24.0/bin'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2',
    optimize='-O',
    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion='', gccversion='5.3.1 [DragonFly] Release/2015-12-04', 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='cc', ldflags ='-Wl,-E  -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib /usr/lib
    libs=-lpthread -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -ldl -lm -lcrypt -lutil -lc
    libc=, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib -fstack-protector-strong'

Locally applied patches:
    Devel::PatchPerl 1.38


@INC for perl 5.24.0:
    /home/xenu/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0/x86_64-dragonfly
    /home/xenu/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0
    /home/xenu/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-dragonfly
    /home/xenu/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0
    .


Environment for perl 5.24.0:
    HOME=/home/xenu
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/xenu/perl5/perlbrew/bin:/home/xenu/perl5/perlbrew/perls/perl-5.24.0/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/pkg/sbin:/usr/pkg/bin:/home/xenu/bin
    PERLBREW_CSHRC_VERSION=0.76
    PERLBREW_HOME=/home/xenu/.perlbrew
    PERLBREW_MANPATH=/home/xenu/perl5/perlbrew/perls/perl-5.24.0/man
    PERLBREW_PATH=/home/xenu/perl5/perlbrew/bin:/home/xenu/perl5/perlbrew/perls/perl-5.24.0/bin
    PERLBREW_PERL=perl-5.24.0
    PERLBREW_ROOT=/home/xenu/perl5/perlbrew
    PERLBREW_VERSION=0.76
    PERL_BADLANG (unset)
    SHELL=/bin/tcsh

@p5pRT
Copy link
Author

p5pRT commented Jan 10, 2017

From @xenu

The patch is attached.

@p5pRT
Copy link
Author

p5pRT commented Jan 10, 2017

From @xenu

0001-perl-130534-fix-test-failures-under-DragonFly-BSD.patch
From fecb6dd6cf97b2ad6374bcd3ffcf22a6b75e59f3 Mon Sep 17 00:00:00 2001
From: Tomasz Konojacki <me@xenu.pl>
Date: Tue, 10 Jan 2017 03:47:51 +0100
Subject: [PATCH] (perl #130534) fix test failures under DragonFly BSD

---
 ext/POSIX/t/sigaction.t |  4 +++-
 t/op/stat.t             | 10 +++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/ext/POSIX/t/sigaction.t b/ext/POSIX/t/sigaction.t
index ddcc021524..99bbb9f531 100644
--- a/ext/POSIX/t/sigaction.t
+++ b/ext/POSIX/t/sigaction.t
@@ -204,7 +204,9 @@ SKIP: {
             ||
             ($^O.$Config{osvers}) =~ /^openbsd[0-6]\./
             ||
-            ($^O eq 'gnu'));
+            ($^O eq 'gnu')
+            ||
+            ($^O eq 'dragonfly'));
     my $tests = keys %{{ %siginfo, %opt_val }};
     eval 'use POSIX qw(SA_SIGINFO); SA_SIGINFO';
     skip("no SA_SIGINFO", $tests) if $@;
diff --git a/t/op/stat.t b/t/op/stat.t
index 4df4ac7264..323c4982fc 100644
--- a/t/op/stat.t
+++ b/t/op/stat.t
@@ -43,10 +43,11 @@ $Is_Solaris = $^O eq 'solaris';
 $Is_VMS     = $^O eq 'VMS';
 $Is_MPRAS   = $^O =~ /svr4/ && -f '/etc/.relid';
 $Is_Android = $^O =~ /android/;
+$Is_Dfly    = $^O eq 'dragonfly';
 
 $Is_Dosish  = $Is_Dos || $Is_OS2 || $Is_MSWin32 || $Is_NetWare;
 
-$Is_UFS     = $Is_Darwin && (() = `df -t ufs . 2>/dev/null`) == 2;
+$ufs_no_ctime = ($Is_Dfly || $Is_Darwin) && (() = `df -t ufs . 2>/dev/null`) == 2;
 
 if ($Is_Cygwin && !is_miniperl) {
   require Win32;
@@ -141,8 +142,7 @@ SKIP: {
         # no ctime concept $ctime is ALWAYS == $mtime
         # expect netware to be the same ...
         skip "No ctime concept on this OS", 2
-                                     if $Is_MSWin32 || 
-                                        ($Is_Darwin && $Is_UFS);
+                                     if $Is_MSWin32 || $ufs_no_ctime;
 
         if( !ok($mtime, 'hard link mtime') ||
             !isnt($mtime, $ctime, 'hard link ctime != mtime') ) {
@@ -151,8 +151,8 @@ SKIP: {
 # has this problem.  Building on the ClearCase VOBS filesystem may also
 # cause this failure.
 #
-# Darwin's UFS doesn't have a ctime concept, and thus is expected to fail
-# this test.
+# Some UFS implementations don't have a ctime concept, and thus are
+# expected to fail this test.
 DIAG
         }
     }
-- 
2.11.0

@p5pRT
Copy link
Author

p5pRT commented Jan 10, 2017

@khwilliamson - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Jan 10, 2017

From @khwilliamson

Thanks,

Applied to blead as a4ea138
--
Karl Williamson

@p5pRT
Copy link
Author

p5pRT commented Jan 10, 2017

@khwilliamson - Status changed from 'open' to 'pending release'

@p5pRT
Copy link
Author

p5pRT commented May 30, 2017

From @khwilliamson

Thank you for filing this report. You have helped make Perl better.

With the release today of Perl 5.26.0, this and 210 other issues have been
resolved.

Perl 5.26.0 may be downloaded via​:
https://metacpan.org/release/XSAWYERX/perl-5.26.0

If you find that the problem persists, feel free to reopen this ticket.

@p5pRT
Copy link
Author

p5pRT commented May 30, 2017

@khwilliamson - Status changed from 'pending release' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant