Test suite for synchronous and asynchronous functions

UnitTest is an asynchronous distributed-memory-parallel unit test harness, capable of testing serial, synchronous (e.g., MPI) parallel, and asynchronous (e.g., Charm++) parallel functions.

UnitTest uses the Charm++ runtime system to run the tests concurrently, either on a single machine or a networked set of computers. The software design is asynchronous, yielding 100% CPU utilization at all times, independent of the unequal time taken by the individual tests.

Unit tests are written using the C++ Template Unit Test framework. The tests are organized into directories under src/UnitTest/tests mirroring the directories of the tested code.