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