openafs/tests/rx/perf-t
Andrew Deason 3f4f862d14 tests: Fix perl string concatenation spacing
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>
2024-09-12 11:36:12 -04:00

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");
}