Commit Graph

863 Commits

Author SHA1 Message Date
Oz N Tiram ec34097407 Fixes of `requirements` with git requirements (#5083)
Solved by using existing convert_deps_to_pip function.

Fix #5076.

Original implementation by @fraser-langton. This also
solves the export of packages with editable mode, as suggested
by @hoyaaaa (#5071).
2022-04-26 13:19:17 +02:00
Matt Davis 5b3c55d85d Fix install failures that silently pass (#5046)
* Check at the end of install if the failed dependency queue is empty or not and exit with error when there are still failed dependencies.

* Address PR feedback about crayons.

* Fix windows tests that fail because of showing the progress bar, but only local -- CI still breaks. 

* Skip these tests on the windows CI for now.   Created https://github.com/pypa/pipenv/issues/5064 to track
2022-04-20 21:52:53 -04:00
Oz N Tiram 2bf70b7416 Removed usage of fs_str from vistir (#5062)
* Removed usage of fs_str from vistir

  This function was all about compatability of py2-py3.3 versions.
  Later versions don't need it.

* Explicitly convert dict values to strings

* Add news fragment
2022-04-20 16:17:57 +02:00
Matt Davis 949ee95d67 More granular control over PIPENV_VENV_IN_PROJECT variable. (#5026)
* Allow PIPENV_VENV_IN_PROJECT to be read in as None, and ensure if it is set to False that it does not use .venv directory.

* refactor based on PR feedback and add news fragment.

* Review unit test coverage and add new tests.  Remove unneccesary bits from other tests.
2022-04-06 21:10:05 +02:00
ImreC 63ac0d03a9 Implements requirements command as per #4959 (#5013)
* Implements reqs command

* Add news document

* Process comments

* Rename newsfile

* Adds --dev-only and --hash args

* Linting fixes

Co-authored-by: Imre Persoonlijk <imre1@pop-os.localdomain>
2022-04-05 14:13:33 +02:00
Matt Davis 3387881a6d Code reorg utils into utils module reduces complexity (#4990)
* Split apart the massive utils.py into a utils module
2022-03-29 20:27:33 -04:00
Matt Davis 0788b0122e Refactor test into a version that also check quiet mode, move to correct test file.
Add test cases for pip freeze has expected output
Add test for the package index restrictions.
2022-03-26 10:05:56 -04:00
Matt Davis 7f05d65eed Restore this message as stderr because it affects requirements.txt generation (#5005)
* Restore this message as stderr because it affects requirements.txt generation.

* Only load the dotenv file when it's a real file, and thus only print the message when it's present.

* Add news fragment.
2022-03-23 15:22:42 +01:00
Matt Davis b60fa7f5e6 Fix the assumption that all sources are named. (#5004)
* Fix the assumption that all sources are named.

* Add test case

* Add news fragment
2022-03-23 14:04:13 +01:00
Matt Davis 1207b34e14 Remove broken unused check and broken code argument from pipenv. 2022-03-21 05:52:23 -04:00
Oz N Tiram 2337984fd0 Merge pull request #4776 from cm-iwata/fix/4775_consider_envvar_piptarget
Consider environment variable PIP_TARGET when calculate depndancy delta
2022-03-20 00:56:02 +01:00
Matt Davis 506b9b40b9 Remove remaining references to git:// 2022-03-16 21:53:11 -04:00
Matt Davis b605989746 fix remaining failng test due to git:// protocol deprecation. 2022-03-16 21:31:10 -04:00
Matt Davis 7e465f358d take 2 2022-03-16 21:09:44 -04:00
Matt Davis ae3bfef534 Attempt at fixing the failing git protocol tests. 2022-03-16 21:04:44 -04:00
Matt Davis 5a151615aa missed these tests becasue they run only on earlier python versions. 2022-03-11 03:25:13 -05:00
Matt Davis f488273715 Adjust test stdout expectations. 2022-03-11 02:52:03 -05:00
Matt Davis 90a12ddb11 clean up edge case now that print success changed away from stderr. 2022-03-11 02:09:18 -05:00
Matt Davis e7732e2a1b Add test case for this. 2022-03-11 01:49:16 -05:00
Matt Davis 9eb1e7b6d9 Fix test of find_windows_executable and expand coverage. 2022-02-15 20:27:55 -05:00
Oz N Tiram 880f91c877 Merge pull request #4896 from den4uk/verify-hash-command
New command: verify Pipfile.lock hash is up to date
2022-02-10 11:14:31 +01:00
pinfort b60d37a859 Pattern expansion for arguments was disabled on Windows
Fix #4937.
2022-01-30 22:20:15 +01:00
Milo Minderbinder 167909839a fix TLS validation for requirements.txt
Previously, due to a probable typo in the code for importing a
requirements file to create a new pipenv project, SSL/TLS validation was
disabled by default for any package index servers specified in the
requirements file with the `--index-url` or `--extra-index-url` options.

In addition, `--trusted-host` options in the requirements file would not
work as intended, because any host or host:port pair provided with these
options was incorrectly being matched against the full URLs of the
configured index server(s) (i.e. including the scheme, path, etc.),
instead of extracting and comparing with the host and port parts only,
as intended.

This PR fixes both of these issues, flipping the existing behavior to
require SSL/TLS validation by default, and optionally allowing TLS
validation to be disabled explicitly for specific host:port with the
`--trusted-host` option if provided.
2022-01-08 22:17:49 +08:00
Frost Ming 9cb42e1acb Merge pull request #4910 from jfly/update-run-tests-instructions 2022-01-08 14:17:49 +08:00
Jeremy Fleischman 08a7fcf1cd Oops, set the CI environment variable even earlier.
If I do something like `pytest tests/integration/test_cli.py`, something
about the ordering of imports means that `pipenv.environments` gets
loaded *before* `pytest_sessionstart` runs, which means that
`pipenv.environments.PIPENV_IS_CI` ends up false.
2022-01-07 00:12:15 -08:00
Jeremy Fleischman f42fcaa2b8 Misc doc updates (mostly around running tests)
This adds and documents a workaround for
https://github.com/pypa/pipenv/issues/4909. It feels a bit weird to
pretend to be CI just to run the test suite, though. Maybe we can do
something about that later.

I ran into a lot of trouble trying to get the tests to run when working
on https://github.com/pypa/pipenv/pull/4908, and that was largely
because the instructions in this CONTRIBUTING.md file seem to have
rotted.

1. The bit about "can be run very simply" is bogus. It's
   unfortunately not that simple right now.

2. `make test` (the docker approach) fails for me with this error:

    ```bash
    $ make test
    docker-compose up
    [+] Running 1/0
     ⠿ Container pipenv-pipenv-tests-1  Recreated                                                                  0.1s
    Attaching to pipenv-pipenv-tests-1
    pipenv-pipenv-tests-1  | Collecting certifi
    pipenv-pipenv-tests-1  |   Downloading https://files.pythonhosted.org/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl (149kB)
    pipenv-pipenv-tests-1  | Installing collected packages: certifi
    pipenv-pipenv-tests-1  | Successfully installed certifi-2021.10.8
    pipenv-pipenv-tests-1  | Path: /root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    pipenv-pipenv-tests-1  | Installing Pipenv...
    pipenv-pipenv-tests-1  | Obtaining file:///pipenv
    pipenv-pipenv-tests-1  |     Complete output from command python setup.py egg_info:
    pipenv-pipenv-tests-1  |     Traceback (most recent call last):
    pipenv-pipenv-tests-1  |       File "<string>", line 1, in <module>
    pipenv-pipenv-tests-1  |       File "/pipenv/setup.py", line 55
    pipenv-pipenv-tests-1  |         print(f"\033[1m{s}\033[0m")
    pipenv-pipenv-tests-1  |                                  ^
    pipenv-pipenv-tests-1  |     SyntaxError: invalid syntax
    pipenv-pipenv-tests-1  |
    pipenv-pipenv-tests-1  |     ----------------------------------------
    pipenv-pipenv-tests-1  | Command "python setup.py egg_info" failed with error code 1 in /pipenv/
    pipenv-pipenv-tests-1 exited with code 1
    ```

    The docker image it relies upon
    (https://hub.docker.com/r/kennethreitz/pipenv-tests) hasn't been
    updated in 4 years, so I assume it's just not something people use
    anymore?

3. Relatedly, there was a `Dockerfile` at the root of this repo that
   appears to be unused. Let me know if it's used somewhere I'm not
   realizing, I can add it back!

4. https://kennethreitz.org/essays/be-cordial-or-be-on-your-way seems to
   be a broken link now. I found
   https://kennethreitz.org/essays/2013/01/27/be-cordial-or-be-on-your-way
   on Google.

5. `./run-tests.sh` doesn't work for me. It's failing for the same
   reason described by @ncoghlan here:
   https://github.com/pypa/pip/issues/7953#issuecomment-611928262. He
   said something about a `PIPENV_BOOTSTRAP` environment variable, but I
   can't find any information about that.
2022-01-07 00:01:33 -08:00
Jeremy Fleischman 34652df63c Use a PackageFinder with ignore_compatibility when collecting hashes
This fixes https://github.com/pypa/pipenv/issues/4885
2022-01-06 22:01:43 -08:00
Frost Ming 3d678257b7 Fix the index parsing 2021-12-23 10:49:17 +08:00
Denis Sazonov f742b9a8ca added a success message for verify 2021-12-20 11:25:46 +00:00
Denis Sazonov 45f8792804 added tests for pipenv verify 2021-12-18 22:29:35 +00:00
Frost Ming eda189aad8 Add a test case to verify the fix 2021-11-18 15:26:30 +08:00
cm-iwata a4c8067162 Merge branch 'main' into fix/4775_consider_envvar_piptarget 2021-11-09 10:51:08 +09:00
Frost Ming ff32a68771 Remove some usages of vistir.compat 2021-11-08 23:49:40 +08:00
Frost Ming bcb2f12deb Merge branch 'main' into fix/4775_consider_envvar_piptarget 2021-11-08 18:19:12 +08:00
Frost Ming 0f67a112dc Populate the PATH env in pipenv run 2021-11-08 15:02:37 +08:00
Tomoya Iwata 555912c2c6 Merge branch 'main' into fix/4775_consider_envvar_piptarget 2021-11-08 09:07:27 +09:00
Frost Ming 7873fd94de Merge pull request #4826 from pypa/ci/py310
Run CI against Python 3.10
2021-11-05 16:13:02 +08:00
Frost Ming 264b47438c fix sys.version_info 2021-11-05 15:33:39 +08:00
Frost Ming 2636992416 Merge pull request #4800 from kobayashi/4790-handle-empty-dot-venv
Fixes #4790: behaving as no .venv if .venv is in project root and empty
2021-11-05 14:46:18 +08:00
Frost Ming 88df069d68 fix tests for 3.9 and 3.10 2021-11-05 14:45:37 +08:00
Frost Ming e06d9e0287 change a package 2021-11-05 12:43:11 +08:00
Frost Ming 99beff2db0 fix vcs test cases 2021-11-04 21:42:37 +08:00
Frost Ming 7c77435bcc fix vcs url 2021-11-04 20:38:15 +08:00
Frost Ming 30e2aac739 Fix test error 2021-11-04 18:33:43 +08:00
Frost Ming e78ead7484 Don't include self for resolution for editable deps 2021-11-04 16:06:59 +08:00
Frost Ming 9dbf157f8b delete useless tests 2021-11-04 16:06:59 +08:00
kobayashi f26c9b5235 behave as no .venv if .venv is in project root and empty 2021-10-03 01:03:04 -04:00
Tomoya Iwata b20841e166 fix #4775 Consider environment variable PIP_TARGET when calculate depndancy delta. 2021-08-27 15:43:01 +09:00
Ikko Ashimine dd1fdce056 Fix typo in test_cli.py
begining -> beginning
2021-08-17 22:20:18 +09:00
Frost Ming 904f0a3b86 capture outputs written in subprocesses 2021-08-03 10:41:19 +08:00