Comments (10)
The plugins need to update, but we didn't issue proper deprecation warnings for it, so we've yanked the 8.1.0 release for now.
from pytest.
I'm sorry, but I believe that plugins (and their update) have nothing to do with this. Or, are you trying to suggest that plugins should no longer use the pytest11
entry point?
I think this might be related: pytest-dev/pluggy#457.
from pytest.
Ah, I thought you were complaining about the failure itself, but you were complaining that disabling the plugin didn't fix the failure.
Yeah, it seems like the pluggy issue.
from pytest.
Failures reported above are something new. I do not see these failures with pytest 8.0.2
, while everything else in the testing environment is same. So this is clear regression caused by some change in pytest
. I know the 8.1.0
is yanked, but there is high possibility that this will appear again in some new future version.
I believe this new issue is not the same as pytest-dev/pluggy#457. Maybe they are related, but definitely not the same (and pluggy claims the bug is in pytest :-)).
from pytest.
There are two issues:
-
pytest 8.1.0 removed some stuff without proper deprecation which caused some plugins to fail. This causes the
pluggy._manager.PluginValidationError: Plugin 'black' for hook 'pytest_collect_file'
error. This version has been yanked and proper deprecation will be introduced. -
Even when a setuptools plugin is disabled with
-p no:foo
the error still happens. This is pytest-dev/pluggy#457.
I know the 8.1.0 is yanked, but there is high possibility that this will appear again in some new future version.
Hopefully after we introduce the deprecations the plugin will be fixed and when we remove the deprecated stuff again it will be OK.
from pytest.
Okay, hopefully you are right.
But still, are you sure that pytest-dev/pluggy#457 is really a bug at the pluggy side? How should pluggy know that it should not load some plugins from the following?
../prototype/i386/usr/lib/python3.9/vendor-packages/_pytest/config/__init__.py:1377: in _preparse
self.pluginmanager.load_setuptools_entrypoints("pytest11")
How pytest
pass the information about disabled plugins to pluggy
?
from pytest.
But still, are you sure that pytest-dev/pluggy#457 is really a bug at the pluggy side?
I am not.
How pytest pass the information about disabled plugins to pluggy?
IIRC it uses https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluginManager.set_blocked
from pytest.
How pytest pass the information about disabled plugins to pluggy?
IIRC it uses https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluginManager.set_blocked
Great info! Thank you for that. Quick search in pytest
sources shows the set_blocked
is never called.
from pytest.
Actually it is called here:
pytest/src/_pytest/config/__init__.py
Lines 785 to 806 in 03e5471
from pytest.
Actually it is called here:
Indeed. I do not know why I failed to find it. I assume the information about disabled plugins is not passed down to the runpytest
call.
from pytest.
Related Issues (20)
- The teardown does not execute properly for session level fixture when we use --reruns HOT 8
- `--doctest-modules` option causes namespace packages' subpackages to be added to `sys.path` HOT 4
- pytest 8.2.0 runs `unittest.case.TestCase.__init__` during collecting phase in the same process HOT 6
- Support Dark Mode for Pytest Docs Website HOT 5
- Incorrect confcutdir inferred when rootdir is under a symlink directory
- Pytest 8.2.0: "AttributeError: 'VendorImporter' object has no attribute 'find_spec'" HOT 1
- Test collection to broad, walking sideways, causes PermissionError for tests in /tmp subdirs HOT 1
- pytest life cycle (fixture scoped session) HOT 1
- Found a possible security concern HOT 1
- Crashing under a squashfuse_ll read-only mount
- c85fce39b broke importing standard library modules that are "masked"
- Reordering tests with `pytest_collection_modifyitems` hook fails HOT 1
- 8.1.1 removed ability to introspect teardown exceptions in `pytest_fixture_post_finalizer` HOT 2
- Extra info in assertion is truncated even with `-vv` HOT 1
- Error: EACCES: permission denied, scandir .pytest_cache with 8.2.0 HOT 6
- Warn if collection spends >5s traversing a directory without collecting any tests HOT 1
- Test failures on Python 3.13.0b1 HOT 1
- Pytest 8 broke sorting for package-scoped fixtures HOT 1
- Trying to use mypy and pytest with a multiprocessing.Value - unable to use Synchronized as a type HOT 3
- Exit code is 1 when whole file fails, but 0 when individual tests fail HOT 2
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.