Devtests for the remote-testing of admin.

These must be run by admin developers.

- Don't forget that you must have APS_HOME set correctly in your environment.  You will definitely get build errors if it isn't set.  E.g.: 
                 APS_HOME=c:/jws/glassfish/appserv-tests
- All the tests are kept in src directory in the "test" package.
- All config info is in LocalStrings.properties
- A NetBeans project is created for convenience. Start NB -> Open Project -> Browse to this folder (pe) and double click on it, the project will be automatically opened.
- tests.list contains the tests to be run. For quick-running of a test, comment out all the tests and uncomment the ones that you want to run.
- A test is an interface RemoteAdminQuicklookTest in the src directory. It is a misnomer that it is a Quicklook test, but so be it.
- TestDriver.java is the driver of the tests and generally does not need to be modified.
- The tests are geared towards testing the MBeans remotely. AMX can definitely be used, but there is a separate AMX test suite. The tests are to be run after starting the domain.
- The setup related tasks are supposed to be done in the "setup" target in build.xml.
- The environment is available due to inclusion of some common properties files and xml's in ../../../config directory.
- To run the code in a debugger use the "debug" ant target.  The program will startup in a suspended state, listening on port 3333. I.e. do this:
---- set breakpoint(s) in the code in NetBeans
---- run "ant debug"
---- attach to port 3333
---- hit continue or single-step
- To set the number of MBeans for DeployManyMBeans -- set this property in src/test/LocalStrings.properties (this example == 100 MBeans)
DeployManyMBeans.NUM_BEANS=100
$Id: readme,v 1.2 2005/08/24 22:45:20 bnevins Exp $
$Author: bnevins $
