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

Minimal tests for test level 2 #1418

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

lenaploetzke
Copy link
Collaborator

@lenaploetzke lenaploetzke commented Feb 20, 2025

Describe your changes here:

  • Restricted some maximum levels for test level 2.

  • Deleted some duplicate tests.

  • Cleanup

  • Most important change is #define T8_CMESH_MAX_NUM_XYZ_TREES 1 instead of using 2 as in test level 1. I think this is ok for a minimal test, especially since this variable alone saves around 40 seconds. Of course, this significantly limits the test quality.

  • Side note:
    Currently, for serial tests using AllCmeshsParam, we have unnecessary cases with do_partition and do_bcast (as we only use one processor). Doing a case distinction between parallel and serial is somehow complicated and produces more code, and the time gain is insignificant. If someone has a simple solution to this, it would be nice to include it.

Closes #1371.

All these boxes must be checked by the reviewers before merging the pull request:

As a reviewer please read through all the code lines and make sure that the code is fully understood, bug free, well-documented and well-structured.

General

  • The reviewer executed the new code features at least once and checked the results manually

  • The code follows the t8code coding guidelines

  • New source/header files are properly added to the Makefiles

  • The code is well documented

  • All function declarations, structs/classes and their members have a proper doxygen documentation

  • All new algorithms and data structures are sufficiently optimal in terms of memory and runtime (If this should be merged, but there is still potential for optimization, create a new issue)

Tests

  • The code is covered in an existing or new test case using Google Test

Github action

  • The code compiles without warning in debugging and release mode, with and without MPI (this should be executed automatically in a github action)

  • All tests pass (in various configurations, this should be executed automatically in a github action)

    If the Pull request introduces code that is not covered by the github action (for example coupling with a new library):

    • Should this use case be added to the github action?
    • If not, does the specific use case compile and all tests pass (check manually)

Scripts and Wiki

  • If a new directory with source-files is added, it must be covered by the script/find_all_source_files.scp to check the indentation of these files.
  • If this PR introduces a new feature, it must be covered in an example/tutorial and a Wiki article.

License

  • The author added a BSD statement to doc/ (or already has one)

Tag Label

  • The author added the patch/minor/major label in accordance to semantic versioning.

@lenaploetzke lenaploetzke added the draft Enhance the visibility that this is a draft. label Feb 20, 2025
@lenaploetzke
Copy link
Collaborator Author

With the proposed changes I now have a test suite runtime of around 53 seconds at test level 2 (with CMAKE_CUSTOM_PARALLEL_TEST_COMMAND=mpirun -n 4 and make test -j 32).

By far the longest test is
40/71 Test #40: t8_gtest_iterate_replace_serial ....................... Passed 17.58 sec.

@lenaploetzke
Copy link
Collaborator Author

At the moment, in the CI, we use TEST_LEVEL 1 if the event is a PR, otherwise we use 0 (and never 2). I think this is fine for now. We should keep in mind that we could speed up the CI if necessary.

@lenaploetzke lenaploetzke marked this pull request as ready for review February 21, 2025 10:06
@ole-alb ole-alb self-assigned this Feb 21, 2025
@lenaploetzke lenaploetzke requested a review from ole-alb February 21, 2025 10:47
Copy link
Contributor

@ole-alb ole-alb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please split the PR to create cleaner PRs

@ole-alb ole-alb assigned Davknapp and lenaploetzke and unassigned ole-alb and Davknapp Feb 21, 2025
@lenaploetzke lenaploetzke removed the draft Enhance the visibility that this is a draft. label Feb 21, 2025
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

Successfully merging this pull request may close these issues.

Add T8_ENABLE_MINIMAL_TESTS
3 participants