67af623d9e 
								
							 
						 
						
							
							
								
								Merge pull request  #8227  from encukou/defensive-get_source  
							
							... 
							
							
							
							Make code.FormattedExcinfo.get_source more defensive 
							
						 
						
							2021-04-24 19:42:53 -07:00  
				
					
						
							
							
								 
						
							
								0a75c8e57b 
								
							 
						 
						
							
							
								
								Add a regression test for a more defensive code.FormattedExcinfo.get_source  
							
							
							
						 
						
							2021-04-22 19:17:54 +02:00  
				
					
						
							
							
								 
						
							
								b706a2c048 
								
							 
						 
						
							
							
								
								Fix error with --import-mode=importlib and modules containing dataclasses or pickle ( #7870 )  
							
							... 
							
							
							
							Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
Fixes  #7856 , fixes  #7859  
							
						 
						
							2021-04-05 17:10:03 -03:00  
				
					
						
							
							
								 
						
							
								0e5e4e03e6 
								
							 
						 
						
							
							
								
								Remove some unused 'tmpdir's  
							
							
							
						 
						
							2021-02-20 18:01:42 +00:00  
				
					
						
							
							
								 
						
							
								bbd22e1769 
								
							 
						 
						
							
							
								
								Merge pull request  #8214  from sousajf1/sousajo_patch_8204_1  
							
							... 
							
							
							
							pytest-dev#8204 migrate tests on testing/code/test_source to tmp_path 
							
						 
						
							2021-01-01 20:44:40 +02:00  
				
					
						
							
							
								 
						
							
								ac428f67eb 
								
							 
						 
						
							
							
								
								pytest-dev#8204 migrate tests on testing/code/test_source to tmp_path  
							
							
							
						 
						
							2021-01-01 16:55:03 +00:00  
				
					
						
							
							
								 
						
							
								20c59e3aa4 
								
							 
						 
						
							
							
								
								pytest-dev#8204 migrate some tests to tmp_path fixture ( #8209 )  
							
							... 
							
							
							
							migrating some tests from tmpdir to tmp_path fixture 
							
						 
						
							2021-01-01 17:25:11 +02:00  
				
					
						
							
							
								 
						
							
								92ba96b061 
								
							 
						 
						
							
							
								
								code: convert from py.path to pathlib  
							
							
							
						 
						
							2020-12-22 21:08:25 +02:00  
				
					
						
							
							
								 
						
							
								8eef8c6004 
								
							 
						 
						
							
							
								
								tests: Migrate to pytester - incremental update ( #8145 )  
							
							
							
						 
						
							2020-12-15 13:02:32 +02:00  
				
					
						
							
							
								 
						
							
								531416cc5a 
								
							 
						 
						
							
							
								
								code: simplify Code construction  
							
							
							
						 
						
							2020-10-31 12:40:25 +02:00  
				
					
						
							
							
								 
						
							
								6506f016ac 
								
							 
						 
						
							
							
								
								testing/test_source: use unqualified imports  
							
							
							
						 
						
							2020-10-31 12:40:25 +02:00  
				
					
						
							
							
								 
						
							
								a1df458e85 
								
							 
						 
						
							
							
								
								code: use properties for derived attributes, use slots  
							
							... 
							
							
							
							Make the objects more light weight.
Remove unused properties. 
							
						 
						
							2020-10-31 12:40:25 +02:00  
				
					
						
							
							
								 
						
							
								c9e5042d6d 
								
							 
						 
						
							
							
								
								Remove redundant Python 2.7 code  
							
							
							
						 
						
							2020-10-19 10:47:35 +03:00  
				
					
						
							
							
								 
						
							
								33d119f71a 
								
							 
						 
						
							
							
								
								py36+: com2ann  
							
							
							
						 
						
							2020-10-05 18:33:17 -07:00  
				
					
						
							
							
								 
						
							
								66bd44c13a 
								
							 
						 
						
							
							
								
								py36+: pyupgrade: py36+  
							
							
							
						 
						
							2020-10-03 12:46:54 -07:00  
				
					
						
							
							
								 
						
							
								a238d1f37d 
								
							 
						 
						
							
							
								
								py36+: remove TYPE_CHECKING from _pytest.compat  
							
							... 
							
							
							
							automated with:
```bash
git grep -l 'from .* import TYPE_CHECKING' |
    xargs reorder-python-imports \
        --application-directories .:src \
        --remove-import 'from _pytest.compat import TYPE_CHECKING' \
        --add-import 'from typing import TYPE_CHECKING'
``` 
							
						 
						
							2020-10-02 15:03:24 -07:00  
				
					
						
							
							
								 
						
							
								96a17b1683 
								
							 
						 
						
							
							
								
								Fix INTERNALERROR when accessing locals / globals with faulty `exec`  
							
							
							
						 
						
							2020-09-11 18:13:48 -07:00  
				
					
						
							
							
								 
						
							
								9f672c85c5 
								
							 
						 
						
							
							
								
								Fix handle of exceptions in ReprEntry with tb=line  
							
							... 
							
							
							
							Fix  #7707  
						
							2020-09-03 07:44:45 -03:00  
				
					
						
							
							
								 
						
							
								9ab14c6d9c 
								
							 
						 
						
							
							
								
								typing: set warn_unreachable  
							
							... 
							
							
							
							This makes mypy raise an error whenever it detects code which is
statically unreachable, e.g.
    x: int
    if isinstance(x, str):
        ... # Statement is unreachable  [unreachable]
This is really neat and finds quite a few logic and typing bugs.
Sometimes the code is intentionally unreachable in terms of types, e.g.
raising TypeError when a function is given an argument with a wrong
type. In these cases a `type: ignore[unreachable]` is needed, but I
think it's a nice code hint. 
							
						 
						
							2020-08-04 09:59:46 +03:00  
				
					
						
							
							
								 
						
							
								b8471aa527 
								
							 
						 
						
							
							
								
								testing: fix some docstring issues  
							
							... 
							
							
							
							In preparation for enforcing some docstring lints. 
							
						 
						
							2020-08-03 10:10:43 +03:00  
				
					
						
							
							
								 
						
							
								3a060b77e8 
								
							 
						 
						
							
							
								
								Revert change to traceback repr ( #7535 )  
							
							... 
							
							
							
							* Revert change to traceback repr
* Add test and changelog entry
* Restore *exact* prev output
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com> 
							
						 
						
							2020-07-24 13:30:38 +02:00  
				
					
						
							
							
								 
						
							
								71ab6236a1 
								
							 
						 
						
							
							
								
								Clearer guidance on pytest.raise(match=...) failure  ( #7499 )  
							
							
							
						 
						
							2020-07-15 22:26:47 +03:00  
				
					
						
							
							
								 
						
							
								a2f021b6f3 
								
							 
						 
						
							
							
								
								Remove no longer needed `noqa: F821` uses  
							
							... 
							
							
							
							Not needed since pyflakes 2.2.0. 
							
						 
						
							2020-07-10 13:08:56 +03:00  
				
					
						
							
							
								 
						
							
								11efe057ea 
								
							 
						 
						
							
							
								
								testing: skip some unreachable code in coverage  
							
							
							
						 
						
							2020-07-04 12:12:52 +03:00  
				
					
						
							
							
								 
						
							
								f5c69f3eb2 
								
							 
						 
						
							
							
								
								code/source: inline getsource()  
							
							... 
							
							
							
							The recursive way in which Source and getsource interact is a bit
confusing, just inline it. 
							
						 
						
							2020-07-01 20:20:13 +03:00  
				
					
						
							
							
								 
						
							
								ef39115001 
								
							 
						 
						
							
							
								
								code/source: remove compiling functions  
							
							... 
							
							
							
							A lot of complex code that isn't used anymore outside of tests after
the previous commit. 
							
						 
						
							2020-07-01 20:20:12 +03:00  
				
					
						
							
							
								 
						
							
								4a27d7d973 
								
							 
						 
						
							
							
								
								code/source: remove unused method Source.putaround()  
							
							
							
						 
						
							2020-07-01 20:20:11 +03:00  
				
					
						
							
							
								 
						
							
								a7303b52db 
								
							 
						 
						
							
							
								
								code/source: remove unused method Source.isparseable()  
							
							
							
						 
						
							2020-07-01 20:20:11 +03:00  
				
					
						
							
							
								 
						
							
								a127a22d13 
								
							 
						 
						
							
							
								
								code/source: remove support for comparing Source with str  
							
							... 
							
							
							
							Cross-type comparisons like this are a bad idea. This isn't used. 
							
						 
						
							2020-07-01 20:20:10 +03:00  
				
					
						
							
							
								 
						
							
								4108174777 
								
							 
						 
						
							
							
								
								code/source: remove Source(deindent: bool) parameter  
							
							... 
							
							
							
							Not used, except in tests. 
							
						 
						
							2020-07-01 20:20:07 +03:00  
				
					
						
							
							
								 
						
							
								4655b79985 
								
							 
						 
						
							
							
								
								config: improve typing  
							
							
							
						 
						
							2020-06-22 16:39:14 +03:00  
				
					
						
							
							
								 
						
							
								54ad048be7 
								
							 
						 
						
							
							
								
								Enable check_untyped_defs mypy option for testing/ too  
							
							
							
						 
						
							2020-06-05 11:34:20 +03:00  
				
					
						
							
							
								 
						
							
								55099e57c3 
								
							 
						 
						
							
							
								
								Add requested comment as per review  
							
							
							
						 
						
							2020-05-19 19:20:41 -03:00  
				
					
						
							
							
								 
						
							
								b98a182aa1 
								
							 
						 
						
							
							
								
								(no) coverage  
							
							
							
						 
						
							2020-05-19 19:20:41 -03:00  
				
					
						
							
							
								 
						
							
								61180eec93 
								
							 
						 
						
							
							
								
								Test behavior of Source with regard to decorators  
							
							... 
							
							
							
							Unlinke `inspect.getsource` it does not unwrap functions. 
							
						 
						
							2020-05-19 19:20:41 -03:00  
				
					
						
							
							
								 
						
							
								59a12e9ab3 
								
							 
						 
						
							
							
								
								Replace bare `except`s with `except BaseException`  
							
							... 
							
							
							
							Mostly I wanted to remove uses of `noqa`.
In Python 3 the two are the same. 
							
						 
						
							2020-05-12 09:29:47 +03:00  
				
					
						
							
							
								 
						
							
								dad328bc8a 
								
							 
						 
						
							
							
								
								Fix tests for python3.9  
							
							
							
						 
						
							2020-05-07 05:26:55 -07:00  
				
					
						
							
							
								 
						
							
								bafc9bd58b 
								
							 
						 
						
							
							
								
								testing: merge code/test_terminal_writer.py into io/test_terminalwriter.py  
							
							
							
						 
						
							2020-04-30 16:44:03 +03:00  
				
					
						
							
							
								 
						
							
								66ee755649 
								
							 
						 
						
							
							
								
								terminalwriter: remove TerminalWriter's stringio argument  
							
							... 
							
							
							
							Had a mark indicating it should be removed, and I agree, it's better to
just use the `file` argument. 
							
						 
						
							2020-04-30 16:44:02 +03:00  
				
					
						
							
							
								 
						
							
								20f6331afd 
								
							 
						 
						
							
							
								
								Fix TerminalRepr instances to be hashable ( #6988 )  
							
							... 
							
							
							
							pytest-xdist assumes `ExceptionChainRepr` is hashable.
Fixes https://github.com/pytest-dev/pytest/issues/6925 .
Fixes https://github.com/pytest-dev/pytest-xdist/issues/515 . 
							
						 
						
							2020-04-03 00:56:53 +02:00  
				
					
						
							
							
								 
						
							
								2be06ba67e 
								
							 
						 
						
							
							
								
								Improve doc/typing/message for `ExceptionInfo.match` ( #6776 )  
							
							
							
						 
						
							2020-02-21 16:41:57 +01:00  
				
					
						
							
							
								 
						
							
								4209ad6fca 
								
							 
						 
						
							
							
								
								Use code highlighting if pygments is installed ( #6658 )  
							
							... 
							
							
							
							* Use code highlighting if pygments is installed
* Use colorama constants instead of bare ascii codes
Could not find the exact equivalent of 'hl-reset' code using colorama
constants though.
* Refactor ASCII color handling into a fixture
* Revert back to using explicit color codes
* In Python 3.5 skip rest of tests that require ordered markup in colored output 
							
						 
						
							2020-02-12 08:32:37 -03:00  
				
					
						
							
							
								 
						
							
								61f2a26675 
								
							 
						 
						
							
							
								
								Code/getfslineno: keep empty co_filename  
							
							... 
							
							
							
							Previously this would be turned via `py.path.local("")` into the current
working directory.
This appears to be what `fspath = fn and py.path.local(fn) or None`
tries to avoid in `getfslineno`'s `TypeError` handling already, if
`Code` would raise it. 
							
						 
						
							2020-02-03 19:09:08 +01:00  
				
					
						
							
							
								 
						
							
								78eddcb5b1 
								
							 
						 
						
							
							
								
								tests: move test_getfslineno back  
							
							... 
							
							
							
							Reverts https://github.com/pytest-dev/pytest/pull/6610 .
The tested `getfslineno` is `src/_pytest/_code/source.py` actually,
exported via `src/_pytest/_code/__init__.py`.
I've confused it with the one in `src/_pytest/compat.py` apparently. 
							
						 
						
							2020-01-29 23:47:39 +01:00  
				
					
						
							
							
								 
						
							
								3dbc61dd80 
								
							 
						 
						
							
							
								
								tests: test_code: improve/clarify imports  
							
							
							
						 
						
							2020-01-29 19:44:37 +01:00  
				
					
						
							
							
								 
						
							
								3f4b8d3aec 
								
							 
						 
						
							
							
								
								test_code: improve coverage  
							
							
							
						 
						
							2020-01-29 02:54:12 +01:00  
				
					
						
							
							
								 
						
							
								a3f482ceba 
								
							 
						 
						
							
							
								
								tests: move test_getfslineno  
							
							... 
							
							
							
							It should be in `test_code` when testing `_pytest._code.getfslineno`,
not to be confused with `_pytest._code.source.getfslineno`.
Adds an extra assert (via https://github.com/pytest-dev/pytest/pull/6590 ). 
							
						 
						
							2020-01-29 01:26:10 +01:00  
				
					
						
							
							
								 
						
							
								79ae86cc3f 
								
							 
						 
						
							
							
								
								tests: fix test_repr_traceback_with_invalid_cwd  
							
							... 
							
							
							
							This never worked as expected (since a912d3745 
							
						 
						
							2020-01-24 12:52:12 +01:00  
				
					
						
							
							
								 
						
							
								03bc8aba4e 
								
							 
						 
						
							
							
								
								config: typing for create_terminal_writer, re-export TerminalWriter  
							
							... 
							
							
							
							This also imports `TerminalWriter` explicitly via `_pytest._io`,
allowing for easier extending / replacing it. 
							
						 
						
							2020-01-23 14:09:37 +01:00  
				
					
						
							
							
								 
						
							
								0c247be769 
								
							 
						 
						
							
							
								
								Add a few missing type annotations in _pytest._code  
							
							... 
							
							
							
							These are more "dirty" than the previous batch (that's why they were
left out). The trouble is that `compile` can return either a code object
or an AST depending on a flag, so we need to add an overload to make the
common case Union free. But it's still worthwhile. 
							
						 
						
							2020-01-19 19:39:14 +02:00