Comments (4)
Thank you for filing this with succinct replication steps. I spent hours yesterday trying to figure out why our CI/CD was failing
from pytest.
We can probably accommodate rerunfailures here. I will take a look.
from pytest.
I think switching pytest_runtest_makereport to the "new style" hook will make the issue go away
BEFORE
@pytest.hookimpl(hookwrapper=True)
def pytest_runtest_makereport(item, call):
outcome = yield
result = outcome.get_result()
if result.when == "setup":
# clean failed statuses at the beginning of each test/rerun
setattr(item, "_test_failed_statuses", {})
# create a dict to store error-check results for each stage
setattr(item, "_terminal_errors", {})
_test_failed_statuses = getattr(item, "_test_failed_statuses", {})
_test_failed_statuses[result.when] = result.failed
item._test_failed_statuses = _test_failed_statuses
item._terminal_errors[result.when] = _should_hard_fail_on_error(item, result)
AFTER
@pytest.hookimpl(wrapper=True)
def pytest_runtest_makereport(item, call):
result = yield
if result.when == "setup":
# clean failed statuses at the beginning of each test/rerun
setattr(item, "_test_failed_statuses", {})
# create a dict to store error-check results for each stage
setattr(item, "_terminal_errors", {})
_test_failed_statuses = getattr(item, "_test_failed_statuses", {})
_test_failed_statuses[result.when] = result.failed
item._test_failed_statuses = _test_failed_statuses
item._terminal_errors[result.when] = _should_hard_fail_on_error(item, result)
return result
from pytest.
I think switching pytest_runtest_makereport to the "new style" hook will make the issue go away
BEFORE
@pytest.hookimpl(hookwrapper=True) def pytest_runtest_makereport(item, call): outcome = yield result = outcome.get_result() if result.when == "setup": # clean failed statuses at the beginning of each test/rerun setattr(item, "_test_failed_statuses", {}) # create a dict to store error-check results for each stage setattr(item, "_terminal_errors", {}) _test_failed_statuses = getattr(item, "_test_failed_statuses", {}) _test_failed_statuses[result.when] = result.failed item._test_failed_statuses = _test_failed_statuses item._terminal_errors[result.when] = _should_hard_fail_on_error(item, result)AFTER
@pytest.hookimpl(wrapper=True) def pytest_runtest_makereport(item, call): result = yield if result.when == "setup": # clean failed statuses at the beginning of each test/rerun setattr(item, "_test_failed_statuses", {}) # create a dict to store error-check results for each stage setattr(item, "_terminal_errors", {}) _test_failed_statuses = getattr(item, "_test_failed_statuses", {}) _test_failed_statuses[result.when] = result.failed item._test_failed_statuses = _test_failed_statuses item._terminal_errors[result.when] = _should_hard_fail_on_error(item, result) return result
disregard, the issue is still there :^(
from pytest.
Related Issues (20)
- Add hooks to allow further AST customization and control pyc caching while assertion rewriting. HOT 1
- pytest_terminal_summary question 关于运行同一个例子但是结果样式不同问题 HOT 8
- log_file Does not support formatting?For example, generate the date of the day HOT 3
- Allow the user to provide the submission command that will be prepended to the PyTest command that runs individual tests HOT 5
- autouse fixtures named with a leading underscore do not run HOT 2
- text diffs on huge files are slow HOT 2
- Add a new hook to inform user of current state on signal HOT 4
- Parametrize: Substitute argvalues in ids HOT 1
- doctest expecting asserts behaves differently than stdlib
- Question about teardowns when setup fixture fails. HOT 2
- pytest 8.2.0 regresses collection and now collects non-Test* classes HOT 4
- `pytest.mark.usefixtures()` without argument gets silently ignored HOT 4
- MockAwareDocTestFinder has stale docstring HOT 1
- MockAwareDocTestFinder._find_lineno is stale HOT 4
- MockAwareDocTestFinder._find is stale
- Pytest documentation website issue: Python code example blocks not rendering properly in pytest documentation HOT 3
- pytest 8.2.2 fails assertion HOT 2
- pytest approx wrong formatting return - printing all values as wrong.
- pytest 8.2.0 calls `@property`s during unittest collection HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pytest.