fixtures
#
Collection of pytest fixtures used in conda tests.
Functions#
Suppress Unclosed Socket Warning |
|
|
|
Fixture that will set "context.number_channel_notices" to 0 and then set |
|
Resets the context object after each test function is run. |
|
|
Used to isolate package or index cache from other tests. |
A parameterized fixture that sets the solver backend to (1) libmamba |
|
|
|
|
|
|
Attributes#
- suppress_resource_warning()#
Suppress Unclosed Socket Warning
It seems urllib3 keeps a socket open to avoid costly recreation costs.
- tmpdir(tmpdir, request)#
- clear_subdir_cache()#
- disable_channel_notices()#
Fixture that will set "context.number_channel_notices" to 0 and then set it back to its original value.
This is also a good example of how to override values in the context object.
- reset_conda_context()#
Resets the context object after each test function is run.
- temp_package_cache(tmp_path_factory)#
Used to isolate package or index cache from other tests.
- parametrized_solver_fixture(request: pytest.FixtureRequest, monkeypatch: pytest.MonkeyPatch) Iterable[Literal[libmamba, classic]] #
A parameterized fixture that sets the solver backend to (1) libmamba and (2) classic for each test. It's using autouse=True, so only import it in modules that actually need it.
Note that skips and xfails need to be done _inside_ the test body. Decorators can't be used because they are evaluated before the fixture has done its work!
So, instead of:
@pytest.mark.skipif(context.solver == "libmamba", reason="...") def test_foo():
...
Do:
- def test_foo():
- if context.solver == "libmamba":
pytest.skip("...")
...
- solver_classic(request: pytest.FixtureRequest, monkeypatch: pytest.MonkeyPatch) Iterable[Literal[classic]] #
- solver_libmamba(request: pytest.FixtureRequest, monkeypatch: pytest.MonkeyPatch) Iterable[Literal[libmamba]] #
- Solver#