.H 2 "spray Test Plan"

This chapter covers the
.B spray
command.  The main use of this command is to send a bunch of packets at
a remote host, and measure how many of them were lost, and how long it
took for them all to be transmitted.  This is to allow rudimentary
network performance measurements to be performed.

.H 3  "spray options"
.nf
RESPONSIBLE ENGINEER:    John A Dilley
ASSUMPTIONS:              module to be tested is functional
.fi

.sp 2
.H 4 "no options"
.sp 2
.nf
IMPLEMENT TIME:  0.25 md
PERFORM TIME:    1.0 md
TYPE OF TEST:    functional
EXPECTED OUTPUT: no output if the test passes
.fi
.sp 1
Test
.B spray
with no options.
It should print the usage error message on stderr
and exit with a non-zero status.

.sp 2
.H 4 "bad option"
.sp 1
.nf
IMPLEMENT TIME:  0.25 md
PERFORM TIME:    1.0 md
TYPE OF TEST:    functional
EXPECTED OUTPUT: no output if the test passes
.fi
.sp 1
Test
.B spray
with any option besides "-c" or "-l".
It should print the usage error message on stderr
and exit with a non-zero status.
Test with more than one host name.
It should print the usage error message on stderr
and exit with a non-zero status.
Note: this test should not attempt to use the "-d" option, since this is
often used as an undocumented "debug" option.
This test should try to do:
.sp
.nf
spray -l <number>, no hostname
spray bogusname
spray <bogus IP>
.fi
.sp 1

.sp 2
.H 4 "good options"
.sp 1
.nf
IMPLEMENT TIME:  0.5 md
PERFORM TIME:    2.5 md
TYPE OF TEST:    functional
EXPECTED OUTPUT: no output if the test passes
.fi
.sp 1
Test
.B spray
with all combinations of the valid options listed above.
Test with the local host, and then a remote host.
Test with an Internet address.
In all cases it should show information about the number of packets
dropped, and the throughput of the underlying subsystem.
It will probably be sufficient to check to see that the output is
present.  There is no good reason to parse through it and check the
values, since they will be different with each invocation.  It might be
interesting to manually run 
.B spray
a few times to see if HP-UX spray performance is up to the level of the
Suns.  We would hope it would be.
.sp 2
.H 4 "With incorrect sizes"
.sp 1
.nf
IMPLEMENT TIME:  0.5 md
PERFORM TIME:    2.5 md
TYPE OF TEST:    functional
.fi
.sp 1
Test 
.B spray 
as follows:
.sp
.nf
spray -l 8846 host
spray -l 1513 host
.fi
.sp 1
This will work but the lengths used will be rounded to their closest
allowed length (8845 and 1514).
.sp 2
.H 2 "Sprayd test plan"
.sp
The functionality of the spray daemon is covered by the spray tests.
The following tests were added to increase the BFA coverage for the
spray daemon:
.sp
.AL
.LI
Use pmap_conf with the "-p" option to call rpc.sprayd, program 100012,
version 1 procedure 0 (NULL_PROC) and procedure 4 (not defined, it will 
execute the default case on the case statement).
.LE

