Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Test-Future-IO-Impl for 
openSUSE:Factory checked in at 2026-03-11 20:52:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-Future-IO-Impl (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Test-Future-IO-Impl.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Test-Future-IO-Impl"

Wed Mar 11 20:52:16 2026 rev:5 rq:1338050 version:0.200.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Test-Future-IO-Impl/perl-Test-Future-IO-Impl.changes
        2026-02-09 15:34:49.923349268 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Test-Future-IO-Impl.new.8177/perl-Test-Future-IO-Impl.changes
      2026-03-11 20:52:47.003672680 +0100
@@ -1,0 +2,21 @@
+Sat Feb 28 05:55:13 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 0.200.0 (0.20)
+   see /usr/share/doc/packages/perl-Test-Future-IO-Impl/Changes
+
+  0.20    2026-02-27
+          [BUGFIXES]
+           * Improved testing around `POLLHUP`-related tests
+  0.19    2026-02-11
+          [BUGFIXES]
+           * Don't expect exactly `POLLERR` for the hangup-out test case, as
+             OSes differ in exact behaviour here
+  0.18    2026-02-09
+          [CHANGES]
+           * Additionally tests that `->poll(POLLIN)` doesn't accidentally fire
+             on POLLOUT-only handle
+          [BUGFIXES]
+           * Improvements to `connect` tests that might reduce false negatives
+             on Windows and other platforms
+
+-------------------------------------------------------------------

Old:
----
  Test-Future-IO-Impl-0.17.tar.gz

New:
----
  Test-Future-IO-Impl-0.20.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Test-Future-IO-Impl.spec ++++++
--- /var/tmp/diff_new_pack.tjTuPv/_old  2026-03-11 20:52:47.735702880 +0100
+++ /var/tmp/diff_new_pack.tjTuPv/_new  2026-03-11 20:52:47.739703045 +0100
@@ -18,10 +18,10 @@
 
 %define cpan_name Test-Future-IO-Impl
 Name:           perl-Test-Future-IO-Impl
-Version:        0.170.0
+Version:        0.200.0
 Release:        0
-# 0.17 -> normalize -> 0.170.0
-%define cpan_version 0.17
+# 0.20 -> normalize -> 0.200.0
+%define cpan_version 0.20
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        Acceptance tests for Future::IO implementations
 URL:            https://metacpan.org/release/%{cpan_name}

++++++ Test-Future-IO-Impl-0.17.tar.gz -> Test-Future-IO-Impl-0.20.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Future-IO-Impl-0.17/Changes 
new/Test-Future-IO-Impl-0.20/Changes
--- old/Test-Future-IO-Impl-0.17/Changes        2026-01-18 20:24:45.000000000 
+0100
+++ new/Test-Future-IO-Impl-0.20/Changes        2026-02-27 18:54:53.000000000 
+0100
@@ -1,5 +1,23 @@
 Revision history for Test-Future-IO-Impl
 
+0.20    2026-02-27
+        [BUGFIXES]
+         * Improved testing around `POLLHUP`-related tests
+
+0.19    2026-02-11
+        [BUGFIXES]
+         * Don't expect exactly `POLLERR` for the hangup-out test case, as
+           OSes differ in exact behaviour here
+
+0.18    2026-02-09
+        [CHANGES]
+         * Additionally tests that `->poll(POLLIN)` doesn't accidentally fire
+           on POLLOUT-only handle
+
+        [BUGFIXES]
+         * Improvements to `connect` tests that might reduce false negatives
+           on Windows and other platforms
+
 0.17    2026-01-18
         [CHANGES]
          * Added tests for `poll` method
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Future-IO-Impl-0.17/META.json 
new/Test-Future-IO-Impl-0.20/META.json
--- old/Test-Future-IO-Impl-0.17/META.json      2026-01-18 20:24:45.000000000 
+0100
+++ new/Test-Future-IO-Impl-0.20/META.json      2026-02-27 18:54:53.000000000 
+0100
@@ -33,7 +33,7 @@
    "provides" : {
       "Test::Future::IO::Impl" : {
          "file" : "lib/Test/Future/IO/Impl.pm",
-         "version" : "0.17"
+         "version" : "0.20"
       }
    },
    "release_status" : "stable",
@@ -42,6 +42,6 @@
          "http://dev.perl.org/licenses/";
       ]
    },
-   "version" : "0.17",
+   "version" : "0.20",
    "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Future-IO-Impl-0.17/META.yml 
new/Test-Future-IO-Impl-0.20/META.yml
--- old/Test-Future-IO-Impl-0.17/META.yml       2026-01-18 20:24:45.000000000 
+0100
+++ new/Test-Future-IO-Impl-0.20/META.yml       2026-02-27 18:54:53.000000000 
+0100
@@ -15,7 +15,7 @@
 provides:
   Test::Future::IO::Impl:
     file: lib/Test/Future/IO/Impl.pm
-    version: '0.17'
+    version: '0.20'
 requires:
   Errno: '0'
   IO::Handle: '0'
@@ -25,5 +25,5 @@
   perl: '5.014'
 resources:
   license: http://dev.perl.org/licenses/
-version: '0.17'
+version: '0.20'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Future-IO-Impl-0.17/lib/Test/Future/IO/Impl.pm 
new/Test-Future-IO-Impl-0.20/lib/Test/Future/IO/Impl.pm
--- old/Test-Future-IO-Impl-0.17/lib/Test/Future/IO/Impl.pm     2026-01-18 
20:24:45.000000000 +0100
+++ new/Test-Future-IO-Impl-0.20/lib/Test/Future/IO/Impl.pm     2026-02-27 
18:54:53.000000000 +0100
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2021-2026 -- [email protected]
 
-package Test::Future::IO::Impl 0.17;
+package Test::Future::IO::Impl 0.20;
 
 use v5.14;
 use warnings;
@@ -188,9 +188,20 @@
    # don't do this. Technically Linux can get away without it but it's only
    # 100msec, nobody will notice
    sleep 0.1;
+   sleep 1 if $^O eq "MSWin32"; # Windows needs to wait longer
+
+   # Sometimes a connect() doesn't fail, because of weird setups. Windows
+   # often doesn't fail here. Maybe weird networking. I really don't know and
+   # have no way to find out. Rather than make the tests complain here, we'll
+   # just assert that Future::IO->connect fails *if* a regular blocking
+   # connect fails first.
+   my $probe_clientsock = IO::Socket::INET->new(
+      Type => Socket::SOCK_STREAM(),
+   ) or die "Cannot socket() - $@";
+   my $connect_fails = !defined $probe_clientsock->connect( $sockname );
 
    # ->connect fails
-   {
+   if( $connect_fails ) {
       my $clientsock = IO::Socket::INET->new(
          Type => Socket::SOCK_STREAM(),
       ) or die "Cannot socket() - $@";
@@ -226,13 +237,13 @@
 
       my $f = Future::IO->poll( $rd, POLLIN );
 
-      is( scalar $f->get, POLLIN, "Future::IO->poll yields POLLIN on readable 
filehandle" );
+      is( scalar $f->get, POLLIN, "Future::IO->poll(POLLIN) yields POLLIN on 
readable filehandle" );
 
       my $f1 = Future::IO->poll( $rd, POLLIN );
       my $f2 = Future::IO->poll( $rd, POLLIN );
 
       is( [ scalar $f1->get, scalar $f2->get ], [ POLLIN, POLLIN ],
-         'Future::IO->poll can enqueue two POLLIN tests' );
+         'Future::IO->poll(POLLIN) can enqueue two POLLIN tests' );
    }
 
    # POLLOUT
@@ -241,13 +252,13 @@
 
       my $f = Future::IO->poll( $wr, POLLOUT );
 
-      is( scalar $f->get, POLLOUT, "Future::IO->poll yields POLLOUT on 
writable filehandle" );
+      is( scalar $f->get, POLLOUT, "Future::IO->poll(POLLOUT) yields POLLOUT 
on writable filehandle" );
 
       my $f1 = Future::IO->poll( $wr, POLLOUT );
       my $f2 = Future::IO->poll( $wr, POLLOUT );
 
       is( [ scalar $f1->get, scalar $f2->get ], [ POLLOUT, POLLOUT ],
-         'Future::IO->poll can enqueue two POLLOUT tests' );
+         'Future::IO->poll(POLLOUT) can enqueue two POLLOUT tests' );
    }
 
    # POLLIN+POLLOUT at once
@@ -263,7 +274,7 @@
       $frd = Future::IO->poll( $rd, POLLIN );
       $fwr = Future::IO->poll( $rd, POLLOUT );
 
-      is( scalar $frd->get, POLLIN, "Future::IO->poll yields POLLIN on 
readable with simultaneous POLLOUT" );
+      is( scalar $frd->get, POLLIN, "Future::IO->poll(POLLIN) yields POLLIN on 
readable with simultaneous POLLOUT" );
       # Don't assert on what $fwr saw here, as OSes/impls might differ
       $fwr->cancel;
 
@@ -271,10 +282,30 @@
       $frd = Future::IO->poll( $wr, POLLIN );
       $fwr = Future::IO->poll( $wr, POLLOUT );
 
-      is( scalar $fwr->get, POLLOUT, "Future::IO->poll yields POLLOUT on 
writable with simultaneous POLLIN" );
+      is( scalar $fwr->get, POLLOUT, "Future::IO->poll(POLLOUT) yields POLLOUT 
on writable with simultaneous POLLIN" );
       # Don't assert on what $frd saw here, as OSes/impls might differ
       $frd->cancel;
    }
+
+   # POLLIN doesn't fire accidentally on POLLOUT-only handle
+   {
+      require Socket;
+      require IO::Socket::UNIX;
+
+      my ( $s1, $s2 ) = IO::Socket::UNIX->socketpair( Socket::PF_UNIX, 
Socket::SOCK_STREAM, 0 )
+         or last; # some OSes e.g. Win32 cannot do PF_UNIX socketpairs
+
+      # Try both orders;
+      foreach my $first (qw( IN OUT )) {
+         my ( $fin, $fout );
+         $fin  = Future::IO->poll( $s1, POLLIN )  if $first eq "IN";
+         $fout = Future::IO->poll( $s1, POLLOUT );
+         $fin  = Future::IO->poll( $s1, POLLIN )  if $first eq "OUT";
+
+         is( scalar $fout->get, POLLOUT, "Future::IO->poll(POLLOUT) yields 
POLLOUT on writable $first first" );
+         ok( !$fin->is_ready, "Future::IO->poll(POLLIN) remains pending on 
writeable $first first" );
+      }
+   }
 }
 
 sub run_poll_test
@@ -287,9 +318,10 @@
       pipe my ( $rd, $wr ) or die "Cannot pipe() - $!";
       close $wr;
 
-      my $f = Future::IO->poll( $rd, POLLHUP );
+      my $f = Future::IO->poll( $rd, POLLIN|POLLHUP );
 
-      is( scalar $f->get, POLLHUP, "Future::IO->poll yields POLLHUP on 
hangup-in filehandle" );
+      is( ( scalar $f->get ) & POLLHUP, POLLHUP,
+         "Future::IO->poll(POLLIN) yields at least POLLHUP on hangup-in 
filehandle" );
    }
 
    # POLLERR
@@ -298,12 +330,13 @@
       pipe my ( $rd, $wr ) or die "Cannot pipe() - $!";
       close $rd;
 
-      my $f = Future::IO->poll( $wr, POLLOUT );
+      my $f = Future::IO->poll( $wr, POLLOUT|POLLHUP );
 
-      # We expect at least POLLERR, we might also see POLLOUT or POLLHUP as
+      # We expect at least one of POLLERR or POLLHUP, we might also see POLLOUT
       # well but lets not care about that
       my $got_revents = $f->get;
-      is( $got_revents & POLLERR, POLLERR, "Future::IO->poll yields at-least 
POLLERR on hangup-out filehandle" );
+      ok( $got_revents & (POLLERR|POLLHUP),
+         "Future::IO->poll(POLLOUT) yields POLLERR or POLLHUP on hangup-out 
filehandle" );
    }
 }
 

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.tjTuPv/_old  2026-03-11 20:52:47.883708986 +0100
+++ /var/tmp/diff_new_pack.tjTuPv/_new  2026-03-11 20:52:47.891709315 +0100
@@ -1,6 +1,6 @@
-mtime: 1768802111
-commit: d4b4a707c970b0839d0ef21802a16af79b0b77692b56a554c91d6af14d6dd05c
+mtime: 1772258114
+commit: db956908b765bf1cae94fccdbbe11d9aa5b98bfc808195c61cb40ada91dc3e68
 url: https://src.opensuse.org/perl/perl-Test-Future-IO-Impl.git
-revision: d4b4a707c970b0839d0ef21802a16af79b0b77692b56a554c91d6af14d6dd05c
+revision: db956908b765bf1cae94fccdbbe11d9aa5b98bfc808195c61cb40ada91dc3e68
 projectscmsync: https://src.opensuse.org/perl/_ObsPrj
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-03-09 18:08:28.000000000 +0100
@@ -0,0 +1 @@
+.osc

Reply via email to