Skip to content

Unit Testing

Louis Viot edited this page Dec 13, 2023 · 10 revisions

Guidelines and Conventions

Tests should look like the MultiMDServiceTest test. The file should end with the suffix Test.

The total test time of all tests together must be less than 60 seconds.

Compiling and Executing Tests

Tests are compiled with the command make testmamico in your build directory which, upon success, creates a testmamico executable. Tests can be executed in two ways:

  • Via ./testmamico nameofthetest or mpirun -np 4 ./testmamico nameofthetest
  • Via ctest -R nameofthetest which will use mpirun with 4 ranks if MaMiCo was compiled in parallel mode

Running the same commands without specifying a test will run all MaMiCo's tests

Code Coverage

Coverage of the code can be seen via the coverage/index.html in the build directory. In order to generate this page, one has to:

  • Run cmake with BUILD_TESTING=ON, ENABLE_COVERAGE=ON, DEBUG mode and gcc compiler
  • Build the mamico tests via make testmamico
  • Run the mamico tests (see above)
  • make coverage

Contributions to Testing

  • Vahid: ErrorEstimation, InstanceHandling, MultiMDMediator, services, interfaces
  • Amartya:
  • Piet: filtering, indexing, ParallelTimeIntegrationService, LBCouetteSolver
  • Louis: