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

Run some functional tests in separate processes #3943

Merged
merged 23 commits into from
Apr 27, 2023
Merged

Conversation

paul-m
Copy link
Contributor

@paul-m paul-m commented Apr 20, 2023

Fixes flaky test failures in DatasetTest.

It turns out the culprit is the fact that DKAN uses drupal_static() for some state info.

Since all the tests run in the same process, the metastore_resource_mapper_display and metastore_resource_mapper_new_revision drupal_static() variables retain their state across tests.

The solution is to annotate the tests which might use these variables so that they run in separate processes, which keeps the static values isolated.

This PR also adds 5 extra test runs per environment. Initially I set it to 10, but that caused a failure in the environment where we enabled XDebug for code coverage reports. At either 5 or 10, this demonstrates that the tests stops being flaky.

This PR also marks ImportJobTest::testMultiplePasses() as incomplete, since it is also flaky. We'll file a follow-up to fix it.

Before merging, the PR will need to be modified to remove the extra test runs.

@paul-m paul-m marked this pull request as ready for review April 26, 2023 19:22
@paul-m paul-m requested a review from dafeder April 26, 2023 19:24
@dafeder dafeder changed the title 14113 DatasetTest is too flaky DatasetTest is too flaky Apr 27, 2023
@dafeder dafeder changed the title DatasetTest is too flaky Run some functional tests in separate processes Apr 27, 2023
@dafeder dafeder merged commit 08afa40 into 2.x Apr 27, 2023
@janette janette deleted the 14113-datasettest branch May 19, 2023 14:25
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.

None yet

2 participants