70 Commits

Author SHA1 Message Date
Christian Clauss 22223f0084 ruff rules SIM 2023-08-30 14:51:20 +02:00
Matt Davis c8f446510e Add back --skip-lock flag using the new utilities. (#5847)
* Add back --skip-lock flag using the new utilities.
2023-08-22 06:17:14 -04:00
Matt Davis 6ac1451ec8 stop using requirementslib models (#5793)
* Move away from requirementslib models

* Revise test since PEP-440 does not support wildcard versions but does support equivalent compatible release specifiers.

* simplify and remove dead code

* Ensure the os_name marker is AND with the other markers.

* Move what we still need from requirementslib into the pipenv utils and stop vendoring it.

* Remove requirementslib.

* force upgrade of virtualenv for python 3.12

* remove virtualenv-clone

* Update vcs specifiers documentation; infer name from specific pip line formats where possible.

* Provide helpful text and error for recently removed commands

* Set the right log levels and verbosity to show users the errors generated by pip resolver when supplying -v flag

* Fix the collection of all matching package hashes for non-pypi indexes.  Plus lesson from testing torch which contains local identifiers.
2023-08-19 16:36:52 -04:00
Matt Davis ec35f7fdf4 Remove --skip-lock flag 2023-07-29 10:07:51 +02:00
Matt Davis 69d8d1b7ea Merge pull request #5807 from pypa/fix-ruff-complaints
Fix ruff-complaints
2023-07-23 14:44:29 -04:00
Kian-Meng Ang 810fb745ae Fix typos
Found via `codespell -S ./peeps,./pipenv/patched,./pipenv/vendor,./pipenv/pipenv.1,./get-pipenv.py,./tests/test_artifacts`
2023-07-23 21:55:03 +08:00
Oz Tiram e74a282e09 Fix ruff warnings in tests/integration 2023-07-23 08:31:31 +02:00
Matt Davis faeae5cb40 Remove duplicated test 2023-07-11 20:23:42 +02:00
Matt Davis c715b11234 Finally get to the bottom of the test parallelism random failures is because click's CliRunner is not thread safe. 2023-07-11 20:23:42 +02:00
Christian Clauss 44e8aebc41 ruff --select=FLY,UP --target-version=py37 --fix . 2023-06-30 08:36:14 +02:00
Matt Davis 99800ec7a2 Requirementslib==2.3.0 (#5672)
* Bump requirementslib that drops vistir.

* Add news fragment

* Add missing file

* Remove vistir entirely

* fix circular import

* revert issue that may be causing circular import issue

* Hackaround current pythonfinder version importlib usage.

* PR Feedback

* fix lint
2023-04-29 19:22:28 +02:00
Matt Davis afb5ce7d3e Resolve merge conflicts with main. 2022-09-19 10:58:28 -04:00
Oz N Tiram 2a6b6c946d Fix failing tests with Plette.Pipfile
This commit comes with a warning! This might be considered a behavior
change. Since, plette uses a stricter boolean: \"true\" is not parsed
the same way as "true"
2022-09-13 14:58:40 +02:00
Matt Davis 24c51eb3a2 Resolve environment variables expanding for the sources. 2022-09-11 10:16:52 -04:00
Matt Davis 0c8d4c371a Fix the tests. 2022-09-11 09:37:49 -04:00
Matt Davis 93c8bdaf62 Examine the 20 slowest tests and make improvements. 2022-09-06 00:13:12 -04:00
Matt Davis 9848862927 Convert test runner to use pypiserver package as standalone process (#5284)
* Check point progress on moving tests to pypiserver.

* Allow other indexes to mimic the pypi json API for package hashes.

* Fix these tests that run on lower python versions only.

* Try adding the pypiserver to the github actions to only run once.

* Expand the scope of fixtures for pypiserver.

* try to accomedate microsoft runner.

* Windows networking troubles.

* Remove running as a background job.

* Try to condtionally invoke different start pypi-server commands

* Try to condtionally invoke different start pypi-server commands

* Try to condtionally invoke different start pypi-server commands

* Try to condtionally invoke different start pypi-server commands

* Try to condtionally invoke different start pypi-server commands

* Try to condtionally invoke different start pypi-server commands

* Try to condtionally invoke different start pypi-server commands

* Try to introduce pypi as the root index because setuptools-scm is not in our pypi artifacts.

* see if the windows tests run faster (and the other tests) by supplying waitress.

* Only use waitress on windows because the others are fast on the default.  Fix requests pollution.

* Supply a suitable Pipfile instead for these two failing tests.

* More requests resolver cross test contamination cleanup.

* remove problematic tests because even on my version of python 3.8.12 this does not work due to AttributeError: 'HTMLParser' object has no attribute 'unescape'

* fix mirror install test.

* Fix Pipfile.

* Fix Pipfile for real

* Fix tests

* Cleanup test naming and more test enhancements.

* Save this optimization for a subsequent PR.

* Cleanup the TemporaryDirectory between tests.

* resolve merge conflict.

* Cleanup path initalization -- it hsould always be a TemporaryDirectory for tests that gets cleanedup.

* Cleanup path initalization -- it hsould always be a TemporaryDirectory for tests that gets cleanedup.

* tableflip on those requests tests that read the setup metadata in reqlib from other tests.

* Update developer documentation for running tests.

* add news fragment.

* Try gunicorn perfoormance for linux/mac

* Only use gunicorn on linux based on the results of last run.
2022-09-05 10:19:12 -04: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 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 f488273715 Adjust test stdout expectations. 2022-03-11 02:52:03 -05:00
Frost Ming 904f0a3b86 capture outputs written in subprocesses 2021-08-03 10:41:19 +08:00
Frost Ming 9b4eb98529 Remove unused patch files 2021-07-28 17:30:17 +08:00
Frost Ming a82bbb7b27 Try switching from delegator to subprocess 2021-07-28 16:39:36 +08:00
Frost Ming ca5d931f1f Update to py36 plus syntax 2021-07-28 10:59:00 +08:00
Isheros dc882677e9 Added fix for bug 4141 2020-12-07 01:51:02 -06:00
Isheros 122379026a Added a test for the bug 2020-12-07 01:48:42 -06:00
frostming 8c959096a8 Adapt test cases to prefer the mocked PyPI. 2020-09-01 16:35:37 +08:00
Dan Ryan c1061bd0a2 Use vistir path normalization for shortened windows paths
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-04-10 12:14:07 -04:00
Dan Ryan d91a9d4fa6 Normalize paths in test_run_in_virtualenv for windows
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-04-10 12:14:07 -04:00
frostming 7d36f3fbda Reformat codes 2019-09-06 18:06:05 +08:00
John Vandenberg c79b291cbb Avoid using requests unnecessarily in tests
This replaces requests with tablib in test_include_editable_packages
as in a de-vendored environment the locking fails with requests.

Continuation of https://github.com/pypa/pipenv/issues/3644
2019-07-11 13:33:00 +07:00
Dan Ryan b105ea534b Fix test for formatting paths
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-07-06 14:47:39 -04:00
Dan Ryan e57898ac58 Fix windows test failure and leaky session from xmlrpc call
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-07-05 23:51:10 -04:00
Dan Ryan 83868c8f1a Cut over to devpi for tests and improve logging
- Verbose logs will now write gracefully to the terminal even while the
  spinner is running (i.e. during locking)
- This PR also cuts over to Devpi for a backing cache rather than a
  hacked httpbin instance
- Inclues a refactor of `pip_install` to deduplicate logic
- Attempts to switch back to relying on native editable installs in pip
  as the current implementation is broken on master (i.e. nothing is
  installed in the virtualenv)
- Fixes #3809

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-25 01:26:49 -04:00
Dan Ryan 359906c669 Update tests to resolve some transient resolution issues
Signed-off-by: Dan Ryan <dan@danryan.co>

probably need to sync submodules for this to work

Signed-off-by: Dan Ryan <dan@danryan.co>

Update to new version of artifacts

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix windows failure

Signed-off-by: Dan Ryan <dan@danryan.co>

Update azure-pipelines.yml for Azure Pipelines

Update lockfile test for windows

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix scandir test

Signed-off-by: Dan Ryan <dan@danryan.co>

Update azure test steps

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix virtualenv test

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix python discovery when nothing is supplied

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix cli ensure_project call

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix run in virtualenv test

Signed-off-by: Dan Ryan <dan@danryan.co>

Show why virtualenv test failed if it did

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix python interpreter discovery

Signed-off-by: Dan Ryan <dan@danryan.co>

scale down lock test modifications and increase error logging

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix spinner bugs on windows and python discovery

Signed-off-by: Dan Ryan <dan@danryan.co>

Fix pythonfinder search algorithm to dodge false paths on win

Signed-off-by: Dan Ryan <dan@danryan.co>

use pipenv directly

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-03 22:01:07 -04:00
Dan Ryan c23e57b482 Fix test and pipeline definitions
- Update extras name in pipelines
- fix windows virtualenv calls
- don't write debug info during virtualenv creation and just move on
- Generalize some pipelines
- Use quotes around evaluated statements in pipeline
- Fix envvar references
- Update vistir:
  - fix stream wrapper on windows
  - fix ICACLS permissions handler
  - fix path normalization function
- Update azure venv creation script
- Fix vendoring script

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-05-18 23:22:53 -04:00
Dan Ryan d8e66c7fce Add future imports to tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-05-16 00:52:10 -04:00
Dan Ryan cd2cbd4e1a Avoid using which in cross platform tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-02-20 18:20:51 -05:00
Dan Ryan a47a26b87a Fix failing tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-02-20 11:51:15 -05:00
Dan Ryan 9340ddb962 Update tests to rectify issues
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-02-20 02:38:02 -05:00
Dan Ryan 5ac228e68f Fix test errors and local install for azure
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-02-19 09:34:48 -05:00
Dan Ryan 574fe7308d Update all vendored dependencies
- Clean up test config and environment variable handling
- Unset env var changes performend by `pipenv run`
- Make `environments.is_in_virtualenv()` more dynamic -- read
  environment on the fly
- Split up tests on `pipenv run` to reduce complexity -- one test for
  global run (no virtualenv creation), one test for virtualenv creation
- Add `warn_in_virtualenv` call to `run` command, why doesn't click
  invoke this automatically?

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-01-21 19:05:25 -05:00
jxltom 16db36e60f Test for pipenv behavior in activated virtualenv 2018-12-16 20:36:32 +08:00
Frost Ming aadb24b9df Move to install test suite 2018-12-07 09:00:04 +08:00
Frost Ming 27f83a8631 preserve inline spaces in toml 2018-12-06 15:54:18 +08:00
jxltom 85e64b86be Resort imports for tests 2018-12-01 17:26:32 +08:00
Frost Ming a8f52eb0a6 determin virtualenv location on the run
Signed-off-by: Frost Ming <mianghong@gmail.com>
2018-11-17 17:51:26 +08:00
Frost Ming 748d22b2f2 virtualenv fixture and a test case
Signed-off-by: Frost Ming <mianghong@gmail.com>
2018-11-17 13:08:12 +08:00
Frost Ming ff8d17f383 switch to pathlib tmpdir
Signed-off-by: Frost Ming <mianghong@gmail.com>
2018-11-17 08:59:06 +08:00
Frost Ming 483621f478 recognize editable packages as in project
Signed-off-by: Frost Ming <mianghong@gmail.com>
2018-11-17 00:10:46 +08:00