Commit Graph

2229 Commits

Author SHA1 Message Date
Chris Jerdonek 9ab91a19ff
Merge pull request #6389 from cjerdonek/issue-5518-global-option-vcs-install
Respect --global-option and --install-option for VCS installs.
2019-05-08 19:22:07 -04:00
Steve Dower 3816a747e1 Upwrap import 2019-05-08 10:58:25 -04:00
Chris Jerdonek 5be4e1481e Remove utils/packaging.py's dependence on the current environment. 2019-05-07 21:51:39 -04:00
Chris Jerdonek 919ee314fc
Merge pull request #6425 from cjerdonek/move-link-package-versions
Move _link_package_versions() to CandidateEvaluator
2019-05-07 21:42:50 -04:00
Chris Jerdonek 0573d7f81f
Merge pull request #6408 from cjerdonek/vcs-remove-url-attribute
Remove url as an attribute of VersionControl
2019-05-07 15:17:56 -04:00
Chris Jerdonek 10c68e674b Rename _link_package_versions() to evaluate_link(). 2019-05-07 11:54:28 -04:00
Chris Jerdonek 651d6fe705 Move _link_package_versions() to CandidateEvaluator. 2019-05-07 11:46:08 -04:00
Pradyun Gedam 422d989056
Merge pull request #5931 from xrmx/fix5059
Remove last use of SafeConfigParser
2019-05-07 11:37:37 -04:00
Steve Dower e04cb497c8 Fix mismerged import 2019-05-07 09:59:43 -04:00
Steve Dower c63ee61027 Issue #5948: Enable keyring support
This requires keyring and any backends to be installed separately.
Once discovered, it will be used to retrieve credentials by index URL
and netloc before prompting. If the user is prompted and the
credentials work, they will (optionally) be saved to keyring against
the netloc of the requested URL.
2019-05-07 09:55:02 -04:00
Chris Jerdonek 0b8377d53f Move run_with_log_command() after run_stderr_with_prefix().
We do this to better parallel the test order in TestPipTestEnvironment,
since the tests using run_with_log_command() occur later.
2019-05-07 07:05:01 -04:00
Chris Jerdonek 8a9e36ee15 Change to never allow logging errors during tests. 2019-05-07 07:04:57 -04:00
Chris Jerdonek 46fc5ccf45 Add failing test. 2019-05-07 06:51:42 -04:00
Chris Jerdonek 0ea639d644 Remove url as an instance attribute of the VersionControl class. 2019-05-06 22:59:18 -04:00
Chris Jerdonek 7e109086b5 Remove unneeded expect_error=True in some vcs tests. 2019-05-06 14:55:16 -04:00
Chris Jerdonek e0e07bf046 Remove unneeded expect_stderr=True in some vcs tests. 2019-05-06 14:55:16 -04:00
Chris Jerdonek bef5b2e6f3 Improve PipTestEnvironment to check for logging errors. 2019-05-06 14:55:16 -04:00
Chris Jerdonek dc1217713e Fix freeze log debug message. 2019-05-06 14:55:16 -04:00
ekristina 2e5b4461f4 Improve code reuse in TestSafeFileCache
Use a fixture creating a temporary directory for cache.
2019-05-04 17:11:44 -04:00
Pradyun Gedam f6e525aa87
Update test_vcs_mercurial.py 2019-05-04 16:17:09 -04:00
Chris Jerdonek fb2533a945 Revert "Error out if installing a pyproject.toml-style (PEP 517) project in editable mode."
This reverts commit cc2d299f76.
2019-04-26 20:19:24 -07:00
Chris Jerdonek 24688ee8e8 Revert "Require --no-use-pep517 if using editable mode with pyproject.toml."
This reverts commit 71f506e71e.
2019-04-26 20:19:05 -07:00
Chris Jerdonek 0453f79b9e Revert "Allow --no-use-pep517 to be used with editable mode in more cases."
This reverts commit f069769948.
2019-04-26 20:18:43 -07:00
Chris Jerdonek 60d3f11961
Merge pull request #6440 from nicolasbock/index_with_git
Protect `@` as safe character when cleaning URLs
2019-04-25 13:28:48 -07:00
Nicolas Bock 265b4e7e65
Protect `@` as safe character when cleaning URLs
Remote URLs that contain a link to a git repository and a tag
reference will have the `@` character converted into `%40`. This is
incorrect.

Fixes: #6437

Signed-off-by: Nicolas Bock <nicolasbock@gmail.com>
2019-04-25 06:26:04 -06:00
Chris Jerdonek f069769948 Allow --no-use-pep517 to be used with editable mode in more cases. 2019-04-25 01:42:11 -07:00
Chris Jerdonek dddd28b8de
Add CandidateEvaluator class to encapsulate sorting. (#6424) 2019-04-22 03:40:35 -07:00
Andy Freeland bb14ff42b0 Fix NameError when handling InvalidRequirement in install_req_from_req_string (#6419)
Previously, an InvalidRequirement would raise a NameError while trying
to raise an InstallationError because `req` was not defined.

Discovered while working on #6402.
2019-04-19 02:37:33 -07:00
johnthagen c8e9caa8a7 Add Subversion.get_vcs_version method (#6390)
Add Subversion.get_vcs_version method to return the version of the currently installed Subversion client.
2019-04-17 00:34:19 -07:00
Tzu-ping Chung 14cb4f4fb6 Isolate, reuse PackageFinder best candidate logic (#5971)
Split out how PackageFinder finds the best candidate, and reuse it in the
self version check, to avoid the latter duplicating (and incorrectly
implementing) the same logic.
2019-04-16 16:46:25 -07:00
Chris Jerdonek 32c11ee2c3 Respect --global-option and --install-option for VCS installs. 2019-04-08 02:03:17 -07:00
Nicolas Bock 913757cb53
Do not clean base_url
When the `base_url` is a `[]` protected IPv6 address, the
`_clean_link()` function converts `[` to `%5B` and `]` to `%5D`, which
renders the `base_url` invalid. For example:

```
	Starting new HTTP connection (1): fd00:0:0:236:💯8181
	http://fd00:0:0:236:💯8181 "GET /os-releases/19.0.0.0b1/opensuse_leap-42.3-x86_64/requirements_absolute_requirements.txt HTTP/1.1" 200 None
	Setting setuptools==40.6.3 (from -c http://[fd00:0:0:236::100]:8181/os-releases/19.0.0.0b1/opensuse_leap-42.3-x86_64/requirements_absolute_requirements.txt (line 204)) extras to: ()
	Looking in indexes: http://[fd00:0:0:236::100]:8181/simple
	Collecting setuptools==40.6.3 (from -c http://[fd00:0:0:236::100]:8181/os-releases/19.0.0.0b1/opensuse_leap-42.3-x86_64/requirements_absolute_requirements.txt (line 204))
	  1 location(s) to search for versions of setuptools:
	  * http://[fd00:0:0:236::100]:8181/simple/setuptools/
	  Getting page http://[fd00:0:0:236::100]:8181/simple/setuptools/
	  http://fd00:0:0:236:💯8181 "GET /simple/setuptools/ HTTP/1.1" 200 376
	  Analyzing links from page http://[fd00:0:0:236::100]:8181/simple/setuptools/
	    _package_versions: link = http://%5bfd00:0:0:236::100%5d:8181/packages/opensuse_leap-42.3-x86_64/setuptools/setuptools-40.6.3-py2.py3-none-any.whl#md5=389d3cd088d7afec3a1133b1d8e15df0 (from http://[fd00:0:0:
	236::100]:8181/simple/setuptools/)
	    _link_package_versions: link = http://%5bfd00:0:0:236::100%5d:8181/packages/opensuse_leap-42.3-x86_64/setuptools/setuptools-40.6.3-py2.py3-none-any.whl#md5=389d3cd088d7afec3a1133b1d8e15df0 (from http://[fd00
	:0:0:236::100]:8181/simple/setuptools/)
	    Found link http://%5bfd00:0:0:236::100%5d:8181/packages/opensuse_leap-42.3-x86_64/setuptools/setuptools-40.6.3-py2.py3-none-any.whl#md5=389d3cd088d7afec3a1133b1d8e15df0 (from http://[fd00:0:0:236::100]:8181/
	simple/setuptools/), version: 40.6.3
	  Using version 40.6.3 (newest of versions: 40.6.3)
        Could not install packages due to an EnvironmentError.
        InvalidURL: Failed to parse: %5bfd00:0:0:236::100%5d:8181
```

This change uses the vendored `urllib` library to split the host part
off of the url before URL quoting only the path part.

Fixes: #6285
Signed-off-by: Nicolas Bock <nicolasbock@gmail.com>
2019-04-07 05:57:03 -06:00
Chris Jerdonek 78744e8071
Merge pull request #6370 from cjerdonek/editable-and-pep-517-optional
Fix editable-mode logic when pyproject.toml present
2019-04-06 15:31:53 -07:00
Miro Hrončok d4264dc3b2 Pytest: Use get_closest_marker
See https://github.com/pytest-dev/pytest/pull/4564
2019-04-04 13:07:49 +02:00
Chris Jerdonek 68bc0e0c53
Merge pull request #6339 from cjerdonek/vcs-subprocess-logging
Fix #1219: Prevent subprocess stdout and stderr from cluttering pip's stdout.
2019-04-03 14:36:44 -07:00
Pradyun Gedam 98fc29b36f
Merge pull request #6376 from cjerdonek/fix-typo-enable-test
Fix typo / enable test: "est_link_..." -> "test_link_..."
2019-04-02 23:05:03 +05:30
Chris Jerdonek f82d87a555 Enable test by fixing typo: "est_link_..." -> "test_link_..." 2019-04-02 05:39:11 -07:00
Chris Jerdonek 71f506e71e Require --no-use-pep517 if using editable mode with pyproject.toml. 2019-03-31 05:40:08 -07:00
Caleb Martinez ac9010e87c Allow adding a custom string to pip's User-Agent via an environment variable (#5550) 2019-03-31 02:37:02 -07:00
Chris Jerdonek 66ae68122f Disallow two more argument combinations, and test. 2019-03-26 20:34:23 -07:00
Chris Jerdonek ac18393df7 Make expect_stderr mean the weaker allow_stderr_warning. 2019-03-26 20:34:23 -07:00
Chris Jerdonek 9efd2933ab Remove logic for SSLContext warning on old versions of Python. 2019-03-26 20:34:19 -07:00
Chris Jerdonek 5b9065cf5a Make deprecated_python cause allow_stderr_warning not expect_stderr. 2019-03-26 20:32:49 -07:00
Chris Jerdonek e5353f27cd
Merge pull request #6356 from cjerdonek/vcs-class-methods-2
Make VersionControl methods into class methods (part 2)
2019-03-25 16:35:26 -07:00
Chris Jerdonek e0505bb152 Prevent subprocess stdout and stderr from cluttering pip's stdout. 2019-03-25 00:21:20 -07:00
Chris Jerdonek 55f7a712aa
Merge pull request #6331 from cjerdonek/issue-6314-editable-with-pep517
Show a nice error if editable mode is attempted with a pyproject.toml source tree
2019-03-23 17:32:22 -07:00
Chris Jerdonek 7a4e8b34da Make get_current_branch() a class method. 2019-03-22 00:04:55 -07:00
Chris Jerdonek 977d3f6f8c Make is_commit_id_equal() a class method. 2019-03-22 00:04:55 -07:00
Chris Jerdonek 31d6a4f975 Make resolve_revision() a class method. 2019-03-22 00:04:55 -07:00
Chris Jerdonek 79b64739a9 Make get_revision_sha() a class method. 2019-03-22 00:04:50 -07:00
Alex Loosley d245434c02 Fix #5889: AttributeError: 'NoneType' object has no attribute 'netloc' (#6336) 2019-03-20 16:59:24 +01:00
Chris Jerdonek d3a5b58af9
Merge pull request #6342 from cjerdonek/test-subprocess-stderr
Allow finer-grained testing of subprocess stderr.
2019-03-20 06:19:36 -07:00
Chris Jerdonek bb290e10f2 Address review comments, and add tests. 2019-03-20 02:08:37 -07:00
Chris Jerdonek 2e98d3975f Allow finer-grained testing of subprocess stderr. 2019-03-16 04:16:37 -07:00
Chris Jerdonek 4c5d712057 Change RevOptions to accept a VersionControl subclass. 2019-03-16 01:46:32 -07:00
Chris Jerdonek e1e94530ad Make VersionControl.make_rev_args() a class method. 2019-03-16 01:15:48 -07:00
Chris Jerdonek 3ba489864b Make VersionControl.get_url_rev_and_auth() a class method. 2019-03-16 01:13:25 -07:00
Chris Jerdonek 67b384b8c7 Make VersionControl.get_netloc_and_auth() a class method. 2019-03-16 01:04:44 -07:00
Chris Jerdonek 7f6edbd252
Merge pull request #6130 from cjerdonek/move-get-src-requirement-to-base-class
Move get_src_requirement() to the VersionControl base class
2019-03-14 15:22:54 -07:00
Chris Jerdonek cc2d299f76 Error out if installing a pyproject.toml-style (PEP 517) project in editable mode. 2019-03-14 05:49:39 -07:00
Pi Delport 5f3c56e188 Fix some typos 2019-03-12 21:54:18 +01:00
Chris Jerdonek 1599d65d36
Merge pull request #6312 from cjerdonek/subprocess-tests-and-spinner-fixes
Test call_subprocess more thoroughly; fix spinner edge cases
2019-03-11 23:19:58 -07:00
Steve Dower 293c91ee8a Configuration files may now also be stored under `sys.prefix` (#6268)
* Rename kinds.VENV to kinds.SITE and site_config_files to global_config_files
* Add tests for config file options
* Deprecate --venv in pip config
2019-03-07 11:14:56 +05:30
Chris Jerdonek fe793722b1 Fix a couple spinner edge cases. 2019-03-03 11:05:39 -08:00
Chris Jerdonek ffefa91f2f Improve the call_subprocess() tests. 2019-03-03 10:54:03 -08:00
Miro Hrončok d48475d008 Fix utils.encoding.auto_decode() LookupError with invalid encodings
utils.encoding.auto_decode() was broken when decoding Big Endian BOM
byte-strings on Little Endian or vice versa.

The TestEncoding.test_auto_decode_utf_16_le test was failing on Big Endian
systems, such as Fedora's s390x builders. A similar test, but with BE BOM
test_auto_decode_utf_16_be was added in order to reproduce this on a Little
Endian system (which is much easier to come by).

A regression test was added to check that all listed encodings in
utils.encoding.BOMS are valid.

Fixes https://github.com/pypa/pip/issues/6054
2019-03-01 20:16:18 +01:00
Chris Jerdonek 632896d70b Move make_vcs_requirement_url() to vcs/__init__.py. 2019-03-01 11:06:24 -08:00
Chris Jerdonek fdbfde03e1 Implement get_src_requirement() in the VersionControl base class. 2019-03-01 11:01:25 -08:00
Daniele Esposti 729404d4c5 Redact the password from the extra index URL in log messages (#6295) 2019-03-01 04:21:45 -08:00
Chris Jerdonek 1fdd7e26c5
Merge pull request #6139 from jelmer/bazaar-export-perf
Bazaar: Export directly from the remote branch.
2019-03-01 01:36:02 -08:00
Chris Jerdonek a2ed253788 Whether to build wheels is no longer affected by --no-cache-dir. 2019-02-27 20:38:09 -08:00
Chris Jerdonek 8e531be255 Refactor out build_wheels(), and test. 2019-02-27 20:36:25 -08:00
Paul Moore 8b7c23d05c Make flake8 shut up 2019-02-27 18:04:50 +00:00
Paul Moore 1528d50902 Stupid typo 2019-02-27 17:50:42 +00:00
Paul Moore 9921442d1f Reject --build-options for PEP 517 builds 2019-02-27 17:40:52 +00:00
Chris Jerdonek 8d78ff0fce Prefix warning and error log messages. 2019-02-27 03:22:26 -08:00
Chris Jerdonek 821247dc36
Merge pull request #6273 from cjerdonek/issue-5499-detect-ci-for-user-agent
Fix #5499: Include in pip's User-Agent whether it looks like pip is in CI
2019-02-24 14:24:55 -08:00
Chris Jerdonek b88239918b
Merge pull request #6290 from cjerdonek/add-format-command
Add format_command_args().
2019-02-24 13:23:51 -08:00
Xavier Fernandez c286c55d51 Tweak tests & url_to_path after review 2019-02-24 21:40:25 +01:00
Benoit Pierre 61baf5fe80 improve handling of file URIs 2019-02-24 21:40:25 +01:00
Pradyun Gedam d4217f0cc3
Merge pull request #6129 from asottile/dead
delete some dead code
2019-02-24 22:08:16 +05:30
Pradyun Gedam 94a06ead43
Merge pull request #6263 from hroncok/mark_network
Mark 3 tests as network tests
2019-02-24 22:07:49 +05:30
Maxim Kurnikov 13bb70f28a fix indentation errors 2019-02-22 14:06:08 +03:00
Chris Jerdonek 87f0539b78 Change format_command_result() to use format_command_args(). 2019-02-22 02:52:06 -08:00
Chris Jerdonek 0f6776388c Change format_command() to use shlex.quote(). 2019-02-22 02:52:06 -08:00
Chris Jerdonek 1d0645e86f Add format_command_args() with tests. 2019-02-22 02:52:02 -08:00
Chris Jerdonek aec72bd0cd Add log divider variable. 2019-02-22 00:14:58 -08:00
Anthony Sottile 2c53b709cd Remove hidden
last reference removed in 8447f39fe1
2019-02-20 11:51:24 -08:00
Anthony Sottile f388ccf1c3 Remove read_text_file
last reference removed in 52d87f2e30
2019-02-20 11:50:59 -08:00
Pradyun Gedam 88bcb261f7
Merge pull request #6154 from cjerdonek/show-stdout-default
Change call_subprocess()'s show_stdout default from True to False
2019-02-21 01:08:05 +05:30
Chris Jerdonek a229f114e6 Address review comments. 2019-02-18 19:29:07 -08:00
Chris Jerdonek 14a6aaabff Include in pip's User-Agent whether it looks like pip is in CI. 2019-02-17 07:16:01 -08:00
Chris Jerdonek ebe2417110 Fix the RECORD filename of installed files appearing in the old RECORD. 2019-02-15 02:33:02 -08:00
Chris Jerdonek d3a1b8536a Improve logging in the case of a failed legacy build. 2019-02-14 13:57:07 -08:00
Miro Hrončok 75c2201d5a Mark 3 tests as network tests
________________ test_constraints_local_editable_install_pep518 ________________
    ...
    ----------------------------- Captured stdout call -----------------------------
    Script result: python -m pip download setuptools wheel -d /tmp/pytest-of-mockbuild/pytest-0/test_constraints_local_editabl0/data/packages
      return code: 1
    -- stderr: --------------------
      Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fba7fdeb160>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fba7fdeb0b8>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fba7fdeb4e0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fba7fdeb6d8>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fba7fdeb860>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      Could not find a version that satisfies the requirement setuptools (from versions: )
    No matching distribution found for setuptools

    _____________ test_pep517_wheels_are_not_confused_with_other_files _____________
    ...
    -- stdout: --------------------
    Processing /tmp/pytest-of-mockbuild/pytest-0/test_pep517_wheels_are_not_con0/data/src/withpyproject
      Installing build dependencies: started
      Installing build dependencies: finished with status 'error'
      Complete output from command /tmp/pytest-of-mockbuild/pytest-0/test_pep517_wheels_are_not_con0/workspace/venv/bin/python /builddir/build/BUILDROOT/python-pip-19.0.2-1.fc30.x86_64/usr/lib/python3.7/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pytest-of-mockbuild/pytest-0/test_pep517_wheels_are_not_con0/workspace/tmp/pip-build-env-3un7dqu3/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel:
      Collecting setuptools
        Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fb7cf5a8898>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fb7cf5b9588>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fb7cf5b9470>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fb7cf5b9278>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fb7cf5b9208>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        Could not find a version that satisfies the requirement setuptools (from versions: )
      No matching distribution found for setuptools

    ________________________ test_upgrade_argparse_shadowed ________________________
    ...
    ----------------------------- Captured stdout call -----------------------------
    Script result: python -m pip install argparse==1.3
      return code: 1
    -- stderr: --------------------
      Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7ff07d6db240>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/argparse/
      Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7ff07d6db358>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/argparse/
      Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7ff07d6db400>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/argparse/
      Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7ff07d6db518>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/argparse/
      Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7ff07d6c7710>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/argparse/
      Could not find a version that satisfies the requirement argparse==1.3 (from versions: )
    No matching distribution found for argparse==1.3
2019-02-13 13:01:04 +01:00
Chris Jerdonek 1b6ea51b0f Add back a test of call_subprocess() with no keyword arguments. 2019-02-12 05:11:51 -08:00
Chris Jerdonek d2051f14bb Change the default of call_subprocess()'s show_stdout from True to False. 2019-02-12 05:11:51 -08:00
Chris Jerdonek f048eb7a76
Merge pull request #6253 from cjerdonek/issue-6252
Fix an IndexError crash when a legacy build of a wheel fails.
2019-02-11 07:25:07 -08:00
Chris Jerdonek 6cdecce71d Fix an IndexError crash when a legacy build of a wheel fails. 2019-02-10 13:10:39 -08:00
Jelmer Vernooij e4ce22f0ef
Add tests for export with revision in the URL. 2019-02-08 16:52:30 +00:00
Pradyun Gedam 7eb79b13d0
AdjacentTempDirectory should fail on unwritable directory (#6215)
Based on #6225
2019-02-08 14:08:27 +05:30
Nick Coghlan 682cff7230 Fix #6163: Default to setuptools.build_meta:__legacy__
The main setuptools PEP 517 backend is intended for
explicit usage in `pyproject.toml`, when the project
authors can ensure that their `setup.py` runs without
that directory being implicitly on `sys.path`.

For implicit usage, setuptools now offers a separate
legacy backend that more closely mimics direct
execution of the `setup.py` script.
2019-02-06 20:57:57 +10:00
Steve Dower c64503e58c Fixes ordering of imports 2019-02-05 15:07:19 -08:00
Pradyun Gedam 51086b3718
Don't add wheels when checking if pip gets confused when building wheels
setuptools expects only one wheel file to be present in dist/
2019-02-05 08:35:01 +05:30
Pradyun Gedam 6463ffe195
Add failing tests for the behaviour to fix 2019-02-05 08:34:25 +05:30
Steve Dower 53d28bae66 Added more tests and handling for short directory names 2019-02-04 14:48:41 -08:00
Steve Dower c31f19fcae Fixes #6169: AdjacentTempDirectory should fail on unwritable directory 2019-02-04 11:11:53 -08:00
Steve Dower b5dd2791b7 Make failed uninstalls roll back more reliably and better at avoiding naming conflicts (#6225) 2019-02-03 04:39:06 -08:00
Chris Jerdonek c4a48f28f1 Fix two incorrect os.environ accesses in test setups. 2019-02-02 17:19:24 -08:00
Chris Jerdonek 57ec8bc5e0 Reset os.environ while preserving the original mapping. 2019-02-02 17:19:20 -08:00
Pradyun Gedam d95b5f2d82
Merge pull request #6219 from cjerdonek/wheel-build-assertion-error
Use the ephemeral cache if we need to when autobuilding
2019-02-02 14:01:37 +05:30
Chris Jerdonek 2d9d3ff90b Add more unit test cases. 2019-02-01 17:41:46 -08:00
Chris Jerdonek 6b0892eace Use the ephemeral cache if autobuilding and no cache directory is available. 2019-02-01 02:25:56 -08:00
Chris Jerdonek 806a013bc0 Add failing test for the have_directory_for_build AssertionError. 2019-02-01 02:23:58 -08:00
Chris Jerdonek 351dee9635
Merge pull request #6206 from cjerdonek/better-no-setup-py-error-message
Provide better error message for editable installs attempted with pyproject.toml
2019-01-30 20:19:31 -08:00
Philip Jägenstedt 511c88dc4a
Fix typo: wheither -> whether 2019-01-31 00:58:48 +01:00
Jelmer Vernooij bb385e2dbb
Make sure that bzr is available when running under Travis. 2019-01-27 02:35:10 +00:00
Chris Jerdonek d619aba150 Provide a better error message for a pyproject.toml editable install.
The message looks like this:

  File "setup.py" not found. Directory cannot be installed in editable
  mode: <absolute-dir-path>
  (A "pyproject.toml" file was found, but editable mode currently
  requires a setup.py based build.)
2019-01-26 07:00:22 -08:00
Chris Jerdonek e5f4bbb7dd
Merge pull request #6191 from cjerdonek/long-record-lines
Allow and warn on RECORD lines with more than three elements
2019-01-24 12:22:45 -08:00
Chris Jerdonek 7f25059bf7 Allow and warn on RECORD lines with more than three elements. 2019-01-23 19:24:38 -08:00
Chris Jerdonek 8074db86d6 Add failing test. 2019-01-23 19:24:34 -08:00
Pradyun Gedam e55fcea956
Add tests for the bug 2019-01-23 09:48:04 +05:30
Chris Jerdonek 9d00420c16 Use the requested log level when handling broken stdout pipe. 2019-01-21 12:45:59 -08:00
Chris Jerdonek eef02fd666 Unskip / get the end-to-end tests working for Windows. 2019-01-20 15:49:49 -08:00
Chris Jerdonek e6d0127985 Add failing tests. 2019-01-20 15:49:49 -08:00
Jelmer Vernooij eb7d4b2178
Bazaar: Export directly from the remote branch.
This significantly improves performance, since it allows the remote
server to directly stream a tarball that just contains the requested
revision rather than the full repository contents.
2019-01-20 17:46:31 +00:00
Ami Fischman 2a90808387 Prefix user_log (--log) entries with timestamp (#6142)
Why? Eases post-facto analysis of time spent in different phases of pip operation.

Historical note:
767d11e49c (diff-b670e3b192038c9ffe810c1a12c0c51fL219)
made it so that pip invocations emit zero timestamp information to the log
file. Prior to that each pip invocation's start time was written out (search
that commit's diff for [strftime]).

Result: https://gist.github.com/fischman/f570886219de5c64a3b695300195c70a

Resolves https://github.com/pypa/pip/issues/6141
2019-01-20 03:02:22 -08:00
Donald Stufft 5074327bcb
Merge pull request #6147 from dstufft/warn-on-27
Warn on Python 2.7
2019-01-19 21:53:09 -05:00
Chris Jerdonek f982845aee
Merge pull request #6134 from cjerdonek/pip-no-use-pep517
Prevent the use of PIP_NO_USE_PEP517 to head off user confusion
2019-01-19 13:08:22 -08:00
Donald Stufft a44579ca2d Fix tests for deprecated Pythons 2019-01-19 15:01:33 -05:00
Jon Dufresne a06d846a1d Remove workaround for unsupported Pythons
subprocess.check_call() was added in Python 2.5.

https://docs.python.org/2/library/subprocess.html#subprocess.check_call
2019-01-15 19:44:05 -08:00
Chris Jerdonek 5fe3157917 Change the --no-cache-dir error to use raise_option_error(). 2019-01-15 09:21:16 -08:00
Chris Jerdonek c0cc004ca8 Raise an error if the user tries to use PIP_NO_USE_PEP517. 2019-01-15 09:21:12 -08:00
Pradyun Gedam 47d7f2b92e
Merge pull request #6123 from xavfernandez/deprecate34
Deprecate Python 3.4
2019-01-13 12:46:43 +05:30
Xavier Fernandez b268c67f84 Deprecate Python 3.4 2019-01-12 22:08:24 +01:00
Xavier Fernandez 5e573df69c Add deprecate_python fixture to easily deprecate python versions
pip usually emits a warning and tests have to be adapted
2019-01-12 21:50:40 +01:00
Chris Jerdonek 4dc8710654
Tweak freeze comment when no version control detected. (#6128) 2019-01-12 12:44:45 -08:00
Chris Jerdonek 2a6d282984
Merge pull request #6122 from cjerdonek/make-get-src-requirement-class-method
Make VersionControl.get_src_requirement() a class method
2019-01-09 20:54:16 -08:00
Xavier Fernandez 477147091e
Merge pull request #6116 from peterlisak/bug-fix-outdated-not-required
pip list --not-required --outdated should list only outdated packages…
2019-01-09 22:15:53 +01:00
Chris Jerdonek 6a882b6d91 Fix tests. 2019-01-09 01:52:24 -08:00
Chris Jerdonek 8a771d027d Make get_remote_url() a class method. 2019-01-09 01:24:16 -08:00
Chris Jerdonek 00ae3f594d Make VersionControl.run_command() a class method. 2019-01-09 01:24:16 -08:00
Peter Lisák 1a87e577d0 Add comments 2019-01-07 17:10:08 +01:00
Pradyun Gedam 8ff8e1fa9e
Merge pull request #6060 from pradyunsg/remove/dependency-links
Remove dependency links support
2019-01-07 08:49:13 +05:30
Peter Lisák 4f35981085 pip list --not-required --outdated should list only outdated packages that are not dependencies of installed packages 2019-01-06 10:05:44 +01:00
Pradyun Gedam 838984b372
Drop dependency links from test packages 2019-01-02 17:27:06 +05:30
Pradyun Gedam 7222cb8fdb
Remove --process-dependency-links and related support code 2019-01-02 17:27:06 +05:30
Chris Jerdonek 61bb651bf1 Remove outdated test_git_works_with_editable_non_origin_repo().
This test has been replaced by test_freeze_editable_git_with_no_remote()
in test_freeze.py, with an updated and different test expectation.
2018-12-21 01:19:56 -08:00
Chris Jerdonek 526ac40e63 Fix freeze to handle Git repos with no remote. 2018-12-21 01:10:06 -08:00
Chris Jerdonek 1764fbbdab Add failing tests. 2018-12-21 00:21:04 -08:00
Chris Jerdonek 9693bbec5a Add failing test. 2018-12-16 02:08:27 -08:00
Chris Jerdonek cc9f03dea9 Rename get_branch() to get_current_branch(). 2018-12-16 02:08:27 -08:00
Pradyun Gedam 5274d7544e
Remove workaround for #6057 2018-12-08 09:17:53 +05:30
Paul Moore c5dc6aa784
Merge pull request #6029 from zooba/issue-3055
Fixes #3055 Uninstall causes paths to exceed MAX_PATH limit
2018-12-06 09:23:29 +00:00
Pradyun Gedam 3a8e21ddcf
Merge pull request #6058 from uranusjr/link-package-versions-cleanup-tests
Link package versions cleanup tests
2018-12-06 08:56:40 +05:30
Chris Jerdonek 36266b44b3
Merge pull request #6006 from cjerdonek/clean-up-some-git-test-code
Clean up some git test code.
2018-12-05 14:26:46 -08:00
Tzu-ping Chung de7fdbb7a5 Convert multi-phase tests into fixtures
Also... make the tests actually pass.
2018-12-03 13:49:25 +08:00
Tzu-ping Chung 557e7d2739 Fix test case class name
So it is actually picked up correctly by Pytest.
2018-12-03 13:49:25 +08:00
Pradyun Gedam f5ae9597c4
Disable Mercurial Tests on Travis 2018-12-02 16:45:53 +05:30
Pradyun Gedam 7a23cc8a18
Don't copy pip's non code files and folders in tests 2018-11-29 14:37:18 +05:30
Nick Coghlan fdaef3fe9e
Minimise diff needed to make isort happy 2018-11-22 21:49:43 +10:00
Nick Coghlan 868e898942
Adjust imports in test failing isort check 2018-11-22 21:44:32 +10:00
Paul Moore 087d8254a7
Merge pull request #5410 from wtolson/manylinux2010
Manylinux2010
2018-11-22 11:07:49 +00:00
Steve Dower 9257d58e1c Fix import ordering 2018-11-21 15:05:08 -08:00
Steve Dower 1948a7c378 Add compress_for_rename() test and preserve casing 2018-11-21 14:33:15 -08:00
Steve Dower f4bdd28e25 Fix linting issues 2018-11-21 14:13:45 -08:00
Steve Dower 1bf93a78cb Adds test for AdjacentTempDirectory._generate_names 2018-11-21 13:53:49 -08:00
Benoit Pierre da9caa4a2c Fix test failures on Windows. 2018-11-12 15:46:52 -05:00
Benoit Pierre 3f01334964 Add test capturing expectation. Ref #4106. 2018-11-12 13:10:39 -05:00
Chris Jerdonek 6f1d0d2a73 Remove unneeded @pytest.mark.network in test_vcs_git.py. 2018-11-12 09:49:05 -08:00
Chris Jerdonek 57314fb19c Use fixtures instead of TempDirectory in test_vcs_git.py. 2018-11-12 09:49:05 -08:00
Chris Jerdonek 6e823fbc89 Add _git_commit() to tests.lib. 2018-11-12 09:49:00 -08:00
Chris Jerdonek 9b8db0d160 Move _vcs_add() to before its first use. 2018-11-12 00:13:32 -08:00
Chris Jerdonek 4b0d8a8eb6 Move a hard-coded relative path out of tests/lib. 2018-11-11 22:16:42 -08:00
Paul Moore 4ca38e0c38 Merge with master 2018-11-11 13:49:35 +00:00
Florian Rathgeber 6278c6c371 Decorate tests using SVN with pytest.mark.svn (#5944) 2018-11-10 17:13:20 +05:30
Chris Jerdonek 2dbd34724a Test Git.get_remote_url(). 2018-11-10 01:35:22 -08:00
Chris Jerdonek 8a4e2851d2
Merge pull request #5996 from cjerdonek/simplify-get-src-requirement
Change VersionControl.get_src_requirement() to accept the project name
2018-11-09 12:33:25 -08:00
Chris Jerdonek fc1b1e4cf0
Merge pull request #5884 from cjerdonek/pip-no-cache-dir-var
Make PIP_NO_CACHE_DIR behave as it reads, and not crash pip
2018-11-08 14:19:48 -08:00
Chris Jerdonek 07900ed732 Change VersionControl.get_src_requirement() to accept the project name. 2018-11-08 04:24:05 -08:00
Chris Jerdonek b94d719f39 Make PIP_NO_CACHE_DIR disable the cache also if given a "true" value. 2018-11-08 03:43:56 -08:00
Pradyun Gedam 28cfd7d0b7
Merge pull request #5923 from psinghsodhi/stopPrintSt
Don't print stacktrace due to invalid req
2018-11-08 13:01:56 +05:30
Pradyun Gedam 5a36f2baf9
Update and rename tests/functional/test_vcs_mercurial.py to tests/unit/test_vcs_mercurial.py 2018-11-08 13:00:16 +05:30
Pradyun Gedam eeee9b81a2
Merge pull request #5916 from cjerdonek/remove-unneeded-commit-options
Simplify some git-commit calls in the test code.
2018-11-06 15:28:34 +05:30
Chris Jerdonek 3803ce3cb0
Merge pull request #5905 from cjerdonek/issue-5031-freeze-non-vcs-editable
Address #5031: freeze non-vcs editable installs as editable
2018-11-05 14:21:42 -08:00
Pradyun Gedam 2ed581c79f
Merge pull request #5968 from cjerdonek/dry-up-parse-credentials
Use split_auth_from_netloc() inside MultiDomainBasicAuth
2018-10-30 18:45:35 +00:00
Riccardo Magliocchetti 376abc0655 remove last user of SafeConfigParser
Fixes #5059
2018-10-30 12:11:04 +01:00
Chris Jerdonek 5c93250fa9
Merge pull request #5875 from uranusjr/egg-info-canonical
Rewrite egg_info_matches with canonicalize_name
2018-10-30 01:30:40 -07:00
Chris Jerdonek 0ecc9f0aca Add failing tests for redact_netloc(). 2018-10-29 22:13:55 -07:00
Chris Jerdonek a434431431 Use split_auth_from_netloc() inside MultiDomainBasicAuth(). 2018-10-29 22:13:51 -07:00
Chris Jerdonek b087f261fb Add failing tests. 2018-10-29 22:12:47 -07:00
Benoit Pierre 817ef1a4cb add a couple of additional PEP 517 tests 2018-10-29 23:38:56 +01:00
Benoit Pierre 689f97c4ed fix failing tests 2018-10-29 23:33:21 +01:00
Paul Moore 3c94d81f68 Support --python-tag for PEP 517 builds 2018-10-29 23:33:21 +01:00
Paul Moore f10be259ce PEP 517 tests 2018-10-29 23:33:21 +01:00
Paul Moore c0ed4381a6 Fix for test_install_no_binary_disables_building_wheels 2018-10-29 23:32:13 +01:00
Paul Moore a82b7ce5e7 Fix test_pep518_with_user_pip which was getting errors due to irrelevant changes in setuptools output 2018-10-29 23:32:13 +01:00
Paul Moore ab3e21635a Add a news file 2018-10-29 23:32:13 +01:00
Paul Moore 48e9cb693f Address test failures 2018-10-29 23:32:13 +01:00
Paul Moore 4de2915113 Update required setuptools version for PEP 517 2018-10-29 23:32:03 +01:00