Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps passed to pip are not de-factorized #706

Closed
blueyed opened this issue Dec 9, 2017 · 11 comments · Fixed by #772
Closed

deps passed to pip are not de-factorized #706

blueyed opened this issue Dec 9, 2017 · 11 comments · Fixed by #772
Assignees
Labels
bug:normal affects many people or has quite an impact
Milestone

Comments

@blueyed
Copy link

blueyed commented Dec 9, 2017

Given this tox.ini:

[testenv]
deps =
  foo
  coverage: coverage

[testenv:sub]
deps =
  {[testenv]deps}

Running tox -e sub results in:

sub create: /tmp/t1/.tox/sub
sub installdeps: foo, coverage: coverage
ERROR: invocation failed (exit code 1), logfile: /tmp/t1/.tox/sub/log/sub-1.log
ERROR: actionid: sub
msg: getenv
cmdargs: ['/tmp/t1/.tox/sub/bin/pip', 'install', 'foo', 'coverage: coverage']

Invalid requirement: 'coverage: coverage'
Traceback (most recent call last):
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/packaging/requirements.py", line 92, in __init__
    req = REQUIREMENT.parseString(requirement_string)
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 1617, in parseString
    raise exc
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 1607, in parseString
    loc, tokens = self._parse( instring, 0 )
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 1379, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 3376, in parseImpl
    loc, exprtokens = e._parse( instring, loc, doActions )
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 1383, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 3164, in parseImpl
    raise ParseException(instring, loc, self.errmsg, self)
pip._vendor.pyparsing.ParseException: Expected stringEnd (at char 8), (line:1, col:9)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/req/req_install.py", line 82, in __init__
    req = Requirement(req)
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/packaging/requirements.py", line 96, in __init__
    requirement_string[e.loc:e.loc + 8]))
pip._vendor.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "': covera'"


ERROR: could not install deps [foo, coverage: coverage]; v = InvocationError('/tmp/t1/.tox/sub/bin/pip install foo coverage: coverage (see /tmp/t1/.tox/sub/log/sub-1.log)', 1)
__________________________________________ summary __________________________________________
ERROR:   sub: could not install deps [foo, coverage: coverage]; v = InvocationError('/tmp/t1/.tox/sub/bin/pip install foo coverage: coverage (see /tmp/t1/.tox/sub/log/sub-1.log)', 1)

tox 2.9.2.dev35 (current master).

  1. it should only install 'coverage' and not 'coverage: coverage'
  2. it should only install it for when the "coverage" factor is used.
@gaborbernat gaborbernat self-assigned this Dec 12, 2017
@gaborbernat gaborbernat added the bug:critical 😱 bad, bad thing (e.g. security or can cause data loss). Should be fixed as soon as possible label Dec 12, 2017
@gaborbernat gaborbernat added this to the 2.10.0 milestone Dec 12, 2017
@asottile
Copy link
Contributor

I agree this should be implemented. @gaborbernat did this used to work? otherwise I think it's more of a feature request than a "critical bug" :)

bartsanchez added a commit to bartsanchez/tox that referenced this issue Mar 2, 2018
tox-dev#706

By performing dependencies replacement before applying factors,
since previously this function was being incorrectly called with
unrolled dependencies.
@bartsanchez
Copy link

Hello, I've had some free time and I've prepared a PR. Hope it helps.

gaborbernat pushed a commit that referenced this issue Mar 13, 2018
#706

By performing dependencies replacement before applying factors,
since previously this function was being incorrectly called with
unrolled dependencies.
@obestwalter obestwalter removed this from the 2.10.0 milestone Apr 2, 2018
@obestwalter obestwalter added bug:normal affects many people or has quite an impact and removed bug:critical 😱 bad, bad thing (e.g. security or can cause data loss). Should be fixed as soon as possible labels Apr 2, 2018
sfdye referenced this issue in cookiecutter/cookiecutter-django Jul 10, 2018
This PR updates [tox](https://pypi.org/project/tox) from **3.0.0** to **3.1.1**.



<details>
  <summary>Changelog</summary>
  
  
   ### 3.1.0
   ```
   ------------------

Bugfixes
^^^^^^^^

- Add ``ignore_basepython_conflict``, which determines whether conflicting
  ``basepython`` settings for environments containing default factors, such as
  ``py27`` or ``django18-py35``, should be ignored or result in warnings. This
  was a common source of misconfiguration and is rarely, if ever, desirable from
  a user perspective - by :user:`stephenfin` (`477 &lt;https://github.com/tox-dev/tox/issues/477&gt;`_)
- Fix bug with incorrectly defactorized dependencies (deps passed to pip were not de-factorized) - by :user:`bartsanchez` (`706 &lt;https://github.com/tox-dev/tox/issues/706&gt;`_)


Features
^^^^^^^^

- Add support for multiple PyPy versions using default factors. This allows you
  to use, for example, ``pypy27`` knowing that the correct intepreter will be
  used by default - by :user:`stephenfin` (`19 &lt;https://github.com/tox-dev/tox/issues/19&gt;`_)
- Add support to explicitly invoke interpreter directives for environments with
  long path lengths. In the event that ``tox`` cannot invoke scripts with a
  system-limited shebang (e.x. a Linux host running a Jenkins Pipeline), a user
  can set the environment variable ``TOX_LIMITED_SHEBANG`` to workaround the
  system&#39;s limitation (e.x. ``export TOX_LIMITED_SHEBANG=1``) - by :user:`jdknight` (`794 &lt;https://github.com/tox-dev/tox/issues/794&gt;`_)
- introduce a constants module to be used internally and as experimental API - by :user:`obestwalter` (`798 &lt;https://github.com/tox-dev/tox/issues/798&gt;`_)
- Make ``py2`` and ``py3`` aliases also resolve via ``py`` on windows by :user:`asottile`. This enables the following things:
  ``tox -e py2`` and ``tox -e py3`` work on windows (they already work on posix); and setting ``basepython=python2`` or ``basepython=python3`` now works on windows. (`856 &lt;https://github.com/tox-dev/tox/issues/856&gt;`_)
- Replace the internal version parsing logic from the not well tested `PEP-386 &lt;https://www.python.org/dev/peps/pep-0386/&gt;`_ parser for the more general `PEP-440 &lt;https://www.python.org/dev/peps/pep-0440/&gt;`_. `packaging &gt;= 17.1 &lt;https://pypi.org/project/packaging/&gt;`_ is now an install dependency by :user:`gaborbernat`. (`860 &lt;https://github.com/tox-dev/tox/issues/860&gt;`_)


Documentation
^^^^^^^^^^^^^

- extend the plugin documentation and make lot of small fixes and improvements - by :user:`obestwalter` (`797 &lt;https://github.com/tox-dev/tox/issues/797&gt;`_)
- tidy up tests - remove unused fixtures, update old cinstructs, etc. - by :user:`obestwalter` (`799 &lt;https://github.com/tox-dev/tox/issues/799&gt;`_)
- Various improvements to documentation: open browser once documentation generation is done, show Github/Travis info on documentation page, remove duplicate header for changelog, generate unreleased news as DRAFT on top of changelog, make the changelog page more compact and readable (width up to 1280px) by :user:`gaborbernat` (`859 &lt;https://github.com/tox-dev/tox/issues/859&gt;`_)


Miscellaneous
^^^^^^^^^^^^^

- filter out unwanted files in package - by :user:`obestwalter` (`754 &lt;https://github.com/tox-dev/tox/issues/754&gt;`_)
- make the already existing implicit API explicit - by :user:`obestwalter` (`800 &lt;https://github.com/tox-dev/tox/issues/800&gt;`_)
- improve tox quickstart and corresponding tests - by :user:`obestwalter` (`801 &lt;https://github.com/tox-dev/tox/issues/801&gt;`_)
- tweak codecov settings via .codecov.yml - by :user:`obestwalter` (`802 &lt;https://github.com/tox-dev/tox/issues/802&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/tox
  - Changelog: https://pyup.io/changelogs/tox/
  - Docs: https://tox.readthedocs.org/
</details>
@obestwalter
Copy link
Member

obestwalter commented Jul 12, 2018

Sorry, we had a regression in 3.1 with the fix, so I reverted it.

On the plus side, there is an xfailing reproducer for this bug now. Another attempt of fixing this would need to take into account configurations like encountered in #899 and #906.

Reopening this then.

@obestwalter obestwalter reopened this Jul 12, 2018
@blueyed
Copy link
Author

blueyed commented Jul 12, 2018

Thanks for handling this, @obestwalter !

Link to the revert for reference: b1e526d

Hopefully @bartsanchez finds some time again to give it a second shot.. :)

sloria referenced this issue in sloria/doitlive Jul 15, 2018
This PR updates [tox](https://pypi.org/project/tox) from **3.0.0** to **3.1.2**.



<details>
  <summary>Changelog</summary>
  
  
   ### 3.1.1
   ```
   ------------------

Bugfixes
^^^^^^^^

- PyPi documentation for ``3.1.0`` is broken. Added test to check for this, and
  fix it by :user:`gaborbernat`. (`879
  &lt;https://github.com/tox-dev/tox/issues/879&gt;`_)
   ```
   
  
  
   ### 3.1.0
   ```
   ------------------

Bugfixes
^^^^^^^^

- Add ``ignore_basepython_conflict``, which determines whether conflicting
  ``basepython`` settings for environments containing default factors, such as
  ``py27`` or ``django18-py35``, should be ignored or result in warnings. This
  was a common source of misconfiguration and is rarely, if ever, desirable from
  a user perspective - by :user:`stephenfin` (`477 &lt;https://github.com/tox-dev/tox/issues/477&gt;`_)
- Fix bug with incorrectly defactorized dependencies (deps passed to pip were not de-factorized) - by :user:`bartsanchez` (`706 &lt;https://github.com/tox-dev/tox/issues/706&gt;`_)


Features
^^^^^^^^

- Add support for multiple PyPy versions using default factors. This allows you
  to use, for example, ``pypy27`` knowing that the correct intepreter will be
  used by default - by :user:`stephenfin` (`19 &lt;https://github.com/tox-dev/tox/issues/19&gt;`_)
- Add support to explicitly invoke interpreter directives for environments with
  long path lengths. In the event that ``tox`` cannot invoke scripts with a
  system-limited shebang (e.x. a Linux host running a Jenkins Pipeline), a user
  can set the environment variable ``TOX_LIMITED_SHEBANG`` to workaround the
  system&#39;s limitation (e.x. ``export TOX_LIMITED_SHEBANG=1``) - by :user:`jdknight` (`794 &lt;https://github.com/tox-dev/tox/issues/794&gt;`_)
- introduce a constants module to be used internally and as experimental API - by :user:`obestwalter` (`798 &lt;https://github.com/tox-dev/tox/issues/798&gt;`_)
- Make ``py2`` and ``py3`` aliases also resolve via ``py`` on windows by :user:`asottile`. This enables the following things:
  ``tox -e py2`` and ``tox -e py3`` work on windows (they already work on posix); and setting ``basepython=python2`` or ``basepython=python3`` now works on windows. (`856 &lt;https://github.com/tox-dev/tox/issues/856&gt;`_)
- Replace the internal version parsing logic from the not well tested `PEP-386 &lt;https://www.python.org/dev/peps/pep-0386/&gt;`_ parser for the more general `PEP-440 &lt;https://www.python.org/dev/peps/pep-0440/&gt;`_. `packaging &gt;= 17.1 &lt;https://pypi.org/project/packaging/&gt;`_ is now an install dependency by :user:`gaborbernat`. (`860 &lt;https://github.com/tox-dev/tox/issues/860&gt;`_)


Documentation
^^^^^^^^^^^^^

- extend the plugin documentation and make lot of small fixes and improvements - by :user:`obestwalter` (`797 &lt;https://github.com/tox-dev/tox/issues/797&gt;`_)
- tidy up tests - remove unused fixtures, update old cinstructs, etc. - by :user:`obestwalter` (`799 &lt;https://github.com/tox-dev/tox/issues/799&gt;`_)
- Various improvements to documentation: open browser once documentation generation is done, show Github/Travis info on documentation page, remove duplicate header for changelog, generate unreleased news as DRAFT on top of changelog, make the changelog page more compact and readable (width up to 1280px) by :user:`gaborbernat` (`859 &lt;https://github.com/tox-dev/tox/issues/859&gt;`_)


Miscellaneous
^^^^^^^^^^^^^

- filter out unwanted files in package - by :user:`obestwalter` (`754 &lt;https://github.com/tox-dev/tox/issues/754&gt;`_)
- make the already existing implicit API explicit - by :user:`obestwalter` (`800 &lt;https://github.com/tox-dev/tox/issues/800&gt;`_)
- improve tox quickstart and corresponding tests - by :user:`obestwalter` (`801 &lt;https://github.com/tox-dev/tox/issues/801&gt;`_)
- tweak codecov settings via .codecov.yml - by :user:`obestwalter` (`802 &lt;https://github.com/tox-dev/tox/issues/802&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/tox
  - Changelog: https://pyup.io/changelogs/tox/
  - Docs: https://tox.readthedocs.org/
</details>
DmytroLitvinov referenced this issue in DmytroLitvinov/kuna Aug 6, 2018



### Update [pip](https://pypi.org/project/pip) from **10.0.1** to **18.0**.


<details>
  <summary>Changelog</summary>
  
  
   ### 18.0
   ```
   =================

Process
-------

- Switch to a Calendar based versioning scheme.
- Formally document our deprecation process as a minimum of 6 months of deprecation
  warnings.
- Adopt and document NEWS fragment writing style.
- Switch to releasing a new, non bug fix version of pip every 3 months.

Deprecations and Removals
-------------------------

- Remove the legacy format from pip list. (3651, 3654)
- Dropped support for Python 3.3. (3796)
- Remove support for cleaning up egg fragment postfixes. (4174)
- Remove the shim for the old get-pip.py location. (5520)

  For the past 2 years, it&#39;s only been redirecting users to use the newer
  https://bootstrap.pypa.io/get-pip.py location.

Features
--------

- Introduce a new --prefer-binary flag, to prefer older wheels over newer source packages. (3785)
- Improve autocompletion function on file name completion after options
  which have ``&lt;file&gt;``, ``&lt;dir&gt;`` or ``&lt;path&gt;`` as metavar. (4842, 5125)
- Add support for installing PEP 518 build dependencies from source. (5229)
- Improve status message when upgrade is skipped due to only-if-needed strategy. (5319)

Bug Fixes
---------

- Update pip&#39;s self-check logic to not use a virtualenv specific file and honor cache-dir. (3905)
- Remove compiled pyo files for wheel packages. (4471)
- Speed up printing of newly installed package versions. (5127)
- Restrict install time dependency warnings to directly-dependant packages. (5196, 5457)

  Warning about the entire package set has resulted in users getting confused as
  to why pip is printing these warnings.
- Improve handling of PEP 518 build requirements: support environment markers and extras. (5230, 5265)
- Remove username/password from log message when using index with basic auth. (5249)
- Remove trailing os.sep from PATH directories to avoid false negatives. (5293)
- Fix &quot;pip wheel pip&quot; being blocked by the &quot;don&#39;t use pip to modify itself&quot; check. (5311, 5312)
- Disable pip&#39;s version check (and upgrade message) when installed by a different package manager. (5346)

  This works better with Linux distributions where pip&#39;s upgrade message may
  result in users running pip in a manner that modifies files that should be
  managed by the OS&#39;s package manager.
- Check for file existence and unlink first when clobbering existing files during a wheel install. (5366)
- Improve error message to be more specific when no files are found as listed in as listed in PKG-INFO. (5381)
- Always read ``pyproject.toml`` as UTF-8. This fixes Unicode handling on Windows and Python 2. (5482)
- Fix a crash that occurs when PATH not set, while generating script location warning. (5558)
- Disallow packages with ``pyproject.toml`` files that have an empty build-system table. (5627)

Vendored Libraries
------------------

- Update CacheControl to 0.12.5.
- Update certifi to 2018.4.16.
- Update distro to 1.3.0.
- Update idna to 2.7.
- Update ipaddress to 1.0.22.
- Update pkg_resources to 39.2.0 (via setuptools).
- Update progress to 1.4.
- Update pytoml to 0.1.16.
- Update requests to 2.19.1.
- Update urllib3 to 1.23.

Improved Documentation
----------------------

- Document how to use pip with a proxy server. (512, 5574)
- Document that the output of pip show is in RFC-compliant mail header format. (5261)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>





### Update [tox](https://pypi.org/project/tox) from **3.0.0** to **3.1.3**.


<details>
  <summary>Changelog</summary>
  
  
   ### 3.1.2
   ```
   ------------------

Bugfixes
^^^^^^^^

- Revert &quot;Fix bug with incorrectly defactorized dependencies (`772 &lt;https://github.com/tox-dev/tox/issues/772&gt;`_)&quot; due to a regression (`(799) &lt;https://github.com/tox-dev/tox/issues/899&gt;`_) - by :user:`obestwalter`
   ```
   
  
  
   ### 3.1.1
   ```
   ------------------

Bugfixes
^^^^^^^^

- PyPi documentation for ``3.1.0`` is broken. Added test to check for this, and
  fix it by :user:`gaborbernat`. (`879
  &lt;https://github.com/tox-dev/tox/issues/879&gt;`_)
   ```
   
  
  
   ### 3.1.0
   ```
   ------------------

Bugfixes
^^^^^^^^

- Add ``ignore_basepython_conflict``, which determines whether conflicting
  ``basepython`` settings for environments containing default factors, such as
  ``py27`` or ``django18-py35``, should be ignored or result in warnings. This
  was a common source of misconfiguration and is rarely, if ever, desirable from
  a user perspective - by :user:`stephenfin` (`477 &lt;https://github.com/tox-dev/tox/issues/477&gt;`_)
- Fix bug with incorrectly defactorized dependencies (deps passed to pip were not de-factorized) - by :user:`bartsanchez` (`706 &lt;https://github.com/tox-dev/tox/issues/706&gt;`_)


Features
^^^^^^^^

- Add support for multiple PyPy versions using default factors. This allows you
  to use, for example, ``pypy27`` knowing that the correct intepreter will be
  used by default - by :user:`stephenfin` (`19 &lt;https://github.com/tox-dev/tox/issues/19&gt;`_)
- Add support to explicitly invoke interpreter directives for environments with
  long path lengths. In the event that ``tox`` cannot invoke scripts with a
  system-limited shebang (e.x. a Linux host running a Jenkins Pipeline), a user
  can set the environment variable ``TOX_LIMITED_SHEBANG`` to workaround the
  system&#39;s limitation (e.x. ``export TOX_LIMITED_SHEBANG=1``) - by :user:`jdknight` (`794 &lt;https://github.com/tox-dev/tox/issues/794&gt;`_)
- introduce a constants module to be used internally and as experimental API - by :user:`obestwalter` (`798 &lt;https://github.com/tox-dev/tox/issues/798&gt;`_)
- Make ``py2`` and ``py3`` aliases also resolve via ``py`` on windows by :user:`asottile`. This enables the following things:
  ``tox -e py2`` and ``tox -e py3`` work on windows (they already work on posix); and setting ``basepython=python2`` or ``basepython=python3`` now works on windows. (`856 &lt;https://github.com/tox-dev/tox/issues/856&gt;`_)
- Replace the internal version parsing logic from the not well tested `PEP-386 &lt;https://www.python.org/dev/peps/pep-0386/&gt;`_ parser for the more general `PEP-440 &lt;https://www.python.org/dev/peps/pep-0440/&gt;`_. `packaging &gt;= 17.1 &lt;https://pypi.org/project/packaging/&gt;`_ is now an install dependency by :user:`gaborbernat`. (`860 &lt;https://github.com/tox-dev/tox/issues/860&gt;`_)


Documentation
^^^^^^^^^^^^^

- extend the plugin documentation and make lot of small fixes and improvements - by :user:`obestwalter` (`797 &lt;https://github.com/tox-dev/tox/issues/797&gt;`_)
- tidy up tests - remove unused fixtures, update old cinstructs, etc. - by :user:`obestwalter` (`799 &lt;https://github.com/tox-dev/tox/issues/799&gt;`_)
- Various improvements to documentation: open browser once documentation generation is done, show Github/Travis info on documentation page, remove duplicate header for changelog, generate unreleased news as DRAFT on top of changelog, make the changelog page more compact and readable (width up to 1280px) by :user:`gaborbernat` (`859 &lt;https://github.com/tox-dev/tox/issues/859&gt;`_)


Miscellaneous
^^^^^^^^^^^^^

- filter out unwanted files in package - by :user:`obestwalter` (`754 &lt;https://github.com/tox-dev/tox/issues/754&gt;`_)
- make the already existing implicit API explicit - by :user:`obestwalter` (`800 &lt;https://github.com/tox-dev/tox/issues/800&gt;`_)
- improve tox quickstart and corresponding tests - by :user:`obestwalter` (`801 &lt;https://github.com/tox-dev/tox/issues/801&gt;`_)
- tweak codecov settings via .codecov.yml - by :user:`obestwalter` (`802 &lt;https://github.com/tox-dev/tox/issues/802&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/tox
  - Changelog: https://pyup.io/changelogs/tox/
  - Docs: https://tox.readthedocs.org/
</details>





### Update [Sphinx](https://pypi.org/project/Sphinx) from **1.7.5** to **1.7.6**.


<details>
  <summary>Changelog</summary>
  
  
   ### 1.7.6
   ```
   ==============================

Dependencies
------------

Incompatible changes
--------------------

Deprecated
----------

Features added
--------------

Bugs fixed
----------

* 5037: LaTeX ``\sphinxupquote{}`` breaks in Russian
* sphinx.testing uses deprecated pytest API; ``Node.get_marker(name)``
* 5016: crashed when recommonmark.AutoStrictify is enabled
* 5022: latex: crashed with docutils package provided by Debian/Ubuntu
* 5009: latex: a label for table is vanished if table does not have a caption
* 5048: crashed with numbered toctree
* 2410: C, render empty argument lists for macros.
* C++, fix lookup of full template specializations with no template arguments.
* 4667: C++, fix assertion on missing references in global scope when using
  intersphinx. Thanks to Alan M. Carroll.
* 5019: autodoc: crashed by Form Feed Character
* 5032: autodoc: loses the first staticmethod parameter for old styled classes
* 5036: quickstart: Typing Ctrl-U clears the whole of line
* 5066: html: &quot;relations&quot; sidebar is not shown by default
* 5091: latex: curly braces in index entries are not handled correctly
* 5070: epub: Wrong internal href fragment links
* 5104: apidoc: Interface of ``sphinx.apidoc:main()`` has changed
* 5076: napoleon raises RuntimeError with python 3.7
* 5125: sphinx-build: Interface of ``sphinx:main()`` has changed
* sphinx-build: ``sphinx.cmd.build.main()`` refers ``sys.argv`` instead of given
  argument
* 5146: autosummary: warning is emitted when the first line of docstring ends
  with literal notation
* autosummary: warnings of autosummary indicates wrong location (refs: 5146)
* 5143: autodoc: crashed on inspecting dict like object which does not support
  sorting

Testing
--------
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/sphinx
  - Changelog: https://pyup.io/changelogs/sphinx/
  - Homepage: http://sphinx-doc.org/
</details>





### Update [cryptography](https://pypi.org/project/cryptography) from **2.2.2** to **2.3**.


<details>
  <summary>Changelog</summary>
  
  
   ### 2.3
   ```
   ~~~~~~~~~~~~~~~~

* **SECURITY ISSUE:**
  :meth:`~cryptography.hazmat.primitives.ciphers.AEADDecryptionContext.finalize_with_tag`
  allowed tag truncation by default which can allow tag forgery in some cases.
  The method now enforces the ``min_tag_length`` provided to the
  :class:`~cryptography.hazmat.primitives.ciphers.modes.GCM` constructor.
  *CVE-2018-10903*
* Added support for Python 3.7.
* Added :meth:`~cryptography.fernet.Fernet.extract_timestamp` to get the
  authenticated timestamp of a :doc:`Fernet &lt;/fernet&gt;` token.
* Support for Python 2.7.x without ``hmac.compare_digest`` has been deprecated.
  We will require Python 2.7.7 or higher (or 2.7.6 on Ubuntu) in the next
  ``cryptography`` release.
* Fixed multiple issues preventing ``cryptography`` from compiling against
  LibreSSL 2.7.x.
* Added
  :class:`~cryptography.x509.CertificateRevocationList.get_revoked_certificate_by_serial_number`
  for quick serial number searches in CRLs.
* The :class:`~cryptography.x509.RelativeDistinguishedName` class now
  preserves the order of attributes. Duplicate attributes now raise an error
  instead of silently discarding duplicates.
* :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap` and
  :func:`~cryptography.hazmat.primitives.keywrap.aes_key_unwrap_with_padding`
  now raise :class:`~cryptography.hazmat.primitives.keywrap.InvalidUnwrap` if
  the wrapped key is an invalid length, instead of ``ValueError``.

.. _v2-2-2:
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/cryptography
  - Changelog: https://pyup.io/changelogs/cryptography/
  - Repo: https://github.com/pyca/cryptography
</details>





### Update [PyYAML](https://pypi.org/project/PyYAML) from **3.12** to **3.13**.


*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pyyaml
  - Homepage: http://pyyaml.org/wiki/PyYAML
</details>
blueyed added a commit to blueyed/pytest that referenced this issue Sep 11, 2018
blueyed added a commit to blueyed/pytest that referenced this issue Sep 11, 2018
Fixes pytest-dev#3965.

Has to work around tox-dev/tox#706.

No coverage for pluggymaster builds is OK though anyway.
blueyed added a commit to blueyed/pytest that referenced this issue Sep 12, 2018
Fixes pytest-dev#3965.

Has to work around tox-dev/tox#706.

No coverage for pluggymaster builds is OK though anyway.
@gaborbernat gaborbernat added this to the 3.5 milestone Sep 18, 2018
@gaborbernat gaborbernat modified the milestones: 3.5, 3.6 Oct 8, 2018
@ericholscher
Copy link

Ran into this trying to install an env without a factor, and having it fail. This seems pretty bad to me, but I guess I can just "factor" my lint & docs envs for now.

@gaborbernat
Copy link
Member

@ericholscher can you post your example problem, just to illustrate the issue.

@ericholscher
Copy link

ericholscher commented Oct 12, 2018

This file was the issue: https://github.com/rtfd/recommonmark/blob/0440308592db91b8f4cf8d8f7f3d2273498cc19e/tox.ini

Then:

-> tox -e lint
GLOB sdist-make: /Users/eric/projects/recommonmark/setup.py
lint create: /Users/eric/projects/recommonmark/.tox/lint
lint installdeps: ., pytest, sphinx16: Sphinx < 1.7, sphinx17: Sphinx < 1.8, sphinx18: Sphinx < 1.9, prospector
GitHub
A markdown parser for docutils. Contribute to rtfd/recommonmark development by creating an account on GitHub.

@ericholscher
Copy link

ericholscher commented Oct 12, 2018

I fixed it by adding a factor to the tasks:

  • lint-sphinx16
  • docs-sphinx16

Which isn't such a big deal, but a little confusing trying to figure out what's going on.

bartsanchez added a commit to bartsanchez/tox that referenced this issue Oct 14, 2018
New version with improved changes, fixing errors raised
with the previous version:

tox-dev#899
tox-dev#906
@bartsanchez
Copy link

I think I've fixed it by "applying_factors" --> "replacing" --> "applying_factors" (again) in order to get both functionalities working together in:

#1058

bartsanchez added a commit to bartsanchez/tox that referenced this issue Oct 20, 2018
New version with improved changes, fixing errors raised
with the previous version:

tox-dev#899
tox-dev#906
bartsanchez added a commit to bartsanchez/tox that referenced this issue Oct 20, 2018
New version with improved changes, fixing errors raised
with the previous version:

tox-dev#899
tox-dev#906
bartsanchez added a commit to bartsanchez/tox that referenced this issue Oct 20, 2018
New version with improved changes, fixing errors raised
with the previous version:

tox-dev#899
tox-dev#906
gaborbernat pushed a commit that referenced this issue Oct 21, 2018
New version with improved changes, fixing errors raised with the previous version:

#899
#906
@gaborbernat
Copy link
Member

Fixed via #1058

@ericholscher
Copy link

Thanks!

blueyed added a commit to blueyed/pytest that referenced this issue Feb 10, 2019
openstack-gerrit referenced this issue in openstack/tooz May 30, 2019
The bug `https://github.com/tox-dev/tox/issues/706` mentioned in the
comments has been resolved since tox version 3.1.0.

Change-Id: Idb5428d883efa776f0782a543cb7423ae9d4e4b4
openstack-gerrit referenced this issue in openstack/openstack May 30, 2019
* Update tooz from branch 'master'
  - Merge "Referencing testenv deps now works"
  - Referencing testenv deps now works
    
    The bug `https://github.com/tox-dev/tox/issues/706` mentioned in the
    comments has been resolved since tox version 3.1.0.
    
    Change-Id: Idb5428d883efa776f0782a543cb7423ae9d4e4b4
@tox-dev tox-dev locked and limited conversation to collaborators Jan 14, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug:normal affects many people or has quite an impact
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants