| 266 | |
| 267 | |
| 268 | def get_config( |
| 269 | args: Optional[List[str]] = None, |
| 270 | plugins: Optional[Sequence[Union[str, _PluggyPlugin]]] = None, |
| 271 | ) -> "Config": |
| 272 | # subsequent calls to main will create a fresh instance |
| 273 | pluginmanager = PytestPluginManager() |
| 274 | config = Config( |
| 275 | pluginmanager, |
| 276 | invocation_params=Config.InvocationParams( |
| 277 | args=args or (), |
| 278 | plugins=plugins, |
| 279 | dir=Path.cwd(), |
| 280 | ), |
| 281 | ) |
| 282 | |
| 283 | if args is not None: |
| 284 | # Handle any "-p no:plugin" args. |
| 285 | pluginmanager.consider_preparse(args, exclude_only=True) |
| 286 | |
| 287 | for spec in default_plugins: |
| 288 | pluginmanager.import_plugin(spec) |
| 289 | |
| 290 | return config |
| 291 | |
| 292 | |
| 293 | def get_plugin_manager() -> "PytestPluginManager": |