2018-11-24 16:35:13 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-test: updated to 4.0.1 pytest 4.0.1: Bug Fixes - Display warnings before "short test summary info" again, but still \ later warnings in the end. - Handle uninitialized exceptioninfo in repr/str. - Do not create .gitignore/README.md files in existing cache directories. - Rearrange warning handling for the yield test errors so the opt-out in 4.0.x \ correctly works. - Fix collection of testpaths with --pyargs. - Fix assertion rewriting involving Starred + side-effects. - Ensure we resolve the absolute path when the given --basetemp is a relative path. - Use pkg_resources.parse_version instead of LooseVersion in minversion check. - Adjust the stack level of some internal pytest warnings. |
2018-11-11 22:56:21 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-test: updated to 3.10.1 pytest 3.10.1: Bug Fixes - Fix nested usage of debugging plugin (pdb), e.g. with pytester's testdir.runpytest. - Block the stepwise plugin if cacheprovider is also blocked, as one depends on \ the other. - Parse minversion as an actual version and not as dot-separated strings. - Fix duplicate collection due to multiple args matching the same packages. - Fix item.nodeid with resolved symlinks. - Fix collection of direct symlinked files, where the target does not match \ python_files. - Fix TypeError in report_collect with _collect_report_last_write. Trivial/Internal Changes - Replace byte/unicode helpers in test_capture with python level syntax. |
2018-11-05 09:36:25 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-test: updated to 3.10.0 pytest 3.10.0: Features * Resume capturing output after continue with \ __import__("pdb").set_trace(). This also adds a new pytest_leave_pdb hook, and passes in pdb to the existing \ pytest_enter_pdb hook. * Add -sw, --stepwise as an alternative to --lf -x for stopping at the first \ failure, but starting the next test invocation from that test. See the \ documentation for more info. * Make --color emit colorful dots when not running in verbose mode. Earlier, it \ would only colorize the test-by-test output if --verbose was also passed. * Improve performance with collection reporting in non-quiet mode with terminals. The “collecting …” message is only printed/updated every 0.5s. Bug Fixes * Fix false RemovedInPytest4Warning: usage of Session... is deprecated, please \ use pytest warnings. * Fix problems with running tests in package __init__.py files. * Swallow warnings during anonymous compilation of source. * Fix access denied error when deleting stale directories created by tmpdir / \ tmp_path. * Naming a fixture request will now raise a warning: the request fixture is \ internal and should not be overwritten as it will lead to internal errors. * Handle (ignore) exceptions raised during collection, e.g. with Django’s \ LazySettings proxy class. Improved Documentation * Added missing documentation about the fact that module names passed to filter \ warnings are not regex-escaped. Trivial/Internal Changes * Display cachedir also in non-verbose mode if non-default. * pdb: improve message about output capturing with set_trace. Do not display “IO-capturing turned off/on” when -s is used to avoid confusion. * Improve message and stack level of warnings issued by monkeypatch.setenv when \ the value of the environment variable is not a str. |
2018-10-29 09:25:08 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-test: updated to 3.9.3 pytest 3.9.3: Bug Fixes * Fix “ValueError: Plugin already registered” with conftest plugins via symlink. * Handle race condition between creation and deletion of temporary folders. * Fix bug where the warning summary at the end of the test session was not \ showing the test where the warning was originated. * Fix regression when stacklevel for warnings was passed as positional argument \ on python2. Improved Documentation * Add reference to empty_parameter_set_mark ini option in documentation of \ @pytest.mark.parametrize Trivial/Internal Changes * Revert patching of sys.breakpointhook since it appears to do nothing. * Apply an import sorter (reorder-python-imports) to the codebase. * Remove use of unnecessary compat shim, six.binary_type |
2018-10-23 08:34:00 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-test: updated to 3.9.2 pytest 3.9.2: Bug Fixes * Improve error message when a recursive dependency between fixtures is detected. * Fix logging messages not shown in hooks pytest_sessionstart() and \ pytest_sessionfinish(). * Fix unescaped XML raw objects in JUnit report for skipped tests * Python 2: safely format warning message about passing unicode strings to \ warnings.warn, which may cause surprising MemoryError exception when monkey \ patching warnings.warn itself. * Improve error message when it is not possible to determine a function’s \ signature. * Pin setuptools>=40.0 to support py_modules in setup.cfg * Restore the tmpdir behaviour of symlinking the current test run. * Fix filename reported by warnings.warn when using recwarn under python2. |
2018-10-18 12:11:25 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-test: updated to 3.9.1 pytest 3.9.1: Features - For test-suites containing test classes, the information about the subclassed \ module is now output only if a higher verbosity level is specified (at least \ “-vv”). pytest 3.9.0: Deprecations - The following accesses have been documented as deprecated for years, but are \ now actually emitting deprecation warnings. Access of Module, Function, Class, Instance, File and Item through Node \ instances. Now users will this warning: usage of Function.Module is deprecated, please use pytest.Module instead Users should just import pytest and access those objects using the pytest module. request.cached_setup, this was the precursor of the setup/teardown mechanism \ available to fixtures. You can consult funcarg comparison section in the docs. Using objects named "Class" as a way to customize the type of nodes \ that are collected in Collector subclasses has been deprecated. Users instead \ should use pytest_collect_make_item to customize node types during collection. This issue should affect only advanced plugins who create new collection types, \ so if you see this warning message please contact the authors so they can change \ the code. The warning that produces the message below has changed to RemovedInPytest4Warning: getfuncargvalue is deprecated, use getfixturevalue - Add a Deprecation warning for pytest.ensuretemp as it was deprecated since a while. Features - Improve usage errors messages by hiding internal details which can be \ distracting and noisy. This has the side effect that some error conditions that previously raised \ generic errors (such as ValueError for unregistered marks) are now raising \ Failed exceptions. - Improve the error displayed when a conftest.py file could not be imported. In order to implement this, a new chain parameter was added to \ ExceptionInfo.getrepr to show or hide chained tracebacks in Python 3 (defaults \ to True). - Add empty_parameter_set_mark=fail_at_collect ini option for raising an \ exception when parametrize collects an empty set. - Log messages generated in the collection phase are shown when live-logging is \ enabled and/or when they are logged to a file. - Introduce tmp_path as a fixture providing a Path object. - Deprecation warnings are now shown even if you customize the warnings filters \ yourself. In the previous version any customization would override pytest’s \ filters and deprecation warnings would fall back to being hidden by default. - Allow specification of timeout for Testdir.runpytest_subprocess() and \ Testdir.run(). - Add returncode argument to pytest.exit() to exit pytest with a specific return \ code. - Reimplement pytest.deprecated_call using pytest.warns so it supports the \ match='...' keyword argument. This has the side effect that pytest.deprecated_call now raises \ pytest.fail.Exception instead of AssertionError. - Require setuptools>=30.3 and move most of the metadata to setup.cfg. Bug Fixes - Improve error message when test functions of unittest.TestCase subclasses use \ a parametrized fixture. - request.fixturenames now correctly returns the name of fixtures created by \ request.getfixturevalue(). - Warning filters passed as command line options using -W now take precedence \ over filters defined in ini configuration files. - Fix source reindenting by using textwrap.dedent directly. - pytest.warn will capture previously-warned warnings in Python 2. Previously \ they were never raised. - Resolve symbolic links for args. This fixes running pytest tests/test_foo.py::test_bar, where tests is a symlink \ to project/app/tests: previously project/app/conftest.py would be ignored for \ fixtures then. - Fix duplicate printing of internal errors when using --pdb. - pathlib based tmpdir cleanup now correctly handles symlinks in the folder. - Display the filename when encountering SyntaxWarning. Improved Documentation - Update usefixtures documentation to clarify that it can’t be used with \ fixture functions. - Update fixture documentation to specify that a fixture can be invoked twice in \ the scope it’s defined for. - According to unittest.rst, setUpModule and tearDownModule were not \ implemented, but it turns out they are. So updated the documentation for \ unittest. - Add tempir testing example to CONTRIBUTING.rst guide Trivial/Internal Changes - The internal MarkerError exception has been removed. - Port the implementation of tmpdir to pathlib. - Exclude 0.00 second entries from --duration output unless -vv is passed on the \ command-line. - Fixed formatting of string literals in internal tests. |
2018-10-03 11:58:11 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-test: updated to 3.8.2 pytest 3.8.2: Deprecations and Removals * The item parameter of pytest_warning_captured hook is now documented as \ deprecated. We realized only after the 3.8 release that this parameter is \ incompatible with pytest-xdist. Our policy is to not deprecate features during bugfix releases, but in this case \ we 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. In a future release item will always be None and will emit a proper warning when \ a hook implementation makes use of it. Bug Fixes * Fix reload on assertion rewritten modules. * The .user_properties attribute of TestReport objects is a list of (name, \ value) tuples, but could sometimes be instantiated as a tuple of tuples. It is \ now always a list. * No longer issue warnings about using pytest_plugins in non-top-level \ directories when using --pyargs: the current --pyargs mechanism is not reliable \ and might give false negatives. * Exclude empty reports for passed tests when -rP option is used. * Improve error message when an invalid Python expression is passed to the -m option. * MonkeyPatch.setenv and MonkeyPatch.delenv issue a warning if the environment \ variable name is not str on Python 2. In Python 2, adding unicode keys to os.environ causes problems with subprocess \ (and possible other modules), making this a subtle bug specially susceptible \ when used with from __future__ import unicode_literals. Improved Documentation * Add possible values for fixture scope to docs. |
2018-09-24 10:06:29 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-test: updated to 3.8.1 pytest 3.8.1: Bug Fixes * .pytest_cache directory is now automatically ignored by Git. Users who would \ like to contribute a solution for other SCMs please consult/comment on this \ issue. * Fix the following error during collection of tests inside packages: TypeError: object of type 'Package' has no len() * Fix bug where indirect parametrization would consider the scope of all \ fixtures used by the test function to determine the parametrization scope, and \ not only the scope of the fixtures being parametrized. * Fix crash of the assertion rewriter if a test changed the current working \ directory without restoring it afterwards. * Fix issue that prevented some caplog properties (for example record_tuples) \ from being available when entering the debugger with --pdb. * Fix UnicodeDecodeError in python2.x when a class returns a non-ascii binary \ __repr__ in an assertion which also contains non-ascii text. Improved Documentation * New Deprecations and Removals page shows all currently deprecated features, \ the rationale to do so, and alternatives to update your code. It also list \ features removed from pytest in past major releases to help those with ancient \ pytest versions to upgrade. Trivial/Internal Changes * Improve pre-commit detection for changelog filenames * Remove legacy code around im_func as that was python2 only |
2018-09-07 10:55:43 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-test: updated to 3.8.0 pytest 3.8.0: Deprecations and Removals - Config.warn has been deprecated, it should be replaced by calls to the \ standard warnings.warn. Node.warn now supports two signatures: * node.warn(PytestWarning("some message")): is now the recommended \ way to call this function. The warning instance must be a PytestWarning or subclass instance. * node.warn("CI", "some message"): this code/message form \ is now deprecated and should be converted to the warning instance form above. RemovedInPytest4Warning and PytestExperimentalApiWarning are now part of the \ public API and should be accessed using pytest.RemovedInPytest4Warning and pytest.PytestExperimentalApiWarning. - @pytest.mark.filterwarnings second parameter is no longer regex-escaped, making it possible to actually use regular expressions to check the warning \ message. **Note**: regex-escaping the match string was an implementation oversight that \ might break test suites which depend on the old behavior. Features - Internal pytest warnings are now issued using the standard warnings module, \ making it possible to use the standard warnings filters to manage those warnings. This introduces \ PytestWarning, PytestDeprecationWarning and RemovedInPytest4Warning warning types as part of \ the public API. - DeprecationWarning and PendingDeprecationWarning are now shown by default if \ no other warning filter is configured. - Add option to disable plugin auto-loading. - Added the count option to console_output_style to enable displaying the \ progress as a count instead of a percentage. - Added support for 'xfailed' and 'xpassed' outcomes to the \ pytester.RunResult.assert_outcomes signature. - Terminal writer now takes into account unicode character width when writing \ out progress. - Pytest now returns with correct exit code (EXIT_USAGEERROR, 4) when called \ with unknown arguments. - Improve performance of assertion rewriting. - Added a blurb in usage.rst for the usage of -r flag which is used to show an \ extra test summary info. - Corrected type of the exceptions collection passed to xfail: raises argument \ accepts a tuple instead of list. Trivial/Internal Changes - Removed "run all (no recorded failures)" message printed with \ --failed-first and --last-failed when there are no failed tests. |
2018-08-30 12:04:44 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-test: updated to 3.7.4 pytest 3.7.4: Bug Fixes - Fix possible infinite recursion when writing .pyc files. - Cache plugin now obeys the -q flag when --last-failed and --failed-first flags \ are used. - Fix bad console output when using console_output_style=classic. - Fix macOS specific code using capturemanager plugin in doctests. |