diff options
author | Heiko Schlittermann (HS12-RIPE) <hs@schlittermann.de> | 2016-11-03 09:37:02 +0100 |
---|---|---|
committer | Heiko Schlittermann (HS12-RIPE) <hs@schlittermann.de> | 2016-11-03 09:37:02 +0100 |
commit | b369d47038a075706f6dfe57ab2e1ebeea0e5bdf (patch) | |
tree | c2b4912cf1934397b814e4d8fd6ea6f8dd569c10 /test/lib | |
parent | b16852e23e1c477797bd7ce578a0f96bf341341c (diff) |
Testsuite: move dynamic_socket to Exim::Runtest
Diffstat (limited to 'test/lib')
-rw-r--r-- | test/lib/Exim/Runtest.pm | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/test/lib/Exim/Runtest.pm b/test/lib/Exim/Runtest.pm index 2ac9a61ee..1df2ea1a9 100644 --- a/test/lib/Exim/Runtest.pm +++ b/test/lib/Exim/Runtest.pm @@ -1,6 +1,7 @@ package Exim::Runtest; use strict; use warnings; +use IO::Socket::INET; use Carp; use List::Util qw'shuffle'; @@ -22,7 +23,19 @@ sub mailgroup { push @groups, $_ while defined($_ = getgrent); endgrent; return (shuffle @groups)[0]; -}; - +} + +sub dynamic_socket { + my $socket; + for (my $port = 1024; $port < 65000; $port++) { + $socket = IO::Socket::INET->new( + LocalHost => '127.0.0.1', + LocalPort => $port, + Listen => 10, + ReuseAddr => 1, + ) and return $socket; + } + croak 'Can not allocate a free port.'; +} 1; |