add option for redis testing

git.mgm/mediaproxy-ng/2.1
Richard Fuchs 14 years ago
parent d8ef1885cc
commit 8675421c0b

@ -9,13 +9,14 @@ use Getopt::Long;
use Socket6; use Socket6;
my ($NUM, $RUNTIME) = (1000, 30); my ($NUM, $RUNTIME) = (1000, 30);
my ($NODEL, $IP, $IPV6); my ($NODEL, $IP, $IPV6, $KEEPGOING);
GetOptions( GetOptions(
'no-delete' => \$NODEL, 'no-delete' => \$NODEL,
'num-calls=i' => \$NUM, 'num-calls=i' => \$NUM,
'local-ip=s' => \$IP, 'local-ip=s' => \$IP,
'local-ipv6=s' => \$IPV6, 'local-ipv6=s' => \$IPV6,
'runtime=i' => \$RUNTIME, 'runtime=i' => \$RUNTIME,
'keep-going' => \$KEEPGOING, # don't stop sending rtp if a packet doesn't go through
) or die; ) or die;
($IP || $IPV6) or die("at least one of --local-ip or --local-ipv6 must be given"); ($IP || $IPV6) or die("at least one of --local-ip or --local-ipv6 must be given");
@ -64,7 +65,8 @@ sub do_rtp {
for my $i ([0,1],[1,0]) { for my $i ([0,1],[1,0]) {
my ($a, $b) = @$i; my ($a, $b) = @$i;
my $pr = $$protos[$a]; my $pr = $$protos[$a];
send($$fds[$a], 'rtp', 0, $$pr{sockaddr}($$outputs[$b][0], my $payload = rand_str(100);
send($$fds[$a], $payload, 0, $$pr{sockaddr}($$outputs[$b][0],
inet_pton($$pr{family}, $$outputs[$b][1]))) or die $!; inet_pton($$pr{family}, $$outputs[$b][1]))) or die $!;
my $x; my $x;
my $err = ''; my $err = '';
@ -72,7 +74,10 @@ sub do_rtp {
recv($$fds[$b], $x, 0xffff, 0) or $err = "$!"; recv($$fds[$b], $x, 0xffff, 0) or $err = "$!";
alarm(0); alarm(0);
$err && $err !~ /interrupt/i and die $err; $err && $err !~ /interrupt/i and die $err;
$x eq 'rtp' or warn("no rtp reply received, ports $$outputs[$b][0] and $$outputs[$a][0]"), undef($c); if (($x || '') ne $payload) {
warn("no rtp reply received, ports $$outputs[$b][0] and $$outputs[$a][0]");
$KEEPGOING or undef($c);
}
} }
} }
} }

Loading…
Cancel
Save