You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The unit test build and run can take longer than I'd like. This is particularly true for CLM, which now has 20 unit test executables; each of these is linked against the CLM library, so whenever you change any CLM code, all 20 need to relink. So the build takes some time due to that. In addition, particularly on yellowstone, the use of mpi-based tests means that each test executable takes more than 1 sec to run, leading to a total test time of about 30 sec (these tests should run in milliseconds).
A few ideas about how to speed things up:
(1) Create a single test executable for all of CLM (or perhaps one executable for each CLM subdirectory - e.g., a biogeophys test executable, etc.). However, by itself, this is considered unacceptable, because CTest doesn't give granular enough reporting. So, would it be possible to have a single executable, with CTest calling it multiple times in different ways (as in http://baoilleach.blogspot.com/2013/06/using-ctest-with-multiple-tests-in.html)? Having a single executable would (a) speed up the build, (b) speed up the run, (c) make it easier to move around code and its associated tests.
(2) Revisit issue #26 : allow tests to use a serial build of pFUnit when possible. This would allow you to run CLM unit tests from yellowstone (rather than needing to do so on caldera), and would speed up the run time if (1) isn't feasible.
The text was updated successfully, but these errors were encountered:
The unit test build and run can take longer than I'd like. This is particularly true for CLM, which now has 20 unit test executables; each of these is linked against the CLM library, so whenever you change any CLM code, all 20 need to relink. So the build takes some time due to that. In addition, particularly on yellowstone, the use of mpi-based tests means that each test executable takes more than 1 sec to run, leading to a total test time of about 30 sec (these tests should run in milliseconds).
A few ideas about how to speed things up:
(1) Create a single test executable for all of CLM (or perhaps one executable for each CLM subdirectory - e.g., a biogeophys test executable, etc.). However, by itself, this is considered unacceptable, because CTest doesn't give granular enough reporting. So, would it be possible to have a single executable, with CTest calling it multiple times in different ways (as in http://baoilleach.blogspot.com/2013/06/using-ctest-with-multiple-tests-in.html)? Having a single executable would (a) speed up the build, (b) speed up the run, (c) make it easier to move around code and its associated tests.
(2) Revisit issue #26 : allow tests to use a serial build of pFUnit when possible. This would allow you to run CLM unit tests from yellowstone (rather than needing to do so on caldera), and would speed up the run time if (1) isn't feasible.
The text was updated successfully, but these errors were encountered: