This subdirectory contains tests for some config areas of the AMX API.
Please make sure that "ant" is in your path environment. 

To Build this submodule run the following command in this sub
directory:
ant build

To view all the tests see the run targets by doing :
ant -projecthelp | grep run

BEFORE RUNNING TESTS, Open the build.xml and build.properties (in
needed) to change the values of admin user, password, port, host and
other sysproperties as required for your environment. 

Many of these tests use asadmin (unix/linux version) client to verify the
steps performed within the tests. So please make sure that asadmin is
in your path environment. Such tests will not run on windows unless
the devtest itself is modified to point to asadmin.bat

IF A TEST FAILS, REMEMBER TO MANUALLY CLEAN UP (delete) whatever the
test had already created. 

//Shreedhar 
