mirror of
https://git.openafs.org/openafs.git
synced 2025-01-20 16:00:12 +00:00
3a1e129b76
Use the rxperf performance testing tools to add a couple of simple RX tests. The first moves 1Mbyte of data backwards and forwards 30 times. The second starts 30 threads, which each move 1MByte of data once. This is by no means an exhaustive test of RX, but the single and multi-threaded invocations should provide a useful smoke test if things get very broken. Change-Id: I11267be067cf6c05a20aeb90a18ed4031502a1b1 Reviewed-on: http://gerrit.openafs.org/7244 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementix.org>
49 lines
1.2 KiB
Perl
Executable File
49 lines
1.2 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Test::More tests=>4;
|
|
use POSIX "sys_wait_h";
|
|
|
|
my $port = 4000;
|
|
my $build = $ENV{BUILD};
|
|
$build = ".." if (!defined($build));
|
|
my $rxperf = $build."/../src/tools/rxperf/rxperf";
|
|
|
|
# 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 ?");
|
|
}
|
|
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);
|
|
if (WIFSIGNALED($?) && WTERMSIG($?) != POSIX::SIGTERM) {
|
|
fail("Server died with signal ".WTERMSIG($?));
|
|
} elsif (WIFEXITED($?) && WEXITSTATUS($?) != 0) {
|
|
fail("Server exited with code". WEXITSTATUS($?));
|
|
} else {
|
|
pass("Server exited succesfully");
|
|
}
|
|
|
|
|