mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 15:00:12 +00:00
3f4f862d14
tests/rx/perf-t and tests/rx/simple-t contain an identical section of perl code for checking the exit status of the relevant server process. The spacing around some string concatenations are missing some spaces. Add the missing spaces. Thanks to sahilcdq@proton.me and cwills@sinenomine.net for pointing these out. Change-Id: Ieca3e6e5eabbd1c65c07edc33f1a884fc0fac248 Reviewed-on: https://gerrit.openafs.org/15848 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Sahil Siddiq <sahilcdq@proton.me> Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
72 lines
1.8 KiB
Perl
Executable File
72 lines
1.8 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use lib $ENV{C_TAP_SOURCE} . "/tests-lib/perl5";
|
|
|
|
use afstest qw(obj_path);
|
|
use Test::More tests=>4;
|
|
use POSIX qw(:sys_wait_h :signal_h);
|
|
|
|
my $port = 4000;
|
|
my $rxperf = obj_path("src/tools/rxperf/rxperf");
|
|
|
|
|
|
# Wait for the server to finish initializing.
|
|
sub
|
|
wait_for_server {
|
|
my $pid = shift;
|
|
for (my $i = 0; $i < 10; $i++) {
|
|
if ($i > 0) {
|
|
sleep(1);
|
|
}
|
|
my $rc = system($rxperf, "client", "-c", "rpc", "-p", $port, "-S",
|
|
"128", "-R", "128", "-T", "1", "-H", "-N",
|
|
"-o", "/dev/null");
|
|
if ($rc == 0) {
|
|
return;
|
|
}
|
|
}
|
|
kill("TERM", $pid);
|
|
waitpid($pid, 0);
|
|
die("Unable to contact rxperf server.");
|
|
}
|
|
|
|
# Start up an rxperf server
|
|
|
|
my $pid = fork();
|
|
if ($pid == -1) {
|
|
fail("Failed to fork rxperf server");
|
|
exit(1);
|
|
} elsif ($pid == 0) {
|
|
exec({$rxperf}
|
|
"rxperf", "server", "-p", $port, "-u", "1024", "-H", "-N");
|
|
die("Kabooom ?");
|
|
}
|
|
# Give the server some time to initialize
|
|
wait_for_server($pid);
|
|
|
|
pass("Started rxperf server");
|
|
|
|
# Start up an rxperf client, and run a test
|
|
is(0,
|
|
system("$rxperf client -c rpc -p $port -S 1048576 -R 1048576 -T 30 -u 1024 -H -N"),
|
|
"single threaded client ran successfully");
|
|
|
|
is (0,
|
|
system("$rxperf client -c rpc -p $port -S 1048576 -R 1048576 -T 1 -t 30 -u 1024 -H -N"),
|
|
"multi threaded client ran succesfully");
|
|
|
|
# Kill the server, and check its exit code
|
|
|
|
kill("TERM", $pid);
|
|
waitpid($pid, 0);
|
|
my $ecode = ${^CHILD_ERROR_NATIVE};
|
|
if (WIFSIGNALED($ecode) && WTERMSIG($ecode) != SIGTERM) {
|
|
fail("Server died with signal " . WTERMSIG($ecode));
|
|
} elsif (WIFEXITED($ecode) && WEXITSTATUS($ecode) != 0) {
|
|
fail("Server exited with code " . WEXITSTATUS($ecode));
|
|
} else {
|
|
pass("Server exited succesfully");
|
|
}
|