

This directory contains a battery of "one-button" regression tests
that exercise many capabilities of ACE on the numerous platforms upon
which it runs.  In addition to providing an automated regression
testing facility, these tests also show how to program many of the ACE
features.  Building and running the tests is straightforward:

1. Build all the tests in ACE_ROOT/tests, e.g., by running mwc.pl on
   the tests.mwc file and then using whatever build process you've
   selected to compile all the tests.

2. You then need to run all the tests, e.g., by running the perl script

   $ACE_ROOT/tests/run_test.pl

   Naturally, make sure that you've installed perl first!

3. If everything works then you should see something like this:

./run_test.pl
auto_run_tests: tests/ACE_Test

auto_run_tests_finished: tests/ACE_Test  Time:1s Result:0
auto_run_tests: tests/Aio_Platform_Test

auto_run_tests_finished: tests/Aio_Platform_Test  Time:1s Result:0
auto_run_tests: tests/Arg_Shifter_Test

auto_run_tests_finished: tests/Arg_Shifter_Test  Time:1s Result:0
auto_run_tests: tests/ARGV_Test

auto_run_tests_finished: tests/ARGV_Test  Time:2s Result:0
auto_run_tests: tests/Array_Map_Test

auto_run_tests_finished: tests/Array_Map_Test  Time:1s Result:0
auto_run_tests: tests/Atomic_Op_Test

auto_run_tests_finished: tests/Atomic_Op_Test  Time:9s Result:0
auto_run_tests: tests/Auto_Event_Test

....

4. By default, all the output from the tests will be stored in separate
   files in the ./log/ (or .\log\) directory.  You can override
   this, however, by setting the ACE_TEST_DIR environment variable to
   another prefix.
________________________________________

Please follow these directions when adding a new test to
$ACE_ROOT/tests:

1.  Use appropriate ACE_START_TEST and ACE_END_TEST macros in main ()

2.  Add new project entry to the tests.mpc file.

3.  Add test to run_test.lst.
________________________________________

The tests have been run on a wide range of platforms (e.g., UNIX,
VxWorks, LynxOS, Windows NT/2000/95/98/etc.) and they all work
with the following exceptions:

1. UPIPE_Test and SPIPE_Test on Windows 95: these tests don't run on
   Windows 95 since Windows 95 does not support the server side
   functionality of accepting connections from clients using named pipes.

2. Proactor_Test (to be added) on Windows 95: this test does not run on
   Windows 95 since Windows 95 does not support I/O completion ports.

3. Of the tests (believed) relevant to the single threaded port to pSOSim,
   Sigset_Ops_Test, Sock_Connector_Test, Priority_Reactor_Test,
   Process_Strategy_Test, and Service_Config_Test are still failing.
   These are being debugged and will either be corrected or, if there
   are unsupported features in these tests, removed from the test suite for
   pSOSim.

Notes:

1. Each test creates a log file and writes it to the ./log/
   directory. The default log directory can be changed in the test_config.h
   file.

2. Each log file contains a time stamp of when the test began and also
   a time stamp indicating when the test ended. If the ending time stamp
   is missing, you can assume that the test did not succeed.

3. None of the tests require any command line parameters. This is in
   accordance with the keeping the test-suite a "one-button" test. If
   any of the tests require any variable parameters these are
   specified in test_config.h.

4. Time_Service_Test executes the Time Server and Clerk components as
   two processes and so the executable "main" need to be present in
   the netsvcs/servers directory.  Be sure you build
   $ACE_ROOT/netsvcs/lib/ and $ACE_ROOT/netsvcs/servers before running
   this test.  These components rely on config files. Two sample
   config files are also present in the test-suite, namely
   UNIXserver.conf and UNIXclerk.conf (and for Win32, Win32server.conf
   and Win32clerk.conf).

If you have any questions/suggestions, please open an issue or discussion
at https://github.com/DOCGroup/ACE_TAO.
