Commit Graph

2225 Commits

Author SHA1 Message Date
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
Paul Moore 8fbf78d407 Phase 2 - generate metadata using PEP 517 hook 2018-10-29 23:28:23 +01:00
Benoit Pierre 744b8cf96e improve build environment
- check build requirements for conflicts
- better isolation (ignore system site packages)
- support 2 prefixes: a "normal" one, and an "overlay" one
  (with higher priority over "normal")
2018-10-29 23:17:51 +01:00
Tzu-ping Chung 033a47cbf2 More test cases 2018-10-29 15:48:43 +08:00
Pradyun Gedam b47b2fa8e6
Merge pull request #5841 from benoit-pierre/fix_python_src/pip
fix support for invoking pip using `python src/pip ...`
2018-10-28 12:35:53 +00:00
Chris Jerdonek afdfb7b210 Include package name in a freeze warning if package is not installed. 2018-10-27 06:50:15 -07:00
Prabhjyotsing Surjit Singh Sodhi e34b19b02a Don't print stacktrace due to invalid req 2018-10-26 12:03:31 -04:00
László Kiss Kollár 94d9dbef3b Display install instructions for pre-releases
Add a message to the output of `search` on installing pre-release
versions to avoid confusion when attempting to install without `--pre`.
2018-10-26 13:17:01 +01:00
Chris Jerdonek e75803774d Simplify some git-commit calls in the test code. 2018-10-24 18:27:30 -07:00
Chris Jerdonek 951e0cba51
Fix #5868: TypeError in move_wheel_files(). (#5883) 2018-10-24 09:19:58 -07:00
Pradyun Gedam cc05433512
Merge pull request #5910 from cjerdonek/add-create-main-file
DRY up the test code that creates a module with a main() function.
2018-10-23 20:05:05 +05:30
Pradyun Gedam 51819cc3d8
Merge pull request #5886 from benoit-pierre/rework_tests_virtualenv_with_support_for_venv
Rework tests virtualenv, also adding support for using venv
2018-10-23 13:32:22 +05:30
Chris Jerdonek ece4866086 DRY up the test code to create a module with a main() function. 2018-10-23 00:06:06 -07:00
Xavier Fernandez 3b8c076c1f
Merge pull request #5842 from takluyver/i5839
Don't crash on invalid requirements in installed packages
2018-10-22 17:22:04 +02:00
Chris Jerdonek 5e47e85b83 Add a failing test. 2018-10-22 01:57:42 -07:00
Tzu-ping Chung 5d0a5761be Add (invalid) edge case inputs to tests 2018-10-22 16:48:24 +08:00
Tzu-ping Chung ad9cbf50ca More robust egg-info/name match
The idea is to use regex to scan for character sequences that would
be canonicalized into a dash, and skip the equal amount of sequences
to the given canonical name.
2018-10-22 16:48:24 +08:00
Tzu-ping Chung 3368819156 Split, simplify, and fix egg_info_matches 2018-10-22 16:46:42 +08:00
Benoit Pierre 0b45fdad6c tests: improve temporary directories cleanup 2018-10-21 21:43:32 +02:00
Benoit Pierre a4209aa0fb tests: add support for using venv for the virtual environment
Add a new testsuite option `--use-venv` to enable the use of `venv`
for creating a test virtual environment. The option is opt-in because
creating a `venv` environment does not work right when running under a
`virtualenv`; which is why `tox-venv` must be used in combination with
tox.
2018-10-21 21:43:32 +02:00
Jon Dufresne 2d545dd9c8 Prefer io.BytesIO over six; available on all supported Pythons
On all supported Pythons, the io.BytesIO is always a stream
implementation using an in-memory bytes buffer. Makes code slightly more
forward compatible by reducing use of the six module.
2018-10-19 13:52:58 +02:00
Chris Jerdonek c72b752bf7
Improve TestUnpackArchives to also test the contents of the extracted files (#5891) 2018-10-19 03:58:51 -07:00
Tom Forbes 78371cc950 Redact basic authentication passwords from log messages (#5773)
Redact basic authentication passwords from URLs.
2018-10-19 02:06:10 -07:00
Benoit Pierre add3801163 tests: rework tests virtual environment
- cleanup virtualenv creation code
- ensure all testing virtual environments use a recent version
  of setuptools / wheel, making it easier to switch to custom
  versions of those, as well as reducing network accesses
- reduce size of testing virtual environment, slightly speeding
  up the testsuite
2018-10-18 23:28:37 +02:00
Benoit Pierre 83b879b1ec Improve PEP 518 build isolation (#5824)
Handle .pth files, so namespace packages are correctly supported under Python 3.2 and earlier, and more.
2018-10-16 12:04:28 +05:30
Chris Jerdonek 8dbbe165f8
Merge pull request #5838 from uranusjr/htmlpage-extract-breakdown-get-page
Refactor _get_html_page() to use exceptions for flow control
2018-10-11 12:27:17 -07:00
Thomas Kluyver b61e83b0a3 OK, 79 characters 2018-10-11 17:18:13 +01:00
Thomas Kluyver 2480bc31f1 Fix linter issues 2018-10-11 16:52:37 +01:00
Thomas Kluyver a8cc72d895 Add test for 'pip check' with broken metadata 2018-10-11 16:14:34 +01:00
Tzu-ping Chung fc53f711b9 More tests on successful scenarios, fix docstrings 2018-10-11 17:47:08 +08:00
Tzu-ping Chung 200f126584 Move HTML page tests to their own file, fix typos 2018-10-11 17:45:38 +08:00
Tzu-ping Chung 5441fc7289 Some tests for error and input correction 2018-10-11 17:45:38 +08:00
Felix Yan f3d82aa741 Fix a typo in tests/lib/configuration_helpers.py (#5858) 2018-10-09 20:28:50 +05:30
Pradyun Gedam 35f0983639
Merge pull request #5863 from benoit-pierre/drop_py25_workaround
drop workaround for Python<=2.5
2018-10-09 14:34:49 +05:30
Xavier Fernandez 3832020a1f
Merge pull request #5483 from popravich/retry_fix
Handle RetryError in HTMLPage (fixes #5270)
2018-10-08 23:12:34 +02:00
Benoit Pierre 0a58159571 drop workaround for Python<=2.5 2018-10-07 14:26:34 +02:00
Pradyun Gedam c759504217
Merge pull request #5798 from pradyunsg/improve-configuration-handling
Improve configuration handling
2018-10-04 14:27:42 +05:30
Pradyun Gedam 3350cc4516
bodge: Allow both str and repr to be used for configuration file name
This is because Python 2's and Python 3's configparser treat the two
differently and we're reusing that message.
2018-10-03 20:23:40 +05:30
Alexey Popravka 290e3d592e split test into two 2018-10-02 13:23:34 +03:00
Benoit Pierre 464b2f30a8 fix support for invoking pip using `python src/pip ...`
Ensure the subprocess call to pip for installing the PEP 518
build dependencies is using the same version of pip.
2018-10-02 12:15:03 +02:00
Alexey Popravka 5295d8b0a6 test fix: setup logging level 2018-10-02 12:53:06 +03:00
Alexey Popravka b36d91c2a6 add failing test for HTMLPage.get_page raising RetryError 2018-10-02 12:50:57 +03:00
Pradyun Gedam 34d5af662f
Merge branch 'master' into improve-configuration-handling 2018-09-30 23:04:55 +05:30
Pradyun Gedam 29b12fa80b
Fix test to exactly match output 2018-09-30 23:04:46 +05:30
Tzu-ping Chung 00c043d144 Add unit tests for egg_info_matches 2018-09-30 01:41:06 +08:00
Tzu-ping Chung aa83222bf0 Rename base URL detection function 2018-09-28 16:52:57 +08:00
Tzu-ping Chung 40bf3688b4 Convert base_url property into local variable
This property is only used in HTMLPage.links, which is only called once
per instance in PackageFinder.find_all_candidates(). This would not
affect performance or behavior, but improves data locality.

The unit test of this property is and modified to test the underlying
function instead.
2018-09-28 14:56:52 +08:00
Chris Jerdonek 4afc1e3f69 Use *args in the test.
This incorporates a review suggestion of @pradyunsg.
2018-09-25 02:23:32 -07:00
Chris Jerdonek 520df5356f Add misc.make_vcs_requirement_url(). 2018-09-25 01:31:34 -07:00
Pradyun Gedam 6a18c24803
Show error messages when configuration-related errors occur 2018-09-20 11:18:22 +05:30
Pradyun Gedam 52cf26e5cb
Merge pull request #5709 from BoboTiG/fix-warnings
Fix several warnings
2018-09-18 22:25:00 +05:30
Pradyun Gedam 392cb09b50
Merge pull request #5723 from cjerdonek/vcs-add-git-get-branch
Fix the "new install" case of issue #2037
2018-09-18 19:59:59 +05:30
Laurie Opperman 10911fe881 Fix error when autocompleting after flag
When running autocomplete after any command-line option with unspecified
'metavar' attribute, a traceback for an 'AttributeError' would be
displayed. This is fixed for first checking if 'metavar' was defined.
Fixes #5751
2018-09-17 21:56:46 +10:00
Jon Dufresne 8136b410f7 Correct capitalization of PyPI
As spelled on https://pypi.org/.
2018-09-16 15:30:52 -07:00
Bernhard M. Wiedemann f4bda78815 Sort list of RECORD entries
Without sorting, the 'installed' hash had entries in random order
that caused output to differ for every run.

See https://reproducible-builds.org/ for why this matters.

Sorting all entries to make testing easier.
2018-09-11 13:51:33 +02:00
Pradyun Gedam 1e0247f078
Allow passing cache_dir as False to SelfCheckState 2018-09-06 00:43:59 +05:30
Nitesh Sharma 98966b91c7 update parametrize test and comment 2018-09-04 14:36:09 +05:30
Nitesh Sharma 82b25ffe6c sort imports properly 2018-09-02 23:25:14 +05:30
Nitesh Sharma a90c641868 Use equality operator for format_control instances 2018-09-02 23:14:47 +05:30
Nitesh Sharma fd692f32ba move format control to models and write parametrized test 2018-09-02 23:08:07 +05:30
Nitesh Sharma c6bf7acc97 fix linting errors 2018-08-28 22:05:18 +05:30
Nitesh Sharma b818b8324d refactor format control and rename test functions 2018-08-28 21:45:40 +05:30
Nitesh Sharma e10a613212 Refactoring: Move FormatControl to separate class
This moves FormatControl named tuple and it's all related
methods to separate class.

Closes https://github.com/pypa/pip/issues/5592
2018-08-28 21:12:42 +05:30
Pradyun Gedam 2b3609a37d
Merge pull request #5664 from cjerdonek/issue-5375-svn-ssh-auth
Fix #5375: add editable install support for svn+ssh URLs with a username
2018-08-22 08:33:08 +05:30
Chris Jerdonek 0d817939c3 Fix tests on Python 3.4 (GROUP=2). 2018-08-21 13:35:29 -07:00
Pradyun Gedam a5a07fe61c
Move InstallRequirement.from_line to constructors module 2018-08-21 20:37:40 +05:30
Pradyun Gedam 69b494aa29
Move InstallRequirement.from_editable to a constructors module 2018-08-21 20:27:22 +05:30
Chris Jerdonek b11bf9e978 Change get_revision_sha() to return is_branch. 2018-08-21 04:00:35 -07:00
Chris Jerdonek 8d6f7b56fa Add Git.get_branch(). 2018-08-21 04:00:35 -07:00
Chris Jerdonek 007dbf3ea6 Add two failing tests. 2018-08-21 04:00:30 -07:00
Chris Jerdonek f97baf9300 Add a test of installing from a repo with a non-master default branch. 2018-08-19 17:15:45 -07:00
Pradyun Gedam 1073b66b11
Merge pull request #5718 from cjerdonek/dry-up-with-install-version-pkg
DRY up test_install_vcs_git.py with _install_version_pkg()
2018-08-20 05:24:27 +05:30
Chris Jerdonek 1067c3abc6 DRY up test_install_vcs_git.py with _install_version_pkg(). 2018-08-19 12:17:10 -07:00
Chris Jerdonek 40555250c6 Remove unneeded @pytest.mark.network's inside test_install_vcs_git.py. 2018-08-19 03:36:14 -07:00
Chris Jerdonek b39bbba5e3 Address more review comments by @pradyunsg. 2018-08-19 01:03:26 -07:00
Chris Jerdonek 54b81e3a5c Put more of the URL pattern into _checkout_into_temp().
This addresses a review comment by @pradyunsg.
2018-08-19 00:30:33 -07:00
Chris Jerdonek 749c898a41 DRY up test_install_vcs_git.py with _checkout_into_temp(). 2018-08-18 23:37:46 -07:00
Chris Jerdonek b798e328aa DRY up test_install_vcs_git.py with _make_version_pkg_url(). 2018-08-18 20:53:15 -07:00
Chris Jerdonek 4e8cde753d Rename tests/functional/test_install_vcs.py to test_install_vcs_git.py. 2018-08-16 22:14:59 -07:00
Pradyun Gedam 7ab40252e6
Merge pull request #5623 from cjerdonek/vcs-fix-install-git-ref
Fix #5624: installing a Git ref for installs other than the first
2018-08-17 09:20:48 +05:30
Mickaël Schoentgen 3b1be840fc Fix one ResourceWarning: unclosed file in test_req.py 2018-08-16 21:08:23 +02:00
Pradyun Gedam 7f3df6d2e2
Don't import Link from pip._internal.index 2018-08-16 14:29:24 +05:30
Pradyun Gedam 20127bfe98
Merge pull request #5404 from sixninetynine/feature/platforms_for_target
Open up plat/abi/impl options to `install --target`
2018-08-12 22:09:01 +05:30
Pradyun Gedam 207a2393d4
Merge pull request #5698 from cjerdonek/simplify-test-bazaar-get-url-rev-and-auth
Simplify test_bazaar__get_url_rev_and_auth()
2018-08-12 18:10:39 +05:30
Paul Moore 78144e264a
Merge pull request #5692 from pfmoore/pep517
Refactorings and work in preparation for PEP 517
2018-08-11 08:35:36 +01:00
Chris Jerdonek d5af777d0d Fix issue #5624: installing a Git ref for installs after the first. 2018-08-08 00:16:57 -07:00
Chris Jerdonek 8d0423fcbb Simplify test_bazaar__get_url_rev_and_auth(). 2018-08-07 09:06:30 -07:00
Chris Jerdonek 63684d7e4d Add failing test. 2018-08-07 07:47:53 -07:00
Pradyun Gedam 09f68728f8
Merge pull request #5691 from cjerdonek/vcs-combine-test-files
Combine functional/test_install_vcs_git.py and functional/test_vcs.py with other modules
2018-08-07 19:29:48 +05:30
Loren Carvalho cddcb1407f Open up plat/abi/impl options to `install --target`
* Move dist restriction options to be re-usable (between install/download)
* Make dist restriction options usable in `install` (exclusively with --target)
* Add a check_supported_wheels bool to RequiriementSet for non-resolved (full path) dependencies
2018-08-05 16:13:20 -05:00
Pradyun Gedam 0f40c25b4e
Fix a Windows specific import 2018-08-05 19:39:58 +05:30
Pradyun Gedam cc47adee9a
Change the import names as renamed 2018-08-05 14:24:18 +05:30
Chris Jerdonek 48b55eb95e Combine tests/functional/test_vcs.py with other test modules. 2018-08-02 13:28:16 -07:00
Chris Jerdonek f115d1fa2d Combine tests/functional/test_install_vcs_git.py with other test modules. 2018-08-02 13:16:23 -07:00
Paul Moore 4e018d76e2 Check for assumed requirements once the build environment is created 2018-08-02 20:08:04 +01:00
Paul Moore 8cdf6564fd Stop trying to lazy-load pyproject.toml, it isn't worth it. 2018-08-02 20:07:52 +01:00
Paul Moore 5503b89c6b Fix some test failures 2018-08-01 16:45:08 +01:00
Paul Moore 873bae7b44 Initial tests for PEP 517 backend calls 2018-08-01 16:15:11 +01:00
Paul Moore 52d87f2e30 Refactoring metadata handling in InstallRequirement 2018-07-31 21:11:45 +01:00
Paul Moore 73a5847b26 Added unit tests for use_pep517 flag 2018-07-31 16:21:20 +01:00
Paul Moore dcc90c0e49 Fix test that expected a specific error message 2018-07-31 16:21:19 +01:00
Paul Moore 3a485da63e Make keeping the tmpdir a command line option 2018-07-30 15:27:58 +01:00
Paul Moore 7be0c888df Shut flake8 up 2018-07-30 14:39:58 +01:00
Paul Moore 65d5b47434 Add an environment variable to keep temporary directories when testing 2018-07-30 14:19:41 +01:00
Pradyun Gedam b13cee6388
Merge branch 'master' into refactor/pip-cli-subpackage 2018-07-30 09:52:18 +05:30