Ran Benita
f84ffd9747
Remove unused type: ignores
...
Not needed since update from mypy 0.770 -> 0.780.
2020-06-12 17:34:31 +03:00
Zac Hatfield-Dodds
0f30103d9c
Merge pull request #7356 from Zac-HD/emancipate
...
Finish deprecation of "slave"
2020-06-12 23:13:11 +10:00
Zac-HD
564b2f707d
Finish deprecation of "slave"
2020-06-12 22:49:33 +10:00
Bruno Oliveira
ab331c906e
Suppress errors while removing tmpdir's lock files
...
Fix #5456
2020-06-11 18:59:51 -03:00
Bruno Oliveira
c229d6f46f
Fix mypy checks
2020-06-09 14:48:49 -03:00
Ran Benita
09988f3ed1
Update testing/test_assertion.py
2020-06-09 14:39:40 -03:00
ibriquem
e2e7f15b71
Make dataclasses/attrs comparison recursive, fixes #4675
2020-06-09 14:39:40 -03:00
Bruno Oliveira
fcbaab8b0b
Allow tests to override "global" `log_level` (rebased) ( #7340 )
...
Co-authored-by: Ruaridh Williamson <ruaridh.williamson@flexciton.com>
2020-06-08 22:05:46 -03:00
Prashant Anand
e78207c936
7119: data loss with mistyped --basetemp ( #7170 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
Co-authored-by: Ran Benita <ran@unusedvar.com>
2020-06-08 21:54:22 -03:00
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
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
54ad048be7
Enable check_untyped_defs mypy option for testing/ too
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
90e58f8961
Type annotate some parts related to runner & reports
2020-06-05 11:34:20 +03:00
Ran Benita
d95132178c
Type annotate _pytest.assertion
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
ff8b7884e8
Type annotate ParameterSet
2020-06-05 11:34:19 +03:00
Ran Benita
2e219ad4f3
testing: change a test to not use deprecated pluggy __multicall__ protocol
...
It is slated to be removed in pluggy 1.0.
2020-06-03 21:51:55 +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
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
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
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
Gleb Nikonorov
8f2c2a5dd9
Add test case for invalid ini key in different section header
2020-05-31 00:49:21 -04:00
Gleb Nikonorov
eef4f87e7b
Output a warning to stderr when an invalid key is read from an INI config file
2020-05-30 20:36:02 -04:00
Bruno Oliveira
b98aa195e0
Add test and changelog for #6428
2020-05-30 20:02:47 -03:00
Bruno Oliveira
56bf819c2f
Do not call TestCase.tearDown for skipped tests ( #7236 )
...
Fix #7215
2020-05-30 14:33:22 -03:00
Katarzyna Król
94c7b8b47c
Issue 1316 - longrepr is a string when pytrace=False ( #7100 )
2020-05-30 14:10:58 +03:00
Gleb Nikonorov
2af0d1e221
remove a stray comma in a test tuple
2020-05-28 00:02:28 -04:00
Gleb Nikonorov
14de08011b
fix the unit tests, add the proper deprecation warning, and add in a changelog entry
2020-05-27 23:03:07 -04:00
Anthony Sottile
b3db440d4c
Merge pull request #7257 from DahlitzFlorian/fix-issue-6956
...
Prevent pytest from printing ConftestImportFailure traceback
2020-05-27 13:49:43 -07:00
Ran Benita
f93e021bc8
capture: remove some unclear parametrization from a test
...
The two cases end up doing the same (the tmpfile fixture isn't used
except being truthy).
2020-05-27 15:27:16 +03:00
Ran Benita
a35800c2e1
capture: formalize and check allowed state transition in capture classes
...
There are state transitions start/done/suspend/resume and two additional
operations snap/writeorg.
Previously it was not well defined in what order they can be called, and
which operations are idempotent.
Formalize this and enforce using assert checks with informative error
messages if they fail (rather than random AttributeErrors).
2020-05-27 15:27:15 +03:00
Florian Dahlitz
5b9924e144
Fix py35 CI run
2020-05-27 09:27:13 +02:00
Gleb Nikonorov
d742b386c3
provide missing location parameter, and add type annotations to the hookspec
2020-05-27 00:53:31 -04:00
Ran Benita
aca534c67d
Improve our own wcwidth implementation and remove dependency on wcwidth package
...
`TerminalWriter`, imported recently from `py`, contains its own
incomplete wcwidth (`char_with`/`get_line_width`) implementation. The
`TerminalReporter` also needs this, but uses the external `wcwidth`
package.
This commit brings the `TerminalWriter` implementation up-to-par with
`wcwidth`, moves to implementation to a new file `_pytest._io.wcwidth`
which is used everywhere, and removes the dependency.
The differences compared to the `wcwidth` package are:
- Normalizes the string before counting.
- Uses Python's `unicodedata` instead of vendored Unicode tables. This
means the data corresponds to the Python's version Unicode version
instead of the `wcwidth`'s package version.
- Apply some optimizations.
2020-05-26 17:14:01 +03:00
Florian Dahlitz
95bd232e57
Apply suggestions from @bluetech
2020-05-26 10:31:53 +02:00
Ran Benita
ea3f44894f
capture: replace TeeSysCapture with SysCapture(tee=True)
...
This is more straightforward and does not require duplicating the
initialization logic.
2020-05-26 00:25:49 +03:00
Ran Benita
491239d9b2
capture: remove some indirection in MultiCapture
...
Removing this indirection enables some further clean ups.
2020-05-26 00:25:49 +03:00
Florian Dahlitz
6546d1f725
Prevent pytest from printing ConftestImportFailure traceback
2020-05-25 13:57:03 +02:00
Gleb Nikonorov
088d400b2d
rename pytest_warning_record -> pytest_warning_recorded
2020-05-24 20:43:23 -04:00
Gleb Nikonorov
9ee6550181
Add in a new hook pytest_warning_recorded for warning capture
...
communication
2020-05-24 19:05:24 -04:00
Anthony Sottile
45f53266e6
Merge pull request #7244 from DahlitzFlorian/fix-issue-7150
...
Prevent hiding underlying exception when ConfTestImportFailure is raised
2020-05-23 12:09:42 -07:00
Florian Dahlitz
35e6dd0117
Add test for exposure of underlying exception
2020-05-23 18:19:33 +02:00
Bruno Oliveira
1780924b27
Introduce _pytest.timing as a way to control timing during tests
...
_pytest.timing is an indirection to 'time' functions, which pytest production
code should use instead of 'time' directly.
'mock_timing' is a new fixture which then mocks those functions, allowing us
to write time-reliable tests which run instantly and are not flaky.
This was triggered by recent flaky junitxml tests on Windows related to timing
issues.
2020-05-23 11:50:33 -03:00