Backport robust pytest collection hooks to Humble - #991
Open
Old-Ding wants to merge 1 commit into
Open
Conversation
Backport the final launch_testing hook behavior from ros2#972 and ros2#974 so Humble accepts the pytest 9 module_path hook while preserving pytest 7 and 8 collection. Limit eager imports to Python test modules and keep the legacy path argument in the custom hook specification for older plugins. Co-authored-by: Michael Carroll <mjcarroll.oss@gmail.com> Co-authored-by: Chris Lalancette <clalancette@gmail.com> Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
|
Tick the box to add this pull request to the merge queue (same as
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
launch_testingpytest collection hooks from Fix Pytest 8/9 compatibility in hooks #972 and Robust pytest_ignore_collect for multi-version Pytest compatibility #974 to Humblemodule_pathhook while preserving the legacypathargument for pytest 7 and older pluginslogging.handlerscollision during collectionFixes #979
Testing
PluginValidationErrorbecausepytest_pycollect_makemodule(path, parent)no longer matches the hookspeclaunch_testingtests passed; launch test collection passedlaunch_testingtests passed; launch test collection passedlaunch_testingtests passed; launch test collection passedament_flake8on both changed filesament_copyrightandament_pep257compileall, UTF-8 without BOM, CRLF, added-line 100-column check, andgit diff --checkThe two changed files exactly match the versions already merged and CI-validated on the
lyricalbranch in #973.Did you use Generative AI?
Yes. OpenAI Codex was used to trace the Humble failure, separate the
launch_testingbackport from unrelatedlaunch_pytestprerequisites, apply the already-merged Lyrical implementation, and run the pytest 7/8/9 regression matrix. The contributor reviewed the final two-file diff and test results.