Version stuff: @(#)README	1.3 96/02/22

Intro to Basher
(sbb)

1. What is Basher? 

Basher is an applet that puts HotJava through its paces. It
randomly loads URLs, randomly scrolls, randomly selects menu items, and
randomly presses buttons in the browser, trying to break things.  It has a list
of URLs that it randomly selects from as starting points.  It randomly
delays between it's operations.  In short, it's as random an exerciser as
it can be.

2. How do I build and run Basher?

First be sure that you have the latest hotjava from the tree.  Basher
lives in the tree in src/share/test/basher.  As far as I know (2/25/96)
it is not build as part of the normal top level build.  

To build basher, go to the basher directory, and run javac on
BasherApplet.java.

To run basher, invoke hotjava with the index.html filename from the
basher directory passed on the command line as an URL.  For me (sbb), I invoke
it as (cd'ed to the build/solaris directory):

    ../bin/hotjava file:/sbb/work/src/share/test/basher/index.html

Basher prints out the URLs that it is visiting, and you'll no doubt see
lots of exceptions go flying by.

3. Ok, so how do I reproduce a bug that Basher finds.

Glad you asked :-)
With this release of basher, you can now cause basher to rerun a particular
set of random exercises.  

Each time basher runs, it prints out the random number seed that it 
initialized the random number generator with.  To reproduce a particular
random sequence, make a copy of the index.html, and add:

<param name=seed value={whatever seed value basher printed out}>

For example, to reproduce the null pointer exception bug that's currently
coming from inside AWT, I use an html file containing:

<title>Basher</title>

<applet code=BasherApplet width=10 height=10>
<param name=seed value=825025805631>
</applet>

Be sure to pass the file URL of your copy to hotjava when you invoke it 
instead of default basher index.html URL.
