|
12 | 12 | from typing import List |
13 | 13 | from typing import Optional |
14 | 14 | from typing import Set |
| 15 | +from typing import Union |
15 | 16 |
|
16 | 17 | import attr |
17 | 18 | import py |
|
24 | 25 | from _pytest import nodes |
25 | 26 | from _pytest._io import TerminalWriter |
26 | 27 | from _pytest.config import Config |
| 28 | +from _pytest.config import ExitCode |
| 29 | +from _pytest.config.argparsing import Parser |
27 | 30 | from _pytest.main import Session |
28 | 31 | from _pytest.python import Module |
29 | 32 |
|
@@ -316,7 +319,7 @@ def pytest_collection_modifyitems(self, session, config, items): |
316 | 319 | else: |
317 | 320 | self._report_status += "not deselecting items." |
318 | 321 |
|
319 | | - def pytest_sessionfinish(self, session): |
| 322 | + def pytest_sessionfinish(self, session: Session) -> None: |
320 | 323 | config = self.config |
321 | 324 | if config.getoption("cacheshow") or hasattr(config, "slaveinput"): |
322 | 325 | return |
@@ -358,15 +361,15 @@ def pytest_collection_modifyitems( |
358 | 361 | def _get_increasing_order(self, items): |
359 | 362 | return sorted(items, key=lambda item: item.fspath.mtime(), reverse=True) |
360 | 363 |
|
361 | | - def pytest_sessionfinish(self, session): |
| 364 | + def pytest_sessionfinish(self, session: Session) -> None: |
362 | 365 | config = self.config |
363 | 366 | if config.getoption("cacheshow") or hasattr(config, "slaveinput"): |
364 | 367 | return |
365 | 368 |
|
366 | 369 | config.cache.set("cache/nodeids", self.cached_nodeids) |
367 | 370 |
|
368 | 371 |
|
369 | | -def pytest_addoption(parser): |
| 372 | +def pytest_addoption(parser: Parser) -> None: |
370 | 373 | group = parser.getgroup("general") |
371 | 374 | group.addoption( |
372 | 375 | "--lf", |
@@ -424,16 +427,18 @@ def pytest_addoption(parser): |
424 | 427 | ) |
425 | 428 |
|
426 | 429 |
|
427 | | -def pytest_cmdline_main(config): |
| 430 | +def pytest_cmdline_main(config: Config) -> Optional[Union[int, ExitCode]]: |
428 | 431 | if config.option.cacheshow: |
429 | 432 | from _pytest.main import wrap_session |
430 | 433 |
|
431 | 434 | return wrap_session(config, cacheshow) |
| 435 | + return None |
432 | 436 |
|
433 | 437 |
|
434 | 438 | @pytest.hookimpl(tryfirst=True) |
435 | 439 | def pytest_configure(config: Config) -> None: |
436 | | - config.cache = Cache.for_config(config) |
| 440 | + # Type ignored: pending mechanism to store typed objects scoped to config. |
| 441 | + config.cache = Cache.for_config(config) # type: ignore # noqa: F821 |
437 | 442 | config.pluginmanager.register(LFPlugin(config), "lfplugin") |
438 | 443 | config.pluginmanager.register(NFPlugin(config), "nfplugin") |
439 | 444 |
|
|
0 commit comments