Hello community,
here is the log from the commit of package perl-Test-TCP for openSUSE:Factory checked in at 2017-05-03 15:57:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-TCP (Old)
and /work/SRC/openSUSE:Factory/.perl-Test-TCP.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-TCP"
Wed May 3 15:57:24 2017 rev:13 rq:492408 version:2.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-TCP/perl-Test-TCP.changes 2016-08-22 10:07:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Test-TCP.new/perl-Test-TCP.changes 2017-05-03 15:57:25.874183672 +0200
@@ -1,0 +2,11 @@
+Tue Apr 25 06:52:34 UTC 2017 - coolo@suse.com
+
+- updated to 2.18
+ see /usr/share/doc/packages/perl-Test-TCP/Changes
+
+ 2.18 2017-04-24T06:00:25Z
+ - let the kernel select an empty port #59
+ https://github.com/tokuhirom/Test-TCP/pull/59
+ (i110)
+
+-------------------------------------------------------------------
Old:
----
Test-TCP-2.17.tar.gz
New:
----
Test-TCP-2.18.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Test-TCP.spec ++++++
--- /var/tmp/diff_new_pack.mFwYRf/_old 2017-05-03 15:57:26.598081477 +0200
+++ /var/tmp/diff_new_pack.mFwYRf/_new 2017-05-03 15:57:26.602080912 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Test-TCP
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,14 @@
Name: perl-Test-TCP
-Version: 2.17
+Version: 2.18
Release: 0
%define cpan_name Test-TCP
Summary: Testing Tcp Program
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Test-TCP/
-Source0: http://www.cpan.org/authors/id/S/SY/SYOHEX/%{cpan_name}-%{version}.tar.gz
+Source0: https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -57,6 +57,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes LICENSE minil.toml README.md
+%doc Changes minil.toml README.md
+%license LICENSE
%changelog
++++++ Test-TCP-2.17.tar.gz -> Test-TCP-2.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/Changes new/Test-TCP-2.18/Changes
--- old/Test-TCP-2.17/Changes 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/Changes 2017-04-24 08:01:16.000000000 +0200
@@ -1,5 +1,10 @@
Revision history for Perl module Test::TCP
+2.18 2017-04-24T06:00:25Z
+ - let the kernel select an empty port #59
+ https://github.com/tokuhirom/Test-TCP/pull/59
+ (i110)
+
2.17 2016-08-18T14:42:56Z
- check_port can take 'host' argument(#55)
- Fix test on Windows issue(#55)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/META.json new/Test-TCP-2.18/META.json
--- old/Test-TCP-2.17/META.json 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/META.json 2017-04-24 08:01:16.000000000 +0200
@@ -4,7 +4,7 @@
"Tokuhiro Matsuno "
],
"dynamic_config" : 0,
- "generated_by" : "Minilla/v3.0.4",
+ "generated_by" : "Minilla/v3.0.9",
"license" : [
"perl_5"
],
@@ -67,7 +67,7 @@
},
"Test::TCP" : {
"file" : "lib/Test/TCP.pm",
- "version" : "2.17"
+ "version" : "2.18"
},
"Test::TCP::CheckPort" : {
"file" : "lib/Test/TCP/CheckPort.pm"
@@ -84,7 +84,7 @@
"web" : "https://github.com/tokuhirom/Test-TCP"
}
},
- "version" : "2.17",
+ "version" : "2.18",
"x_contributors" : [
"tokuhirom ",
"mattn ",
@@ -110,7 +110,10 @@
"David Precious ",
"Alex Vandiver ",
"richard.leach ",
- "Syohei YOSHIDA "
+ "openstrike ",
+ "Pete Houston ",
+ "Syohei YOSHIDA ",
+ "Ichito Nagata "
],
"x_serialization_backend" : "JSON::PP version 2.27400"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/META.yml new/Test-TCP-2.18/META.yml
--- old/Test-TCP-2.17/META.yml 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/META.yml 2017-04-24 08:01:16.000000000 +0200
@@ -9,7 +9,7 @@
configure_requires:
ExtUtils::MakeMaker: '6.64'
dynamic_config: 0
-generated_by: 'Minilla/v3.0.4, CPAN::Meta::Converter version 2.150005'
+generated_by: 'Minilla/v3.0.9, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -30,7 +30,7 @@
file: lib/Net/EmptyPort.pm
Test::TCP:
file: lib/Test/TCP.pm
- version: '2.17'
+ version: '2.18'
Test::TCP::CheckPort:
file: lib/Test/TCP/CheckPort.pm
requires:
@@ -44,7 +44,7 @@
bugtracker: https://github.com/tokuhirom/Test-TCP/issues
homepage: https://github.com/tokuhirom/Test-TCP
repository: git://github.com/tokuhirom/Test-TCP.git
-version: '2.17'
+version: '2.18'
x_contributors:
- 'tokuhirom '
- 'mattn '
@@ -70,5 +70,8 @@
- 'David Precious '
- 'Alex Vandiver '
- 'richard.leach '
+ - 'openstrike '
+ - 'Pete Houston '
- 'Syohei YOSHIDA '
+ - 'Ichito Nagata '
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/Makefile.PL new/Test-TCP-2.18/Makefile.PL
--- old/Test-TCP-2.17/Makefile.PL 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/Makefile.PL 2017-04-24 08:01:16.000000000 +0200
@@ -12,7 +12,7 @@
my %WriteMakefileArgs = (
NAME => 'Test::TCP',
DISTNAME => 'Test-TCP',
- VERSION => '2.17',
+ VERSION => '2.18',
EXE_FILES => [glob('script/*'), glob('bin/*')],
CONFIGURE_REQUIRES => {
"ExtUtils::MakeMaker" => "6.64"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/lib/Net/EmptyPort.pm new/Test-TCP-2.18/lib/Net/EmptyPort.pm
--- old/Test-TCP-2.17/lib/Net/EmptyPort.pm 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/lib/Net/EmptyPort.pm 2017-04-24 08:01:16.000000000 +0200
@@ -42,17 +42,24 @@
my ($host, $port, $proto) = @_ && ref $_[0] eq 'HASH' ? ($_[0]->{host}, $_[0]->{port}, $_[0]->{proto}) : (undef, @_);
$host = '127.0.0.1'
unless defined $host;
+ $proto = $proto ? lc($proto) : 'tcp';
+
if (defined $port) {
+ # to ensure lower bound, check one by one in order
$port = 49152 unless $port =~ /^[0-9]+$/ && $port < 49152;
+ while ( $port++ < 65000 ) {
+ # Remote checks don't work on UDP, and Local checks would be redundant here...
+ next if ($proto eq 'tcp' && check_port({ host => $host, port => $port }));
+ return $port if can_bind($host, $port, $proto);
+ }
} else {
- $port = 50000 + (int(rand()*1500) + abs($$)) % 1500;
- }
- $proto = $proto ? lc($proto) : 'tcp';
-
- while ( $port++ < 65000 ) {
- # Remote checks don't work on UDP, and Local checks would be redundant here...
- next if ($proto eq 'tcp' && check_port({ host => $host, port => $port }));
- return $port if can_bind($host, $port, $proto);
+ # kernel will select an unused port
+ while ( my $sock = _listen_socket($host, undef, $proto) ) {
+ $port = $sock->sockport;
+ $sock->close;
+ next if ($proto eq 'tcp' && check_port({ host => $host, port => $port }));
+ return $port;
+ }
}
die "empty port not found";
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/lib/Test/TCP.pm new/Test-TCP-2.18/lib/Test/TCP.pm
--- old/Test-TCP-2.17/lib/Test/TCP.pm 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/lib/Test/TCP.pm 2017-04-24 08:01:16.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use warnings;
use 5.00800;
-our $VERSION = '2.17';
+our $VERSION = '2.18';
use base qw/Exporter/;
use Test::SharedFork 0.12;
use Test::More ();
@@ -20,7 +20,7 @@
sub test_tcp {
my %args = @_;
for my $k (qw/client server/) {
- die "missing madatory parameter $k" unless exists $args{$k};
+ die "missing mandatory parameter $k" unless exists $args{$k};
}
my $server_code = delete $args{server};
my $client_code = delete $args{client};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/t/04_die.t new/Test-TCP-2.18/t/04_die.t
--- old/Test-TCP-2.17/t/04_die.t 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/t/04_die.t 2017-04-24 08:01:16.000000000 +0200
@@ -1,6 +1,6 @@
use warnings;
use strict;
-use Test::More tests => 3;
+use Test::More tests => 9;
use Test::TCP;
use IO::Socket::INET;
use t::Server;
@@ -33,3 +33,17 @@
$? = 0;
}
+eval { test_tcp (); };
+$e = $@;
+ok ($e, 'No client is fatal error');
+like ($e, qr/missing mandatory parameter client/, 'No client is fatal error');
+
+eval { test_tcp (client => 1); };
+$e = $@;
+ok ($e, 'No server is fatal error');
+like ($e, qr/missing mandatory parameter server/, 'No server is fatal error');
+
+eval { Test::TCP->new (); };
+$e = $@;
+ok ($e, 'No code is fatal error');
+like ($e, qr/missing mandatory parameter 'code'/, 'No code is fatal error');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/t/10_oo.t new/Test-TCP-2.18/t/10_oo.t
--- old/Test-TCP-2.17/t/10_oo.t 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/t/10_oo.t 2017-04-24 08:01:16.000000000 +0200
@@ -1,6 +1,6 @@
use warnings;
use strict;
-use Test::More tests => 22;
+use Test::More tests => 24;
use Test::TCP;
use IO::Socket::INET;
use t::Server;
@@ -47,5 +47,21 @@
waitpid($server->pid, 0);
+my $s2 = Test::TCP->new (
+ code => sub { return 1; },
+ port => 8080,
+ auto_start => 0
+);
+is ($s2->port, 8080, 'Specify port');
+
+$s2 = Test::TCP->new (
+ {
+ code => sub { return 1; },
+ port => 8080,
+ auto_start => 0
+ }
+);
+is ($s2->port, 8080, 'Args as hashref');
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/t/11_net_empty_port.t new/Test-TCP-2.18/t/11_net_empty_port.t
--- old/Test-TCP-2.17/t/11_net_empty_port.t 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/t/11_net_empty_port.t 2017-04-24 08:01:16.000000000 +0200
@@ -59,4 +59,28 @@
ok $sock;
};
+my $port = empty_port (8080, 'tcp');
+ok ($port, 'Non hashref arg to empty_port');
+cmp_ok ($port, '<', 49152, 'Specified low port to empty_port');
+$port = empty_port (50000, 'tcp');
+cmp_ok ($port, '>', 49151, 'Specified high port to empty_port');
+$port = empty_port ('alpha', 'tcp');
+cmp_ok ($port, '>', 49151, 'Specified non-numeric port to empty_port');
+$port = empty_port ('alpha', 'udp');
+cmp_ok ($port, '>', 49151, 'Specified non-numeric port and udp proto to empty_port');
+
+
+$port = empty_port ();
+ok (!wait_port ($port, 0.1, 2, 'tcp'),
+ '4 args to wait_port (backwards compat)');
+ok (!wait_port ($port, 0.2, 'tcp'),
+ '3 args to wait_port');
+eval { wait_port (); };
+like ($@, qr/Expected .PeerService./, 'No args to wait_port is fatal');
+ok (!wait_port ($port), 'No max_wait to wait_port');
+
+eval { check_port (); };
+like ($@, qr/Expected .PeerService./, 'No args to check_port is fatal');
+ok (!check_port (empty_port(), 'tcp'), '2 args to check_port');
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-TCP-2.17/t/12_pass_wait_port_options.t new/Test-TCP-2.18/t/12_pass_wait_port_options.t
--- old/Test-TCP-2.17/t/12_pass_wait_port_options.t 2016-08-18 16:43:22.000000000 +0200
+++ new/Test-TCP-2.18/t/12_pass_wait_port_options.t 2017-04-24 08:01:16.000000000 +0200
@@ -22,6 +22,12 @@
{
Test::TCP::wait_port(1, 1);
is($wait_port_args{max_wait}, 1);
+ Test::TCP::wait_port ();
+ is($wait_port_args{max_wait}, 10, 'Default max_wait');
+ is($wait_port_args{host}, '127.0.0.1', 'Default host');
+ Test::TCP::wait_port (2, 5, 7);
+ is($wait_port_args{port}, 2, 'Backwards compatible port');
+ is($wait_port_args{max_wait}, 35, 'Backwards compatible max_wait');
}
$return = sub { $old->(@_) };