Ronny Pfannschmidt
ebd597b2fd
use the constant for lock timeouts
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
94829c391b
make tmpdir env cleanup idempotent
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
b82d6f7a0b
pytester: use per test tmproot
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
4a436b5470
resolve in code review commments
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
3036914097
sort out rmtree expectations
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
2831cb9ab5
unify paths.py and pathlib.py
2018-10-11 07:15:09 +02:00
Ronny Pfannschmidt
85cc9b8f12
move all the things into _pytest.pathlib
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
fed4f73a61
ignore rmtree errors
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
d76fa59b35
fix lock timeouts for good this time
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
2532dc1dbb
fix up lock consideration argument
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
642cd86dd1
shape up removal and lock destruction
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
b3a5b0ebe1
remove path from exposure
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
8b4a29357e
fix typo
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
ab3637d486
implement cleanup for unlocked folders
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
66a690928c
bring in purepath and fix an assertion
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
8e00280fc1
fix linting
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
d053cdfbbb
factor out max and iterate on locks and cleanups
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
2e39fd89d1
add python27 support by using reduce instead of max
2018-10-11 07:15:08 +02:00
Ronny Pfannschmidt
b48e23d54c
port interals of tmpdir to a basic pathlib implementation
...
this is still lacking locking and cleanup of the folders
2018-10-11 07:15:08 +02:00
Bruno Oliveira
c9a85b0e78
Fix linting
2018-10-10 19:54:39 -03:00
Bruno Oliveira
bf265a424d
Minor adjustments found during code review
2018-10-10 19:35:49 -03:00
Bruno Oliveira
5436e42990
Use pytest.fail(..., pytrace=False) when treating user errors
...
This prevents an enormous and often useless stack trace from showing
to end users.
Fix #3867
Fix #2293
2018-10-10 19:16:53 -03:00
Bruno Oliveira
67f40e18a7
Use attr.s(repr=False) because we customize MarkInfo's repr
2018-10-10 19:13:34 -03:00
Daniel Hahler
52ff1eaf37
_getconftestmodules: optimize
2018-10-10 21:30:33 +02:00
Daniel Hahler
602e74c2a7
Merge pull request #4107 from blueyed/__tracebackhide__
...
pytester: fix __tracebackhide__ for {re_,fn}match_lines
2018-10-10 20:55:32 +02:00
Daniel Hahler
4c9015c3b1
Merge pull request #4105 from blueyed/repr
...
Fix trailing whitespace in FixtureDef.__repr__
2018-10-10 19:28:32 +02:00
Niklas JQ
c14a23d4e4
Fix #4093 : multiple string literals on a line
2018-10-10 19:28:31 +02:00
Daniel Hahler
b8fc3e569a
pytester: fix __tracebackhide__ for {re_,fn}match_lines
2018-10-10 19:27:43 +02:00
Anthony Sottile
e0f6fce9e9
In python2, display previously warned warnings
2018-10-10 09:37:21 -07:00
Daniel Hahler
d93de6cc67
Fix trailing whitespace in FixtureDef.__repr__
2018-10-10 18:14:56 +02:00
Anthony Sottile
aeb92accb2
Implement pytest.deprecated_call with pytest.warns
2018-10-10 08:03:23 -07:00
Bruno Oliveira
9a3836a0cf
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-10-09 19:34:04 -03:00
Anthony Sottile
11a07211b6
re-enable linting tox env on windows
2018-10-09 13:01:51 -07:00
Anthony Sottile
65545d8fb2
Manual fixups of black formatting
2018-10-08 10:12:42 -07:00
Anthony Sottile
1caf6d5907
Upgrade pre-commit hooks
2018-10-08 10:10:46 -07:00
Jeffrey Rackauckas
fc11b81005
Exclude durations that are 0.00 seconds long.
2018-10-07 19:19:48 -07:00
Kyle Altendorf
ccaec8d360
__tracebackhide__ = True
2018-10-06 21:57:03 -04:00
Ronny Pfannschmidt
66609665f2
Merge pull request #4076 from nicoddemus/unittest-param-fixture-msg
...
Improve error message when TestCase functions use a parametrized fixture
2018-10-06 07:43:57 +02:00
Kyle Altendorf
4b36f9aa64
Tidy timeout checking
2018-10-05 16:46:24 -04:00
Kyle Altendorf
ed5556bdac
Add to docstrings
2018-10-05 10:02:59 -04:00
Kyle Altendorf
42422a7f62
Throw away arbitrary args to runpytest_subprocess()
2018-10-05 00:30:25 -04:00
Kyle Altendorf
f3a173b736
Revert "Use signal.alarm() for py2 timeout"
...
This reverts commit 900cef6397
.
2018-10-05 00:05:46 -04:00
Kyle Altendorf
5c38a5160d
Slight diff tidy
2018-10-04 23:33:38 -04:00
Kyle Altendorf
dcf9eb0104
Raise an exception on unexpected kwargs
2018-10-04 23:27:01 -04:00
Kyle Altendorf
dd225e1b9d
Tidy getting of timeout from kwargs
2018-10-04 23:15:30 -04:00
Kyle Altendorf
900cef6397
Use signal.alarm() for py2 timeout
2018-10-04 23:11:26 -04:00
Kyle Altendorf
dcd635ba0c
Correct timeout to check every so often
2018-10-04 23:08:57 -04:00
Kyle Altendorf
33f0338eeb
kill and wait for subprocess before raising TimeoutExpired
2018-10-04 22:52:51 -04:00
Kyle Altendorf
d5e5433553
Add descriptive message for timeout
2018-10-04 21:43:41 -04:00
Kyle Altendorf
d2906950ce
monotonic.monotonic() -> time.time()
2018-10-04 21:26:08 -04:00
Bruno Oliveira
fe7050ba00
Fix lint
2018-10-04 18:45:30 -03:00
Bruno Oliveira
a1208f5631
Merge pull request #4075 from nicoddemus/dynamic-fixturenames
...
Fix request.fixturenames to return fixtures created dynamically
2018-10-04 09:21:23 -03:00
Kyle Altendorf
870a93c37b
Actually construct TimeoutExpired
2018-10-04 01:02:58 -04:00
Kyle Altendorf
96b2ae6654
Initial pass at timeout for subprocessing pytest
...
pytest-dev/pytest#4073
2018-10-03 23:56:57 -04:00
Bruno Oliveira
212937eb3e
Improve error message when TestCase functions use a parametrized fixture
...
Fix #2535
2018-10-03 19:43:46 -03:00
Bruno Oliveira
70c7273640
Fix request.fixturenames to return fixtures created dynamically
...
Fix #3057
2018-10-03 18:50:14 -03:00
Anthony Sottile
e5ab62b1b6
Remove (unused) offset= parameter from deindent()
2018-10-03 13:33:10 -07:00
Anthony Sottile
f102ccc8f0
Fix source reindenting by using `textwrap.dedent` directly.
2018-10-02 16:13:35 -07:00
Bruno Oliveira
1101a20408
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-10-02 18:13:54 -03:00
Bruno Oliveira
1a323fbd3c
Show a warning when non-str is given to Monkeypatch.setenv
2018-10-01 20:07:07 -03:00
Bruno Oliveira
9d971d33be
Hide internal pytest.warns traceback
2018-10-01 18:45:08 -03:00
Bruno Oliveira
d24a7e6c5a
Issue warning if Monkeypatch.setenv/delenv receive non-strings in Python 2
...
Fixes the bug described in:
https://github.com/tox-dev/tox/pull/1025#discussion_r221273830
Which is more evident when using `unicode_literals`.
2018-10-01 17:05:30 -03:00
Ronny Pfannschmidt
5d2d64c190
Merge pull request #4057 from jeffreyrack/4051-improve-error-messaging
...
Improve error messaging when invalid syntax is passed to the -m option
2018-10-01 07:16:59 +02:00
Jeffrey Rackauckas
c2179c3127
Improve error messaging when invalid syntax is passed to the -m option
2018-09-30 18:34:56 -07:00
Bruno Oliveira
d8d7f73e1c
Merge pull request #4045 from nicoddemus/root-conftest-warning-workaround-4039
...
Do not issue non-top-level conftest warning when --pyargs is used
2018-09-27 09:26:11 -03:00
Ronny Pfannschmidt
3c23b5b010
Merge pull request #4037 from nicoddemus/deprecate-item-warnings-captured-hook
...
Document that item parameter of pytest_warning_captured hook is deprecated
2018-09-27 13:20:26 +02:00
Bruno Oliveira
d2fc7ca6e0
Merge pull request #4041 from Zac-HD/user-properties-type
...
Ensure user_properties is a list
2018-09-27 08:04:30 -03:00
Bruno Oliveira
32c5a113e2
Do not issue non-top-level conftest warning when --pyargs is used
...
Fix #4039
2018-09-26 12:02:08 -03:00
Zac-HD
a089a9577e
Succinct definition of user_properties
2018-09-26 22:40:11 +10:00
Zac-HD
6be2136f20
Ensure user_properties is a list
2018-09-26 22:04:50 +10:00
Denis Otkidach
f9ab81a493
Exclude empty reports for passed tests
2018-09-26 11:55:39 +03:00
Bruno Oliveira
1636522563
Document that item parameter of pytest_warning_captured hook is deprecated
...
Our policy is to not deprecate features during bugfix releases, but in this
case I believe it makes sense as we are only documenting it as deprecated,
without issuing warnings which might potentially break test suites.
This will get the word out that hook implementers should not use this parameter
at all.
Fix #4036
2018-09-25 17:38:22 -03:00
Anthony Sottile
956b3aca97
Revert patching of breakpointhook as it appears to do nothing
2018-09-23 18:39:50 -07:00
iwanb
c61ff31ffa
Fix #3539 : reload module with assertion rewrite import hook
2018-09-23 13:05:55 +02:00
Ronny Pfannschmidt
e03a19f88d
Merge pull request #4021 from nicoddemus/merge-master-into-features
...
Merge master into features
2018-09-23 11:57:05 +02:00
Bruno Oliveira
56d0b5a7e2
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-09-22 18:14:36 -03:00
Bruno Oliveira
c30184709d
Show deprecation warnings even if filters are customized
...
Fix #4013
2018-09-22 10:25:57 -03:00
Maximilian Albert
9b382ed16c
Fix typo in docstring
2018-09-21 17:11:15 +01:00
Ronny Pfannschmidt
f02dbaf97f
Merge pull request #4010 from nicoddemus/package-len-error-3749
...
Fix 'Package has no len()' error during collection
2018-09-21 07:40:20 +02:00
Bruno Oliveira
41f6ea13ce
Fix 'Package has no len()' error during collection
...
Fix #3749
2018-09-20 17:53:21 -03:00
Ronny Pfannschmidt
f6eb39df33
Merge pull request #4001 from asottile/fix_bytes_repr_text_mix_python_2
...
Fix UnicodeDecodeError in assertion with mixed non-ascii bytes repr + text
2018-09-20 22:16:37 +02:00
Anthony Sottile
7122fa5613
Fix UnicodeDecodeError in assertion with mixed non-ascii bytes repr + text
2018-09-19 20:24:00 -07:00
Bruno Oliveira
7aff81739e
Merge pull request #3998 from blueyed/logging-del
...
logging: del item.catch_log_handler only in teardown
2018-09-19 20:07:19 -03:00
Bruno Oliveira
27772f67c0
Merge pull request #3987 from nicoddemus/fix-find-scope-3941
...
Fix scope determination with indirect parameters
2018-09-19 20:06:45 -03:00
Daniel Hahler
e7eb7e799b
logging: del item.catch_log_handler only in teardown
...
Without this caplog.record_tuples etc is not available anymore when using
`--pdb`.
2018-09-19 17:17:47 +02:00
Thomas Hisch
18cc74b8d0
Remove useless comment
2018-09-19 15:18:37 +02:00
Bruno Oliveira
7f48f552c1
Fix linting
2018-09-19 10:18:05 -03:00
Bruno Oliveira
1e2e65f0fa
Add references to the relevant Python issues
2018-09-19 08:20:23 -03:00
Thomas Hisch
e967d4587a
Add support for logging in collection-phase
...
The logging plugin does not output log messages generated during the
collection-phase when live-logging is enabled. This fixes this.
Fixes #3964
2018-09-18 20:18:24 +02:00
Bruno Oliveira
a79dc12f1e
Merge pull request #3970 from sambarluc/raise_on_empty_parameterset
...
Raise exception if parametrize collects an empty parameter set
2018-09-18 08:11:34 -03:00
Bruno Oliveira
37d2469266
Use a PurePath instance to do matching against patterns in assertion rewrite
...
This way we don't need to have real file system path, which prevents the
original #3973 bug.
2018-09-17 20:29:09 -03:00
Bruno Oliveira
1df6d28080
Fix assertion rewriter crash if cwd changes mid-testing
...
Unfortunately we need to get a `py.path.local` object to perform the fnmatch
operation, it is different from the standard `fnmatch` module because it
implements its own custom logic. So we need to use `py.path` to perform
the fnmatch for backward compatibility reasons.
Ideally we should be able to use a "pure path" in `pathlib` terms (a path
not bound to the file system), but we don't have those in pylib.
Fix #3973
2018-09-17 20:04:44 -03:00
Andrea Cimatoribus
05155e4db0
Fail at parametrize option for empty parameter set
...
Optionally raise an exception when parametrize collects no arguments.
Provide the name of the test causing the failure in the exception
message.
See: #3849
2018-09-15 09:18:03 +02:00
Bruno Oliveira
86a14d007d
Fix scope determination with indirect parameters
...
Fix #3941
2018-09-14 21:33:59 -03:00
Bruno Oliveira
ae8f3695b5
Move UnformattedWarning to _pytest.warning_types
2018-09-14 15:31:20 -03:00
Bruno Oliveira
9aa6b0903b
.pytest_cache is now automatically ignored by Git
2018-09-14 15:16:40 -03:00
Bruno Oliveira
da6830f19b
Introduce UnformattedWarning to keep warning types and messages in _pytest.deprecated
2018-09-14 14:49:05 -03:00
Bruno Oliveira
32ee0b9c88
Move warning messages to _pytest.deprecated
2018-09-13 15:56:50 -03:00
Bruno Oliveira
feb8240410
Use self.Function again during collection
2018-09-13 15:44:02 -03:00
Bruno Oliveira
b7dd9154c3
Deprecate custom node types during collection by using special names
2018-09-13 14:55:28 -03:00
Bruno Oliveira
482bd5efd2
Show deprecation warning for cached_setup
2018-09-13 14:25:46 -03:00
Bruno Oliveira
bf074b37a3
Show deprecation warnings for compat properties
...
Fix #3616
2018-09-13 14:10:30 -03:00
Ronny Pfannschmidt
a0ce9a4441
remove the legacy code about im_func and generalize using fix and compat.getimfunc
2018-09-13 15:38:36 +02:00
Bruno Oliveira
ab40696007
-W now takes precedence over filters in ini files
...
Fix #3946
2018-09-11 19:00:42 +02:00
Bruno Oliveira
69b34f7658
Merge remote-tracking branch 'upstream/master' into release-3.8.0
2018-09-05 18:02:02 -03:00
Bruno Oliveira
531b76a513
Merge pull request #3931 from nicoddemus/internal-warnings
...
Use standard warnings for internal pytest warnings
2018-09-05 14:05:52 -03:00
Bruno Oliveira
f63c683faa
No longer escape regex in pytest.mark.filterwarnings
...
Fix #3936
2018-09-05 10:20:25 -03:00
Ronny Pfannschmidt
410d5762c0
Merge pull request #3919 from fabioz/master
...
Improve import performance of assertion rewrite. Fixes #3918 .
2018-09-05 14:33:40 +02:00
Bruno Oliveira
f42b5019ec
Make code_or_warning parameter private for backward-compatibility
2018-09-04 18:53:58 -03:00
Bruno Oliveira
2e0a7cf78d
Revert to having just "runtest" as "when" parameter of the pytest_warning_captured hook
2018-09-04 17:01:23 -03:00
Bruno Oliveira
5a52acaa92
Make config no longer optional in parametrize id functions
2018-09-04 16:55:52 -03:00
Bruno Oliveira
6d497f2c77
Fix stacklevel for warning about Metafunc.addcall
2018-09-04 16:50:24 -03:00
Bruno Oliveira
b7560a8808
Keep backward compatibility for code as kw in Node.warn
2018-09-04 16:48:21 -03:00
Bruno Oliveira
d3ca739c00
Use explicit instances when calling warnings.warn_explicit
2018-09-04 16:29:48 -03:00
Bruno Oliveira
3db76ccf3d
Fix Cache.warn function to issue a "config" warning
2018-09-04 15:53:17 -03:00
Bruno Oliveira
438f7a1254
Add "setup", "call" and "teardown" values to "when" parameter of pytest_warning_captured hook
2018-09-04 15:53:17 -03:00
Bruno Oliveira
47bf58d69e
Make Node.warn support two forms, new and deprecated
...
As suggested during review, it now accepts two forms:
Node.warn(warning_instance) (recommended)
Node.warn(code, message) (deprecated)
2018-09-04 15:53:17 -03:00
Bruno Oliveira
a054aa4797
Issue assert rewrite warning if tuple >=1 as suggested in review
2018-09-04 14:45:48 -03:00
Bruno Oliveira
022c58bf64
Revert pytest_terminal_summary(tryfirst) in warnings module as this breaks tests
2018-09-04 14:26:34 -03:00
Bruno Oliveira
b42518acd5
Change std_warn to receive a single warning instance, addressed review suggestions
2018-09-04 14:20:42 -03:00
Bruno Oliveira
284a2d110f
Move warnings import to top level
2018-09-04 13:46:33 -03:00
Bruno Oliveira
9ae0a3cd85
Do not trigger warning about tuples being always True if the tuple has size != 2
2018-09-04 13:41:11 -03:00
Bruno Oliveira
615c671434
Connect string literals
2018-09-04 13:34:05 -03:00
Bruno Oliveira
016f8f1536
Improve get_fslocation_from_item's docstring
2018-09-04 11:48:11 -03:00
Bruno Oliveira
e9417be9df
Add comment about deprecation warnings being shown by default
2018-09-04 11:35:35 -03:00
Bruno Oliveira
c304998ed7
Remove commented out code
2018-09-04 11:35:35 -03:00
Bruno Oliveira
415a62e373
Fix typo in PytestExperimentalApiWarning
2018-09-04 11:35:35 -03:00
Bruno Oliveira
8ce3aeadbf
Move PytestExerimentalApiWarning to warning_types
2018-09-04 11:35:35 -03:00
Bruno Oliveira
56d414177a
Remove nodeid from messages for warnings generated by standard warnings
...
Standard warnings already contain the proper location, so we don't need
to also print the node id
2018-09-04 11:35:34 -03:00
Bruno Oliveira
0fffa6ba2f
Implement hack to issue warnings during config
...
Once we can capture warnings during the config stage, we can
then get rid of this function
Related to #2891
2018-09-04 11:35:34 -03:00
Bruno Oliveira
9965ed84da
Show deprecation warnings by default if no other filters are configured
...
Fix #2908
2018-09-04 11:35:34 -03:00
Bruno Oliveira
208dd3aad1
Add docs for internal warnings and introduce PytestDeprecationWarning
...
Fix #2477
2018-09-04 11:35:34 -03:00
Bruno Oliveira
19a01c9849
Make PytestWarning and RemovedInPytest4Warning part of the public API
2018-09-04 11:35:34 -03:00
Bruno Oliveira
78ac7d99f5
Deprecate Config.warn and Node.warn, replaced by standard warnings
2018-09-04 11:35:34 -03:00
Bruno Oliveira
0c8dbdcd92
Fix existing tests now that we are using standard warnings
2018-09-04 11:35:34 -03:00
Bruno Oliveira
8e4501ee29
Use std_warn for warning about applying marks directly to parameters
2018-09-04 11:35:34 -03:00
Bruno Oliveira
0100f61b62
Start the laywork to capture standard warnings
2018-09-04 11:35:15 -03:00
Bruno Oliveira
1a9d913ee1
Capture and display warnings during collection
...
Fix #3251
2018-09-04 11:35:06 -03:00
Bruno Oliveira
51e32cf7cc
Remove Python 2.6 specific warning
2018-09-04 11:35:06 -03:00
Bruno Oliveira
3fcc4cdbd5
Make terminal capture pytest_warning_capture
...
pytest_logwarning is no longer emitted by the warnings plugin,
only ever emitted from .warn() functions in config and item
2018-09-04 11:35:06 -03:00
Bruno Oliveira
ffd47ceefc
Implement new pytest_warning_captured hook
2018-09-04 11:35:00 -03:00
Bruno Oliveira
10f21b423a
Remove assert for "reprec" because this is no longer set on the pluginmanager
...
It seems this has no effect since `pluggy` was developed as a separate
library.
2018-09-04 11:35:00 -03:00
Bruno Oliveira
eec7081b8d
Make AssertionRewritingrHook use imp_find_module
2018-09-03 10:18:25 -03:00
CrazyMerlyn
b01704cce1
Fix exit code for command line errors
...
Fixes #3913
2018-09-03 04:16:35 +00:00
Bruno Oliveira
a13c6a84df
Mention explicitly when pytest.skip and pytest.xfail can be called
...
Fix #3219
2018-09-02 10:42:05 -03:00
Bruno Oliveira
90c00dfd54
Use EXIT_USAGEERROR instead of magic number
2018-09-01 12:03:28 -03:00
Bruno Oliveira
4675912d89
Add tests for early rewrite bailout code and handle patterns with subdirectories
2018-09-01 10:59:21 -03:00
Fabio Zadrozny
d53e449296
Improve performance of assertion rewriting. Fixes #3918
2018-08-31 12:27:08 -03:00
Bruno Oliveira
96aad2983b
Move code to get width of current line to a function
2018-08-30 21:16:35 -03:00
wim glenn
c18a5b5179
try to be backwards compat
2018-08-30 19:06:20 -05:00
wim glenn
29c5ac71bc
improve line width estimate
2018-08-30 18:59:58 -05:00
Bruno Oliveira
11e591e442
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-08-30 19:55:23 -03:00
dhirensr
3035b2724d
T3853:removed needless message printed with --failed-first,--last-failed and no failed tests
2018-08-30 16:01:42 +05:30
Steve Piercy
103d980b2d
Use https, save a redirect
2018-08-28 14:41:13 -07:00
Steve Piercy
28c3ef1c77
Use https, save a redirect, fix hostname
2018-08-28 14:40:20 -07:00
Steve Piercy
67c3c28877
Use https, save a redirect
2018-08-28 14:39:32 -07:00
Steve Piercy
e040fd20a3
Use https, save a redirect
2018-08-28 14:38:55 -07:00
Bruno Oliveira
10c1c7c41a
Merge pull request #3895 from nicoddemus/issue-3506
...
Avoid possible infinite recursion when writing pyc files in assert rewrite
2018-08-28 18:16:10 -03:00
Bruno Oliveira
b77e533693
Merge pull request #3893 from jirikuncar/3892-macos
...
travis: run tests on macOS
2018-08-28 17:06:17 -03:00
Bruno Oliveira
a605ad4d11
Merge pull request #3880 from jeffreyrack/3829-progress_display_mode
...
#3829 -- Add the ability to show test progress as number of tests completed instead of a percent.
2018-08-28 16:54:14 -03:00
Jeffrey Rackauckas
4b94760c8e
Removed spacing in count display.
2018-08-27 20:23:17 -07:00
Bruno Oliveira
82a7ca9615
Avoid possible infinite recursion when writing pyc files in assert rewrite
...
What happens is that atomic_write on Python 2.7 on Windows will try
to convert the paths to unicode, but this triggers the import of
the encoding module for the file system codec, which in turn triggers
the rewrite, which in turn again tries to import the module, and so on.
This short-circuits the cases where we try to import another file when
writing a pyc file; I don't expect this to affect anything because
the only modules that could be affected are those imported by
atomic_writes.
Fix #3506
2018-08-27 21:29:45 -03:00
Bruno Oliveira
2a059b1c1b
Merge pull request #3885 from nicoddemus/bad-output-classic
...
Fix bad console output when using console_output_style=classic
2018-08-27 19:07:02 -03:00
Jiri Kuncar
ab5af524a4
Fix macOS specific code that uses capturemanager.
...
https://github.com/pytest-dev/pytest/issues/3888#issuecomment-416206606
closes #3888
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2018-08-27 16:07:59 +02:00
Jeffrey Rackauckas
8f4685e024
Move count display style to be part of console_output_style, fixed test progress for count console output style.
2018-08-26 19:21:00 -07:00
Bruno Oliveira
47bb53f5cb
Cache now obeys -q when showing summary for --lf and --ff
...
Related to #3853
2018-08-26 18:08:19 -03:00
Bruno Oliveira
6991a16edb
Fix bad console output when using console_output_style=classic
...
Fix #3883
2018-08-26 17:12:55 -03:00
Bruno Oliveira
2f2d5861bb
Merge remote-tracking branch 'upstream/master' into merge-master-into-features
2018-08-26 16:45:00 -03:00
Bruno Oliveira
de6f2c0336
Collect tests from __init__.py files if they match 'python_files'
...
Fix #3773
2018-08-25 11:18:52 -03:00
turturica
c336449729
Make linting happy. Argh.
2018-08-24 18:05:35 -07:00
turturica
1e4ecda884
Fix the package fixture ordering in Windows.
2018-08-24 18:01:38 -07:00
turturica
3396225f74
Merge branch 'master' of github.com:pytest-dev/pytest into fix-3854
2018-08-24 11:47:24 -07:00
turturica
72e6482994
Make linting happy.
2018-08-23 22:58:36 -07:00
Jeffrey Rackauckas
93f783228c
Add the progress_display_mode ini option
2018-08-23 22:56:25 -07:00
turturica
5f8b50c094
Address #3796 and add a test for it.
2018-08-23 22:48:44 -07:00
Anthony Sottile
99e31f6fb1
Use `bytes` directly instead of `binary_type`
...
`bytes` is an alias for `str` in python2.6+
2018-08-23 18:55:21 -07:00
Anthony Sottile
f2e35c8c4f
Merge pull request #3859 from asottile/pyupgrade_1_4
...
Some pyupgrade 1.4.x changes
2018-08-23 18:32:53 -07:00
wim glenn
d54aa8ce13
Merge pull request #3848 from wimglenn/pytester_unicode_bugfixes
...
fixed a bunch of unicode bugs in pytester.py
2018-08-23 13:45:49 -05:00
Anthony Sottile
7099ea9bb0
py.builtin._reraise -> six.reraise
2018-08-22 23:00:58 -07:00
Anthony Sottile
c2cd337886
py.builtin.exec_ => six.exec_
2018-08-22 23:00:06 -07:00
Anthony Sottile
0fc4a806e5
py.builtins._totext -> string literals or six.text_type
2018-08-22 23:00:04 -07:00
turturica
4d3c1ab4f0
Fixes #3854
2018-08-22 21:42:59 -07:00
turturica
e4f76f6350
Merge branch 'master' of github.com:pytest-dev/pytest into fix-3854
2018-08-22 20:36:52 -07:00
Anthony Sottile
0d65783dce
Fix unicode errors when changing to .format(...)
2018-08-22 19:00:43 -07:00
wim glenn
917b99e438
More unicode whack-a-mole
...
It seems pytest's very comprehensive CI sniffed out a few other places with similar bugs. Ideally we should find all the places where args are not stringy and solve it at the source, but who knows how many people are relying on the implicit string conversion. See [here](https://github.com/pytest-dev/pytest/blob/master/src/_pytest/config/__init__.py#L160-L166 ) for one such problem area (args with a single py.path.local instance is converted here, but a list or tuple containing some are not).
2018-08-22 13:40:21 -05:00
Bruno Oliveira
2137e2b15b
Merge pull request #3846 from nicoddemus/issue-3843
...
Fix collection error when tests is specified with --doctest-modules
2018-08-22 08:17:07 -03:00
wim glenn
89446af51e
fixed a bunch of unicode bugs in pytester.py
2018-08-22 01:30:23 -05:00
Ronny Pfannschmidt
3b521bedf8
Merge pull request #3841 from sankt-petersbug/fix-3816
...
Fix '--show-capture=no' capture teardown logs
2018-08-22 07:16:53 +02:00
Bruno Oliveira
07a560ff24
Fix collection error when tests is specified with --doctest-modules
...
The problem was that _matchnodes would receive two items: [DoctestModule, Module]. It would then collect the first one, *cache it*, and fail to match against the name in the command line. Next, it would reuse the cached item (DoctestModule) instead of collecting the Module which would eventually find the "test" name on it.
Added the type of the node to the cache key to avoid this problem, although I'm not a big fan of caches that have different key types.
Fix #3843
2018-08-21 21:02:46 -03:00
Bruno Oliveira
f1079a8222
Merge pull request #3832 from Sup3rGeo/bugfix/capsys-with-cli-logging
...
Bugfix/capsys with cli logging (again)
2018-08-21 20:12:31 -03:00
Bruno Oliveira
044d2b8e6e
Merge pull request #3838 from wimglenn/runresult_xfail
...
Support xfailed and xpassed outcomes in RunResult.
2018-08-20 20:01:51 -03:00
Sankt Petersbug
223eef6261
Fix '--show-capture=no' capture teardown logs
...
Add a check before printing teardown logs.
'print_teardown_sections' method does not check '--show-capture' option
value, and teardown logs are always printed.
Resolves : #3816
2018-08-20 15:01:21 -05:00
Bruno Oliveira
43657f252f
Merge pull request #3830 from nicoddemus/capfd-fixture-capture
...
Fixtures during teardown can use capsys and capfd to get output from tests
2018-08-20 15:32:45 -03:00
Victor
70ebab3537
Renamed snap_global_capture to read_global_capture.
2018-08-20 17:48:14 +02:00
wim glenn
539a22c750
Added support for xfailed and xpassed outcomes to the ``pytester.RunResult.assert_outcomes`` signature.
2018-08-20 01:24:19 -05:00
wim glenn
e620798d33
more autodocs for pytester
2018-08-19 23:21:45 -05:00
victor
7ea4992f16
Fixed linting.
2018-08-19 15:46:02 +02:00
victor
0564b52c0e
Fixed integration with other modules/tests
2018-08-19 15:26:57 +02:00
victor
8b2c91836b
Fixed activation and used just runtest_protocol hook
2018-08-19 14:30:50 +02:00
victor
7d9b198f73
Refactoring: Separated suspend from snapping (stopped always snapping when suspending - solves bug but still missing tests), reorganized functions and context managers.
2018-08-19 02:32:36 +02:00