| 420 | |
| 421 | |
| 422 | class FSHookProxy: |
| 423 | def __init__(self, pm: PytestPluginManager, remove_mods) -> None: |
| 424 | self.pm = pm |
| 425 | self.remove_mods = remove_mods |
| 426 | |
| 427 | def __getattr__(self, name: str): |
| 428 | x = self.pm.subset_hook_caller(name, remove_plugins=self.remove_mods) |
| 429 | self.__dict__[name] = x |
| 430 | return x |
| 431 | |
| 432 | |
| 433 | class Interrupted(KeyboardInterrupt): |