Commit Graph

2906 Commits

Author SHA1 Message Date
Fabio Zadrozny
322190fd84 Fix issue where working dir becomes wrong on subst drive on Windows. Fixes #5965 (#6523)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-06-08 10:56:40 -03:00
Bruno Oliveira
c17d50829f Add pyproject.toml support (#7247) 2020-06-08 10:03:10 -03:00
Gleb Nikonorov
d2bb67bfda validate plugins before keys in config files 2020-06-07 14:10:20 -04:00
Gleb Nikonorov
f1746c50ea Merge remote-tracking branch 'origin/master' into issue_7305 2020-06-06 12:37:56 -04:00
Gleb Nikonorov
3f6b3e7faa update help for --strict-config 2020-06-06 11:33:28 -04:00
Gleb Nikonorov
f760b105ef Touchup pre-PR 2020-06-06 11:06:08 -04:00
Gleb Nikonorov
2a3c21645e Commit solution thus far, needs to be polished up pre PR 2020-06-06 02:38:18 -04:00
Ran Benita
1deaa74345 mark/expression: prevent creation of illegal Python identifiers
This is rejected by Python DEBUG builds, as well as regular builds in
future versions.
2020-06-05 15:57:48 +03:00
Ran Benita
2b05faff0a Improve types around repr_failure() 2020-06-05 11:34:20 +03:00
Ran Benita
54ad048be7 Enable check_untyped_defs mypy option for testing/ too 2020-06-05 11:34:20 +03:00
Ran Benita
71dfdca4df Enable check_untyped_defs mypy option for src/
This option checks even functions which are not annotated. It's a good
step to ensure that existing type annotation are correct.

In a Pareto fashion, the last few holdouts are always the ugliest,
beware.
2020-06-05 11:34:20 +03:00
Ran Benita
848ab00663 Type annotate @pytest.mark.foo 2020-06-05 11:34:20 +03:00
Ran Benita
c0af19d8ad Type annotate more of _pytest.terminal 2020-06-05 11:34:20 +03:00
Ran Benita
2833884688 Type annotate pytest.fixture and more improvements to _pytest.fixtures 2020-06-05 11:34:20 +03:00
Ran Benita
8bcf1d6de1 Remove duplicated conversion of pytest.fixture() params argument
The FixtureFunctionMarker attrs class already converts the params
itself.

When adding types, the previous converter composition causes some type
error, but extracting it to a standalone function fixes the issue (a
lambda is not supported by the mypy plugin, currently).
2020-06-05 11:34:20 +03:00
Ran Benita
1bd7d025d9 Type annotate more of _pytest.fixtures 2020-06-05 11:34:20 +03:00
Ran Benita
f8bb61ae5b Type annotate _pytest.warnings 2020-06-05 11:34:20 +03:00
Ran Benita
01797e6370 Type annotate _pytest.debugging (a bit) 2020-06-05 11:34:20 +03:00
Ran Benita
216a010ab7 Type annotate _pytest.junitxml 2020-06-05 11:34:20 +03:00
Ran Benita
3e351afeb3 Type annotate _pytest.capture 2020-06-05 11:34:20 +03:00
Ran Benita
b51ea4f1a5 Type annotate _pytest.unittest 2020-06-05 11:34:20 +03:00
Ran Benita
db52928684 Type annotate _pytest.logging 2020-06-05 11:34:20 +03:00
Ran Benita
90e58f8961 Type annotate some parts related to runner & reports 2020-06-05 11:34:20 +03:00
Ran Benita
709bcbf3c4 Type annotate _pytest.mark.evaluate 2020-06-05 11:34:20 +03:00
Ran Benita
fc325bc0c3 Type annotate more of _pytest.nodes 2020-06-05 11:34:19 +03:00
Ran Benita
32dd0e87cb Type annotate _pytest.doctest 2020-06-05 11:34:19 +03:00
Ran Benita
387d9d04f7 Type annotate tricky reorder_items() function in fixtures.py 2020-06-05 11:34:19 +03:00
Ran Benita
e68a26199c Type annotate misc functions 2020-06-05 11:34:19 +03:00
Ran Benita
d95132178c Type annotate _pytest.assertion 2020-06-05 11:34:19 +03:00
Ran Benita
30e3d473c4 Type annotate _pytest._io.saferepr 2020-06-05 11:34:19 +03:00
Ran Benita
247c4c0482 Type annotate some more hooks & impls 2020-06-05 11:34:19 +03:00
Ran Benita
ef34729541 Type annotate fixtures.py & related 2020-06-05 11:34:19 +03:00
Ran Benita
be00e12d47 Type annotate main.py and some parts related to collection 2020-06-05 11:34:19 +03:00
Ran Benita
f8de424241 Type annotate CallSpec2 2020-06-05 11:34:19 +03:00
Ran Benita
0fb081aec6 Type annotate some hookspecs & impls
Annotate some "easy" arguments of hooks that repeat in a lot of internal
plugins.

Not all of the arguments are annotated fully for now.
2020-06-05 11:34:19 +03:00
Ran Benita
ff8b7884e8 Type annotate ParameterSet 2020-06-05 11:34:19 +03:00
Ran Benita
43fa1ee8f9 Type annotate some misc places with no particular connection 2020-06-05 11:34:19 +03:00
Ran Benita
e7c26a92d7 Merge pull request #7253 from bluetech/fixture-special-case
fixtures: remove special cases when deciding when pytest.fixture() is a direct decoration
2020-06-05 11:33:43 +03:00
Bruno Oliveira
cf640a9b67 Merge pull request #7292 from kerizane/7259_iniconfig 2020-06-03 19:00:48 -03:00
Bruno Oliveira
61a6ac9705 Merge pull request #7242 from nicoddemus/fix-flaky-test
Introduce _pytest.timing as a way to control timing during internal tests
2020-06-02 20:25:02 -03:00
Bruno Oliveira
8ac18bbecb Show invalid ini keys sorted
Otherwise this relies on the dictionary order of `config.inicfg`, which
is insertion order in py36+ but "random" order in py35.
2020-06-02 16:01:47 -03:00
Ran Benita
85b5a289f0 warnings: fix missing None in existing hook & add some docs (#7288) 2020-06-02 19:59:25 +03:00
Bruno Oliveira
7a8b8a5c9f Merge branch 'master' into fix-flaky-test 2020-06-02 11:33:15 -03:00
Ronny Pfannschmidt
8faf1e8eca Merge pull request #7286 from gnikonorov/issue_6856
Output a warning to stderr when an invalid key is read from an INI config file
2020-06-02 15:47:02 +02:00
Tor Colvin
fe64093411 Fix removal of very long paths on Windows (#6755)
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2020-06-02 08:56:33 -03:00
Keri Volans
2748feed38 7291: Replace py.iniconfig with iniconfig 2020-06-01 18:09:57 +01:00
Bruno Oliveira
70b5bdf4ba Merge pull request #7264 from bluetech/wcwidth
Improve our own wcwidth implementation and remove dependency on wcwidth package
2020-05-31 12:37:58 -03:00
Gleb Nikonorov
92d15c6af1 review feedback 2020-05-31 11:33:31 -04:00
Ronny Pfannschmidt
c16ede5ce6 Merge pull request #7255 from gnikonorov/issue_4049
Add new hook pytest_warning_recorded
2020-05-31 12:47:46 +02:00
Gleb Nikonorov
db203afba3 Add in --strict-config flag to force warnings to errors 2020-05-31 02:45:40 -04:00