fix: fix handling of pytest.xfail and skipif mark
#322
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.
Resolved the following issues:
1. Custom statuses did not work when using
pytest.xfailwithin the test body. #3212. The test status was displayed incorrectly when using the
skipifmark. #320This pull request includes several changes to the
qase-pytestplugin, focusing on version updates, bug fixes, and improvements to the handling of test statuses and logging.Version Update:
qase-pytest/pyproject.toml: Updated the version from 6.1.10 to 6.1.11.Bug Fixes:
qase-pytest/changelog.md: Documented fixes for issues withpytest.xfailand theskipifmark, where custom statuses did not work within the test body and the status was incorrect, respectively.Improvements to Test Status Handling:
qase-pytest/src/qase/pytest/plugin.py: Refactored thepytest_runtest_makereportmethod to improve the handling ofxfailstatuses and ensure correct status assignment for skipped and failed tests. This includes the addition of a helper methodhandle_xfail_statusto determine the correct status based on thexfailmark.qase-pytest/src/qase/pytest/plugin.py: Modified the__is_use_xfail_markmethod to check for thewasxfailattribute instead of thexfailkeyword in the report.Logging Enhancements:
qase-pytest/src/qase/pytest/plugin.py: Improved log attachment handling by consolidating the logic into a newattach_logsmethod and ensuring logs are attached only when the test call phase is complete.