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

Reformat test dependencies #2664

Merged
merged 29 commits into from
Jan 16, 2025

Conversation

williamjallen
Copy link
Collaborator

One of the oldest issues relates to the poor design of the CDash test suite. Many tests have implicit dependencies upon one another. Out of an abundance of caution, dependencies were added between all of the legacy tests to ensure that they continue to run in the expected order, while allowing new tests to run in parallel. As the number of new parallelizable tests has grown, the dependency structure has become unmanageable. The eventual solution is to write independent tests whenever possible, using FIXTURES_REQUIRED in combination with RESOURCE_LOCK for cases where tests need to have exclusive access to the .env or database. This PR is a stepping stone towards that goal by removing unnecessary test dependencies and creating dedicated places to put new independent tests.

This migration is well-tested at this point, and should never need to change.
Some of these tests require the database to be set up.
@williamjallen williamjallen added this to the v3.8 milestone Jan 15, 2025
Copy link
Contributor

@zackgalbreath zackgalbreath left a comment

Choose a reason for hiding this comment

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

Thanks for slogging through this!

Changes LGTM, CI passes, and no regressions on my local (bare metal) CDash testing instance.

@williamjallen williamjallen added this pull request to the merge queue Jan 16, 2025
Merged via the queue into Kitware:master with commit 3fa5cc4 Jan 16, 2025
6 checks passed
@williamjallen williamjallen deleted the reformat-test-dependencies branch January 16, 2025 14:50
github-merge-queue bot pushed a commit that referenced this pull request Jan 17, 2025
#2664 allowed CTest to have more flexibility regarding the ordering of
tests. That exposed an issue with the `BuildTypeTest` which relied upon
more than just data it created. This PR resolves the issue by
restricting the test to use only the data it creates.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants