MCPcopy Create free account
hub / github.com/pytest-dev/pytest / pytest_load_initial_conftests

Function pytest_load_initial_conftests

src/_pytest/legacypath.py:407–435  ·  view source on GitHub ↗

Monkeypatch legacy path attributes in several classes, as early as possible.

(early_config: Config)

Source from the content-addressed store, hash-verified

405
406@hookimpl(tryfirst=True)
407def pytest_load_initial_conftests(early_config: Config) -> None:
408 """Monkeypatch legacy path attributes in several classes, as early as possible."""
409 mp = MonkeyPatch()
410 early_config.add_cleanup(mp.undo)
411
412 # Add Cache.makedir().
413 mp.setattr(Cache, "makedir", Cache_makedir, raising=False)
414
415 # Add FixtureRequest.fspath property.
416 mp.setattr(FixtureRequest, "fspath", property(FixtureRequest_fspath), raising=False)
417
418 # Add TerminalReporter.startdir property.
419 mp.setattr(
420 TerminalReporter, "startdir", property(TerminalReporter_startdir), raising=False
421 )
422
423 # Add Config.{invocation_dir,rootdir,inifile} properties.
424 mp.setattr(Config, "invocation_dir", property(Config_invocation_dir), raising=False)
425 mp.setattr(Config, "rootdir", property(Config_rootdir), raising=False)
426 mp.setattr(Config, "inifile", property(Config_inifile), raising=False)
427
428 # Add Session.startdir property.
429 mp.setattr(Session, "startdir", property(Session_stardir), raising=False)
430
431 # Add pathlist configuration type.
432 mp.setattr(Config, "_getini_unknown_type", Config__getini_unknown_type)
433
434 # Add Node.fspath property.
435 mp.setattr(Node, "fspath", property(Node_fspath, Node_fspath_set), raising=False)
436
437
438@hookimpl

Callers

nothing calls this directly

Calls 3

setattrMethod · 0.95
MonkeyPatchClass · 0.90
add_cleanupMethod · 0.80

Tested by

no test coverage detected