Documentation of request client testing program rtest Randal E. Bryant Sept. 30, 2011 The rtest program is designed to automatically test the LSP-based password cracking request client. For each of a series of tests, it executes the client program using an LSP-based server that simulates the program's interface to the regular server, and checks that the client generates the correct output. INVOKING The program is typically located in the "official" subdirectory and is designed to be executed from the same directory as the request code. It is therefore invoked as follows: ../official/rtest OPERATION The tests performed by the program are controlled by a script, consisting of a sequence of letters and digits. Each letter designates an operation, and the following digits, when present, control that operation. Here are the allowed operations. In the following, is a number: f Request cracking of valid password of length x Request cracking of invalid password of length s Stop the server and see that the client detects the disconnection. This test can only be at the end of a test squence When the test sequence is not specified on the command line, rtest uses the sequence f3x3f4x4f5x5s. When all tests have been completed, rtest prints "PASS" if all runs were successful, and "FAIL" otherwise COMMAND LINE OPTIONS -h Print help message -v N Set verbosity level (0-2). The default is 1 -V N Set verbosity level (0-6) of the LSP clients -l logfile Redirect stderr for the client to the designated file. This will capture all output generated by a logger, including the provided lsp.Vlogf function. -s SEQ Use test sequence SEQ, rather than the predefined one