Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speed up unit test build & run #341

Closed
billsacks opened this issue Dec 21, 2015 · 2 comments
Closed

Speed up unit test build & run #341

billsacks opened this issue Dec 21, 2015 · 2 comments
Assignees

Comments

@billsacks
Copy link
Member

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.

@billsacks
Copy link
Member Author

cc @quantheory @bandre-ucar

@billsacks billsacks self-assigned this May 18, 2016
@billsacks billsacks added this to the post cesm2 milestone May 18, 2016
jedwards4b added a commit to jedwards4b/cime that referenced this issue Aug 8, 2016
…kage

Remove `GenericXML` check for env variables.
@billsacks billsacks removed this from the post cesm2 milestone Nov 30, 2016
@billsacks
Copy link
Member Author

This issue was moved to ESMCI#869

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant