Tester class and sample output from it

Class Tester runs several examples that test or exhibit OSL Actor Foundry functions.

This webpage tells how to run a set of tests with Tester. It has links to a set of output files from a Tester test run. It briefly describes how Tester works and has links to javadoc pages for Tester and Ticker. It concludes with links to yume-1.4 and jale scripts, which can produce menus like that shown at right.



How to run OSL Actor Foundry tests with Tester

To run single-node tests ... To run two-node tests ... To run both testsets (one-node and two-node)



Sample AF (Actor Foundry) output from Tester

Tester outputs in triplicate, to AF logfiles, shell output stream, and AF output streams. That is, Tester writes its time-marks and result guideposts into the same streams the examples are writing into.

Tester runs examples from osl.examples packages such as helloworld, exceptions, and various fibonaccis and pings. For some examples, Tester indicates what the output should be. Tester starts its tests at regular intervals (e.g. 2 seconds). In the sequence

      T @007.892s Testing FibActor 9 with local report
      T @008.463s fib test result is 34
      T @009.892s End test of FibActor 9: s.b. "fib test result is 34"
the first line appeared in ashell output at the start of a fibonacci test; the second line appeared when fibonacci finished; the third line appeared at the end of a two-second test interval. Lines beginning with T@times are printed by the Tester actor at time time seconds relative to test beginning.

Detailed Tester results [from AF 0.1.2 pre-release] appear in the following files. The first file contains most of the results of any interest. The next two files (startfoundry output) contain a few items of test output that don't appear in the first file. The log files hold little of interest if your AF installation works ok. xstartshell, xstartfoundry, and foundry.conf are shown for reference.



How Tester works

Tester has an inner class TestStep that it uses for test definition. A TestStep object plus a referred-to method define individual tests. A test sequence, or series of tests, is defined by an array of TestSteps.

Each TestStep contains a start message, an end message, and a method reference. This indirection allows Tester to start specific tests without using a switch statement.

Tests are run at intervals (vs. immediately after each other) because Tester cannot easily tell when tests complete. That is, the example programs don't cooperate with Tester or tell it when they are done. But most tests take less than a second, and it works ok to run tests at two-second intervals, via Ticker class.



James Waldby -- 9 July 1999 -- http://osl.uiuc.edu/~j-waldby/foundry/tester