Skip to content
This repository has been archived by the owner on Feb 11, 2019. It is now read-only.

Initial Update #8

Merged
merged 5 commits into from
Dec 8, 2017
Merged

Initial Update #8

merged 5 commits into from
Dec 8, 2017

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Dec 8, 2017

This is my first visit to this fine repo so I have bundled all updates in a single pull request to make things easier for you to merge.

Close this pull request and delete the branch if you want me to start with single pull requests right away

Here's the executive summary:

Updates

Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.

coverage 4.4.1 » 4.4.2 PyPI | Changelog | Repo
pluggy 0.5.2 » 0.6.0 PyPI | Changelog | Repo
py 1.4.34 » 1.5.2 PyPI | Changelog | Repo | Docs
pytest 3.2.3 » 3.3.1 PyPI | Changelog | Repo | Homepage
yapf 0.19.0 » 0.20.0 PyPI | Changelog

Changelogs

coverage 4.4.1 -> 4.4.2

4.4.2


  • Support for Python 3.7. In some cases, class and module docstrings are no
    longer counted in statement totals, which could slightly change your total
    results.
  • Specifying both --source and --include no longer silently ignores the
    include setting, instead it displays a warning. Thanks, Loïc Dachary. Closes
    issue 265_ and issue 101_.
  • Fixed a race condition when saving data and multiple threads are tracing
    (issue 581_). It could produce a "dictionary changed size during iteration"
    RuntimeError. I believe this mostly but not entirely fixes the race
    condition. A true fix would likely be too expensive. Thanks, Peter Baughman
    for the debugging, and Olivier Grisel for the fix with tests.
  • Configuration values which are file paths will now apply tilde-expansion,
    closing issue 589_.
  • Now secondary config files like tox.ini and setup.cfg can be specified
    explicitly, and prefixed sections like [coverage:run] will be read. Fixes
    issue 588_.
  • Be more flexible about the command name displayed by help, fixing
    issue 600_. Thanks, Ben Finney.

.. _issue 101: https://bitbucket.org/ned/coveragepy/issues/101/settings-under-report-affect-running
.. _issue 581: https://bitbucket.org/ned/coveragepy/issues/581/race-condition-when-saving-data-under
.. _issue 588: https://bitbucket.org/ned/coveragepy/issues/588/using-rcfile-path-to-toxini-uses-run
.. _issue 589: https://bitbucket.org/ned/coveragepy/issues/589/allow-expansion-in-coveragerc
.. _issue 600: https://bitbucket.org/ned/coveragepy/issues/600/get-program-name-from-command-line-when

.. _changes_441:

pluggy 0.5.2 -> 0.6.0

0.6.0


  • Add CI testing for the features, release, and master
    branches of pytest (PR 79_).
  • Document public API for _Result objects passed to wrappers
    (PR 85_).
  • Document and test hook LIFO ordering (PR 85_).
  • Turn warnings into errors in test suite (PR 89_).
  • Deprecate _Result.result (PR 88_).
  • Convert _Multicall to a simple function distinguishing it from
    the legacy version (PR 90_).
  • Resolve E741 errors (PR 96_).
  • Test and bug fix for unmarked hook collection (PRs 97_ and
    102_).
  • Drop support for EOL Python 2.6 and 3.3 (PR 103_).
  • Fix inspect based arg introspection on py3.6 (PR 94_).

.. _79: pytest-dev/pluggy#79
.. _85: pytest-dev/pluggy#85
.. _88: pytest-dev/pluggy#88
.. _89: pytest-dev/pluggy#89
.. _90: pytest-dev/pluggy#90
.. _94: pytest-dev/pluggy#94
.. _96: pytest-dev/pluggy#96
.. _97: pytest-dev/pluggy#97
.. _102: pytest-dev/pluggy#102
.. _103: pytest-dev/pluggy#103

py 1.4.34 -> 1.5.2

1.5.2

=====

  • fix 169, 170: error importing py.log on Windows: no module named syslog.

1.5.1

=====

  • fix 167 - prevent pip from installing py in unsupported Python versions.

1.5.0

=====

NOTE: this release has been removed from PyPI due to missing package
metadata which caused a number of problems to py26 and py33 users.
This issue was fixed in the 1.5.1 release.

  • python 2.6 and 3.3 are no longer supported
  • deprecate py.std and remove all internal uses
  • fix 73 turn py.error into an actual module
  • path join to / no longer produces leading double slashes
  • fix 82 - remove unsupportable aliases
  • fix python37 compatibility of path.sysfind on windows by correctly replacing vars
  • turn iniconfig and apipkg into vendored packages and ease de-vendoring for distributions
  • fix 68 remove invalid py.test.ensuretemp references
  • fix 25 - deprecate path.listdir(sort=callable)
  • add TerminalWriter.chars_on_current_line read-only property that tracks how many characters
    have been written to the current line.

pytest 3.2.3 -> 3.3.1

3.3.1

=========================

Bug Fixes

  • Fix issue about -p no:<plugin> having no effect. (2920 <https://github.com/pytest-dev/pytest/issues/2920>_)
  • Fix regression with warnings that contained non-strings in their arguments in
    Python 2. (2956 <https://github.com/pytest-dev/pytest/issues/2956>_)
  • Always escape null bytes when setting PYTEST_CURRENT_TEST. (2957 <https://github.com/pytest-dev/pytest/issues/2957>_)
  • Fix ZeroDivisionError when using the testmon plugin when no tests
    were actually collected. (2971 <https://github.com/pytest-dev/pytest/issues/2971>_)
  • Bring back TerminalReporter.writer as an alias to
    TerminalReporter._tw. This alias was removed by accident in the 3.3.0
    release. (2984 <https://github.com/pytest-dev/pytest/issues/2984>_)
  • The pytest-capturelog plugin is now also blacklisted, avoiding errors when
    running pytest with it still installed. (3004 <https://github.com/pytest-dev/pytest/issues/3004>_)

Improved Documentation

  • Fix broken link to plugin pytest-localserver. (2963 <https://github.com/pytest-dev/pytest/issues/2963>_)

Trivial/Internal Changes

  • Update github "bugs" link in CONTRIBUTING.rst (2949 <https://github.com/pytest-dev/pytest/issues/2949>_)

3.3.0

=========================

Deprecations and Removals

  • Pytest no longer supports Python 2.6 and 3.3. Those Python versions
    are EOL for some time now and incur maintenance and compatibility costs on
    the pytest core team, and following up with the rest of the community we
    decided that they will no longer be supported starting on this version. Users
    which still require those versions should pin pytest to <3.3. (2812 <https://github.com/pytest-dev/pytest/issues/2812>_)
  • Remove internal _preloadplugins() function. This removal is part of the
    pytest_namespace() hook deprecation. (2636 <https://github.com/pytest-dev/pytest/issues/2636>_)
  • Internally change CallSpec2 to have a list of marks instead of a broken
    mapping of keywords. This removes the keywords attribute of the internal
    CallSpec2 class. (2672 <https://github.com/pytest-dev/pytest/issues/2672>_)
  • Remove ParameterSet.deprecated_arg_dict - its not a public api and the lack
    of the underscore was a naming error. (2675 <https://github.com/pytest-dev/pytest/issues/2675>_)
  • Remove the internal multi-typed attribute Node._evalskip and replace it
    with the boolean Node._skipped_by_mark. (2767 <https://github.com/pytest-dev/pytest/issues/2767>_)
  • The params list passed to pytest.fixture is now for
    all effects considered immutable and frozen at the moment of the pytest.fixture
    call. Previously the list could be changed before the first invocation of the fixture
    allowing for a form of dynamic parametrization (for example, updated from command-line options),
    but this was an unwanted implementation detail which complicated the internals and prevented
    some internal cleanup. See issue 2959 <https://github.com/pytest-dev/pytest/issues/2959>_
    for details and a recommended workaround.

Features

  • pytest_fixture_post_finalizer hook can now receive a request
    argument. (2124 <https://github.com/pytest-dev/pytest/issues/2124>_)
  • Replace the old introspection code in compat.py that determines the available
    arguments of fixtures with inspect.signature on Python 3 and
    funcsigs.signature on Python 2. This should respect __signature__
    declarations on functions. (2267 <https://github.com/pytest-dev/pytest/issues/2267>_)
  • Report tests with global pytestmark variable only once. (2549 <https://github.com/pytest-dev/pytest/issues/2549>_)
  • Now pytest displays the total progress percentage while running tests. The
    previous output style can be set by configuring the console_output_style
    setting to classic. (2657 <https://github.com/pytest-dev/pytest/issues/2657>_)
  • Match warns signature to raises by adding match keyword. (2708 <https://github.com/pytest-dev/pytest/issues/2708>_)
  • Pytest now captures and displays output from the standard logging module.
    The user can control the logging level to be captured by specifying options
    in pytest.ini, the command line and also during individual tests using
    markers. Also, a caplog fixture is available that enables users to test
    the captured log during specific tests (similar to capsys for example).
    For more information, please see the logging docs <https://docs.pytest.org/en/latest/logging.html>. This feature was
    introduced by merging the popular pytest-catchlog <https://pypi.org/project/pytest-catchlog/>
    plugin, thanks to Thomas Hisch <https://github.com/thisch>. Be advised that during the merging the
    backward compatibility interface with the defunct pytest-capturelog has
    been dropped. (2794 <https://github.com/pytest-dev/pytest/issues/2794>
    )
  • Add allow_module_level kwarg to pytest.skip(), enabling to skip the
    whole module. (2808 <https://github.com/pytest-dev/pytest/issues/2808>_)
  • Allow setting file_or_dir, -c, and -o in PYTEST_ADDOPTS. (2824 <https://github.com/pytest-dev/pytest/issues/2824>_)
  • Return stdout/stderr capture results as a namedtuple, so out and
    err can be accessed by attribute. (2879 <https://github.com/pytest-dev/pytest/issues/2879>_)
  • Add capfdbinary, a version of capfd which returns bytes from
    readouterr(). (2923 <https://github.com/pytest-dev/pytest/issues/2923>_)
  • Add capsysbinary a version of capsys which returns bytes from
    readouterr(). (2934 <https://github.com/pytest-dev/pytest/issues/2934>_)
  • Implement feature to skip setup.py files when run with
    --doctest-modules. (502 <https://github.com/pytest-dev/pytest/issues/502>_)

Bug Fixes

  • Resume output capturing after capsys/capfd.disabled() context manager.
    (1993 <https://github.com/pytest-dev/pytest/issues/1993>_)
  • pytest_fixture_setup and pytest_fixture_post_finalizer hooks are now
    called for all conftest.py files. (2124 <https://github.com/pytest-dev/pytest/issues/2124>_)
  • If an exception happens while loading a plugin, pytest no longer hides the
    original traceback. In python2 it will show the original traceback with a new
    message that explains in which plugin. In python3 it will show 2 canonized
    exceptions, the original exception while loading the plugin in addition to an
    exception that PyTest throws about loading a plugin. (2491 <https://github.com/pytest-dev/pytest/issues/2491>_)
  • capsys and capfd can now be used by other fixtures. (2709 <https://github.com/pytest-dev/pytest/issues/2709>_)
  • Internal pytester plugin properly encodes bytes arguments to
    utf-8. (2738 <https://github.com/pytest-dev/pytest/issues/2738>_)
  • testdir now uses use the same method used by tmpdir to create its
    temporary directory. This changes the final structure of the testdir
    directory slightly, but should not affect usage in normal scenarios and
    avoids a number of potential problems. (2751 <https://github.com/pytest-dev/pytest/issues/2751>_)
  • Pytest no longer complains about warnings with unicode messages being
    non-ascii compatible even for ascii-compatible messages. As a result of this,
    warnings with unicode messages are converted first to an ascii representation
    for safety. (2809 <https://github.com/pytest-dev/pytest/issues/2809>_)
  • Change return value of pytest command when --maxfail is reached from
    2 (interrupted) to 1 (failed). (2845 <https://github.com/pytest-dev/pytest/issues/2845>_)
  • Fix issue in assertion rewriting which could lead it to rewrite modules which
    should not be rewritten. (2939 <https://github.com/pytest-dev/pytest/issues/2939>_)
  • Handle marks without description in pytest.ini. (2942 <https://github.com/pytest-dev/pytest/issues/2942>_)

Trivial/Internal Changes

  • pytest now depends on attrs <https://pypi.org/project/attrs/>_ for internal
    structures to ease code maintainability. (2641 <https://github.com/pytest-dev/pytest/issues/2641>_)
  • Refactored internal Python 2/3 compatibility code to use six. (2642 <https://github.com/pytest-dev/pytest/issues/2642>_)
  • Stop vendoring pluggy - we're missing out on its latest changes for not
    much benefit (2719 <https://github.com/pytest-dev/pytest/issues/2719>_)
  • Internal refactor: simplify ascii string escaping by using the
    backslashreplace error handler in newer Python 3 versions. (2734 <https://github.com/pytest-dev/pytest/issues/2734>_)
  • Remove unnecessary mark evaluator in unittest plugin (2767 <https://github.com/pytest-dev/pytest/issues/2767>_)
  • Calls to Metafunc.addcall now emit a deprecation warning. This function
    is scheduled to be removed in pytest-4.0. (2876 <https://github.com/pytest-dev/pytest/issues/2876>_)
  • Internal move of the parameterset extraction to a more maintainable place.
    (2877 <https://github.com/pytest-dev/pytest/issues/2877>_)
  • Internal refactoring to simplify scope node lookup. (2910 <https://github.com/pytest-dev/pytest/issues/2910>_)
  • Configure pytest to prevent pip from installing pytest in unsupported
    Python versions. (2922 <https://github.com/pytest-dev/pytest/issues/2922>_)

3.2.5

=========================

Bug Fixes

  • Remove py<1.5 restriction from pytest as this can cause version
    conflicts in some installations. (2926 <https://github.com/pytest-dev/pytest/issues/2926>_)

3.2.4

=========================

Bug Fixes

  • Fix the bug where running with --pyargs will result in items with
    empty parent.nodeid if run from a different root directory. (2775 <https://github.com/pytest-dev/pytest/issues/2775>_)
  • Fix issue with pytest.parametrize if argnames was specified as keyword arguments.
    (2819 <https://github.com/pytest-dev/pytest/issues/2819>_)
  • Strip whitespace from marker names when reading them from INI config. (2856 <https://github.com/pytest-dev/pytest/issues/2856>_)
  • Show full context of doctest source in the pytest output, if the line number of
    failed example in the docstring is < 9. (2882 &lt;https://github.com/pytest-dev/pytest/issues/2882&gt;_)
  • Match fixture paths against actual path segments in order to avoid matching folders which share a prefix.
    (2836 &lt;https://github.com/pytest-dev/pytest/issues/2836&gt;_)

Improved Documentation

  • Introduce a dedicated section about conftest.py. (1505 &lt;https://github.com/pytest-dev/pytest/issues/1505&gt;_)
  • Explicitly mention xpass in the documentation of xfail. (1997 &lt;https://github.com/pytest-dev/pytest/issues/1997&gt;_)
  • Append example for pytest.param in the example/parametrize document. (2658 &lt;https://github.com/pytest-dev/pytest/issues/2658&gt;_)
  • Clarify language of proposal for fixtures parameters (2893 &lt;https://github.com/pytest-dev/pytest/issues/2893&gt;_)
  • List python 3.6 in the documented supported versions in the getting started
    document. (2903 &lt;https://github.com/pytest-dev/pytest/issues/2903&gt;_)
  • Clarify the documentation of available fixture scopes. (538 &lt;https://github.com/pytest-dev/pytest/issues/538&gt;_)
  • Add documentation about the python -m pytest invocation adding the
    current directory to sys.path. (911 &lt;https://github.com/pytest-dev/pytest/issues/911&gt;_)

yapf 0.19.0 -> 0.20.0

0.20.0

Added

  • Improve splitting of comprehensions and generators. Add
    SPLIT_PENALTY_COMPREHENSION knob to control preference for keeping
    comprehensions on a single line and SPLIT_COMPLEX_COMPREHENSION to enable
    splitting each clause of complex comprehensions onto its own line.
    Changed
  • Take into account a named function argument when determining if we should
    split before the first argument in a function call.
  • Split before the first argument in a function call if the arguments contain a
    dictionary that doesn't fit on a single line.
  • Improve splitting of elements in a tuple. We want to split if there's a
    function call in the tuple that doesn't fit on the line.
    Fixed
  • Enforce spaces between ellipses and keywords.
  • When calculating the split penalty for a "trailer", process the child nodes
    afterwards because their penalties may change. For example if a list
    comprehension is an argument.
  • Don't enforce a split before a comment after the opening of a container if it
    doesn't it on the current line. We try hard not to move such comments around.
  • Use a TextIOWrapper when reading from stdin in Python3. This is necessary for
    some encodings, like cp936, used on Windows.
  • Remove the penalty for a split before the first argument in a function call
    where the only argument is a generator expression.

Once you have closed this pull request, I'll create separate pull requests for every update as soon as I find them.

That's it for now!

Happy merging! 🤖

@anapaulagomes anapaulagomes merged commit c051c50 into master Dec 8, 2017
@anapaulagomes anapaulagomes deleted the pyup-initial-update branch December 8, 2017 20:58
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants