Daniel Hahler
cdc7e13067
pytester: clarify _makefile signature ( #6675 )
2020-02-05 20:42:57 +01:00
Daniel Hahler
9c716e4d74
typing: Testdir.plugins
2020-01-28 00:41:46 +01:00
Daniel Hahler
94ac0f7e6b
typing: self._mod_collections, collect_by_name
2020-01-28 00:41:46 +01:00
Daniel Hahler
440881d63a
typing: Testdir.__init__
2020-01-28 00:41:46 +01:00
Daniel Hahler
b8787b8732
tests: fix test_cwd_snapshot
...
Without restoring the cwd, successive tests might fail to parse the
config (via `_pytest.config._prepareconfig()`, for when `--lsof` is
used).
And it is good practice to restore the cwd in any case anyway.
2020-01-22 14:34:11 +01:00
Daniel Hahler
36944157f8
pytester: typing for `spawn`/`spawn_pytest`
2020-01-17 05:58:25 +01:00
Daniel Hahler
4630e2725e
Use `TYPE_CHECKING` instead of `False`
...
This allows for e.g. Jedi to infer types (it checks the name).
It was only used to support Python 3.5.0/3.5.1, where this is is not
available in the `typing` module.
Ref: https://github.com/davidhalter/jedi/issues/1472
Uses `TYPE_CHECKING = False` in `_pytest.outcomes` to avoid having to
work around circular import.
2020-01-16 16:11:39 +01:00
Ran Benita
090e260517
master: update mypy 0.740 -> 0.761
...
(cherry picked from commit 16ff9f591e
)
(cherry picked from commit 4848bbdf9a
)
2020-01-14 06:31:41 +01:00
Daniel Hahler
1c0242dec1
Fix `RunResult.parseoutcomes` (follow-up to #6353 )
2019-12-30 17:08:52 +01:00
Alexandre Mulatinho
dc7bf518b3
pytester: quick fix error introduced in #5990
...
- added a test to check this condition
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>
2019-12-18 16:36:24 -03:00
Daniel Hahler
b96e0a71a6
pytester: LineMatcher: __tracebackhide__ with _fail
...
Follow-up to 2228ccb
(gone lost in resolving the conflict).
2019-11-21 01:23:36 +01:00
Daniel Hahler
2228ccbfb4
pytester: reset log output in _match_lines ( #70 )
...
This is necessary for when using e.g. `no_fnmatch_line` after it.
Factor it out into `_fail`.
(cherry picked from commit aade7ed0045ba32557ef8565cbab28a2c91053a7)
Ref: https://github.com/pytest-dev/pytest/pull/5914#issuecomment-549182242
2019-11-20 05:24:18 +01:00
Daniel Hahler
54a954514b
re-run black
2019-11-16 18:55:32 +01:00
Daniel Hahler
6ddf7c3d42
pytester: Hookrecorder: improve assertoutcome
...
Before:
def assertoutcome(self, passed: int = 0, skipped: int = 0, failed: int = 0) -> None:
realpassed, realskipped, realfailed = self.listoutcomes()
assert passed == len(realpassed)
> assert skipped == len(realskipped)
E assert 1 == 0
E + where 0 = len([])
After:
> reprec = testdir.inline_run(testpath, "-s")
E AssertionError: ([], [], [<TestReport 'nodeid' when='call' outcome='failed'>])
E assert {'failed': 1, 'passed': 0, 'skipped': 0} == {'failed': 0, 'passed': 0, 'skipped': 1}
2019-11-13 13:48:20 +01:00
Daniel Hahler
86e9ae39f0
pytester: assert_outcomes: use/set __tracebackhide__
2019-11-12 15:28:36 +01:00
Ran Benita
265a9eb6a2
Add type annotations to some of _pytest.pytester
2019-11-07 14:13:47 +02:00
Daniel Hahler
ec27363748
Merge pull request #6025 from blueyed/pytester-typing
...
pytester: typing
2019-10-28 05:31:31 +01:00
Daniel Hahler
716f532a38
Merge pull request #6070 from blueyed/pexpect-freebsd
...
pytester: spawn: do not skip FreeBSD
2019-10-28 05:13:31 +01:00
Daniel Hahler
886a3ad609
pytester: typing
2019-10-27 12:32:14 +01:00
Daniel Hahler
7f1af84f47
Merge master into features
...
Conflicts:
src/_pytest/logging.py
2019-10-27 02:06:36 +01:00
Daniel Hahler
8e8a8fa4b9
pytester: spawn: do not skip FreeBSD
...
Fixes https://github.com/pytest-dev/pytest/issues/6069
2019-10-27 00:44:25 +02:00
Ran Benita
0b8c35516f
Replace py.io.TextIO with io.StringIO
...
In Python3, py.io.TextIO is just an alias to io.StringIO. Remove the
indirection.
2019-10-26 16:33:57 +03:00
Bruno Oliveira
d1bc2601e4
pytester: align prefixes ( #6026 )
...
pytester: align prefixes
2019-10-24 18:50:29 -03:00
Daniel Hahler
8ef4287bf0
pytester: align prefixes
...
This is important for using another match_nickname, e.g. "re.match".
TODO:
- [ ] changelog
- [ ] test
2019-10-24 23:20:12 +02:00
Daniel Hahler
6242777818
Merge pull request #6041 from blueyed/pytester-splitlines
...
pytester: runpytest_inprocess: use splitlines()
2019-10-23 21:42:21 +02:00
Bruno Oliveira
20ee883b5f
Show the mnemonic of pytest.ExitCode in RunResult's repr ( #6043 )
...
Show the mnemonic of pytest.ExitCode in RunResult's repr
2019-10-23 10:46:58 -03:00
Bruno Oliveira
7beb520555
Show the mnemonic of pytest.ExitCode in RunResult's repr
...
Fix #4901
2019-10-23 09:16:02 -03:00
Daniel Hahler
2f589a9769
pytester: runpytest_inprocess: use splitlines()
...
This avoids having a trailing empty lines always.
2019-10-23 04:34:29 +02:00
Daniel Hahler
b47f57a08a
pytester: parseconfigure: remove duplicate config._ensure_unconfigure
...
This gets done in `parseconfig` already.
2019-10-21 01:15:27 +02:00
Bruno Oliveira
0c18e24433
Introduce no_fnmatch_line/no_re_match_line in pytester
...
The current idiom is to use:
assert re.match(pat, result.stdout.str())
Or
assert line in result.stdout.str()
But this does not really give good results when it fails.
Those new functions produce similar output to ther other match lines functions.
2019-10-06 18:05:24 -03:00
Anthony Sottile
07792c7113
Fix attribute docs in _pytest.pytester
2019-09-28 18:19:53 -07:00
Bruno Oliveira
1049a38cee
Fix wording as suggested in review of #5741
2019-08-15 10:05:42 -03:00
Bruno Oliveira
d7f082519a
Merge remote-tracking branch 'upstream/master' into mm
...
Conflicts:
src/_pytest/outcomes.py
2019-08-15 10:03:52 -03:00
Daniel Hahler
1434b66c35
pytester: spawn: skip without pexpect.spawn
...
"pexpect" can be imported on Windows, but does not have "pexpect.spawn"
then.
Ref: https://github.com/pexpect/pexpect/blob/a803933ed53/pexpect/__init__.py#L73-L76
2019-08-13 17:54:40 +02:00
Bruno Oliveira
345df99db7
Show session duration in human-readable format
...
Fix #5707
2019-08-10 10:45:53 -03:00
Ilya Stepin
ee936b27a8
pytester: fix docstrings
...
Co-Authored-By: Bruno Oliveira <nicoddemus@gmail.com>
2019-08-10 09:12:04 +03:00
martbln
e0ce8b79d5
pytester: add docstrings for Testdir.copy_example
2019-08-10 00:59:14 +03:00
Anthony Sottile
4cd08f9b52
Switch from deprecated imp to importlib
2019-06-24 09:48:38 -07:00
Ronny Pfannschmidt
0627d92df2
fix typos in the resolution of #5125
2019-06-17 20:35:23 +02:00
Ronny Pfannschmidt
2b92fee1c3
initial conversion of exit codes to enum
2019-06-15 06:48:00 +02:00
Bruno Oliveira
23cd68b667
Use keyword-only arguments in a few places
2019-06-04 21:10:59 -03:00
Anthony Sottile
c63320cc31
codecs.open / io.open
2019-06-03 12:08:02 -03:00
Anthony Sottile
a91fe1fedd
pre-commit run pyupgrade --all-files
2019-06-03 12:08:02 -03:00
Anthony Sottile
3f1ec520fc
pre-commit run reorder-python-imports --all-files
2019-06-03 12:08:01 -03:00
Anthony Sottile
5034399d7a
pre-commit run fix-encoding-pragma --all-files
2019-06-03 12:08:01 -03:00
Bruno Oliveira
4d49ba6529
Drop Python 2.7 and 3.4 support
...
* Update setup.py requires and classifiers
* Drop Python 2.7 and 3.4 from CI
* Update docs dropping 2.7 and 3.4 support
* Fix mock imports and remove tests related to pypi's mock module
* Add py27 and 34 support docs to the sidebar
* Remove usage of six from tmpdir
* Remove six.PY* code blocks
* Remove sys.version_info related code
* Cleanup compat
* Remove obsolete safe_str
* Remove obsolete __unicode__ methods
* Remove compat.PY35 and compat.PY36: not really needed anymore
* Remove unused UNICODE_TYPES
* Remove Jython specific code
* Remove some Python 2 references from docs
Related to #5275
2019-06-02 14:39:11 -03:00
Daniel Hahler
ace3a02cd4
pytester: factor out testdir._env_run_update
2019-05-30 17:39:44 +02:00
Daniel Hahler
f013a5e8c1
pytester: use temporary HOME with spawn
...
Followup to https://github.com/pytest-dev/pytest/issues/4956 .
2019-05-30 17:39:44 +02:00
Daniel Hahler
da23aa3419
pytester: remove unused winpymap
...
Follow-up to c86d2daf8
.
2019-05-30 08:09:49 +02:00
Anthony Sottile
dc75b6af47
Use fix-encoding-pragma pre-commit hook
2019-05-14 15:56:31 -07:00