Commit Graph

96 Commits

Author SHA1 Message Date
Oz N Tiram 4aad6f683e Merge branch 'main' into slowest-tests 2022-09-07 19:19:17 +02:00
Matt Davis 2407558d90 More test optimizations. 2022-09-07 16:21:30 +02:00
Aron Bierbaum ffcbdfa817 Fix test suite 2022-09-07 04:58:35 +02:00
Matt Davis bcaae97caa More test optimizations. 2022-09-06 00:46:46 -04:00
Matt Davis eb6295adb1 only install triggeres this warning. 2022-09-06 00:17:07 -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 0caed6906f Reduce the amount of calls to pip and the number of tempfiles in batch_install. (#5301)
* Reduce the amount of calls to pip and the number of temp files in batch_install.

* Add logic to read the progress of the install in realtime from pip and stop using progress bar.

* refactor based on PR feedback.
2022-08-31 19:51:29 -04:00
Dương Quốc Khánh e9dc3247dc Issue 4371 incorrect dependencies when install dev packages (#5234)
* Add test, ensure dev lock use default packages as constraints.

* Use default packages as constraints when locking develop packages.

* Add test, ensure installing dev-packages use default packages as constraints. (#4371) (#2987)

* Use default packages as constraints when installing provided dev packages.

* change vistir.path.normalize_path to pipenv.utils.shell.normalize_path

* Add function that get contraints from packages.

* Add test for get_constraints_from_deps function

* Use get_constraints_from_deps to get constraints

* Use @cached_property instead of @property

* Use standalone utility to write constraints file

* prepare_constraint_file use precomputed constraints.

* Add news fragment.
2022-08-13 05:17:09 -04:00
Matt Davis 84065c49ed test corrections. 2022-08-06 08:32:25 +02:00
Matt Davis 1daa4d5d8d Remove old way of generting requirements. 2022-08-06 08:32:25 +02:00
Matt Davis 771cee564a Remove tests that are old and permenently skipped, remove OS skips that seem to not make sense. 2022-07-29 15:28:18 +02:00
Matt Davis cd5a9683be Rename notpip to pip. Vendor in pip-22.2.1 and latest requirementslib and vistir. 2022-07-28 11:58:10 +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 5a151615aa missed these tests becasue they run only on earlier python versions. 2022-03-11 03:25:13 -05: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 ff32a68771 Remove some usages of vistir.compat 2021-11-08 23:49:40 +08:00
Frost Ming 264b47438c fix sys.version_info 2021-11-05 15:33:39 +08:00
Frost Ming 88df069d68 fix tests for 3.9 and 3.10 2021-11-05 14:45:37 +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 e78ead7484 Don't include self for resolution for editable deps 2021-11-04 16:06:59 +08:00
Frost Ming 904f0a3b86 capture outputs written in subprocesses 2021-08-03 10:41:19 +08:00
Frost Ming 6ef9344a5f Avoid wait() on processes 2021-07-29 14:42:52 +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
Frost Ming fac3eaeaa7 Revendor packages and update patches 2021-07-27 09:45:57 +08:00
Frost Ming 306731cbe0 Update test cases according to the latest pip 2021-07-26 16:48:55 +08:00
Frost Ming 7fe01318f1 resolver take the missing dev argument 2020-11-10 17:26:56 +08:00
Frost Ming 466707bd85 Show waring about what happened when a dep is skipped 2020-11-09 12:34:44 +08:00
frostming 8c959096a8 Adapt test cases to prefer the mocked PyPI. 2020-09-01 16:35:37 +08:00
Gordon P. Hemsley 873beae567 #4278: Don't pin wildcard versions in lockfile
Fixes bug introduced by 552d1274ea,
which activated the (unused) changes made much earlier in
a08a2da524.
2020-05-29 00:01:12 -04:00
Dan Ryan befb29ceae Update requirement parser and lockfile generation for vcs dependencies, fix test
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-05-19 13:36:23 -04:00
Dan Ryan c4f6b7f6f4 use normalized names in lockfile
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-05-19 10:53:00 -04:00
Dan Ryan 1f96b8cf7d Fix package name in test
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-05-19 09:56:55 -04:00
Dan Ryan 1a8111d4bb Clean up tests
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-05-19 09:56:55 -04:00
Dan Ryan a0f82865f8 Add tests for VCS pep508 subdependencies
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-05-19 09:56:55 -04:00
Dan Ryan c7425e7508 Skip tests that build extensions on windows
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-05-09 10:55:01 -04:00
Dan Ryan 47aa2acc90 Set build_isolation and use_pep517 correctly
- Fix how `use_pep517` and `build_isolation` are read from the
  environment -- introduce a new environment helper to detect
  `<PREFIX>_<SETTING>` and `<PREFIX>_NO_<SETTING>`, check for booleans
  and return appropriately boolean, str, or None types
- Check for `False` values when adding `--no-use-pep517` and
  `--no-build-isolation` during resolution rather than falsey values
- Change environment variable name from `PIP_PYTHON_VERSION` to
  `PIPENV_REQUESTED_PYTHON_VERSION` to avoid causing `pip` to fail due
  to accidentally percieving the `python_version` flag as being set --
  this is an artifact from attempting to resolve outside of the
  virtualenv
- Add `pipenv` to the path of patched `notpip.__main__` to accommodate
  updated import fully qualified module names
- Update `pip` and `piptools` patches
- Add test packages for each of two known failure modes: outdated
  `setuptools` with a missing `build-backend` (which `pip` forces to
  `build_meta:__legacy__` & which doesn't exist before `40.8`), and
  `import Cython` statements in `setup.py` in packages with properly
  defined `pyproject.toml` `build-backend` lines.
- Fixes #4231
- Replaces, includes, and closes #4242

Signed-off-by: Dan Ryan <dan.ryan@canonical.com>

Add integration tests for #4231

Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-05-08 21:43:32 -04:00
Dan Ryan c30155ff45 Fix recursive PEP 508 VCS resolution
- Recursively resolve PEP 508 URLs in subdependencies
  - Fix `piptools` cache storage of VCS dependencies as results
- Avoid saving VCS dependency versions to `Pipfile.lock`
- Fixes #3396
- Fixes #4217

Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-05-05 23:44:34 -04:00
TennyZhuang db9f296ebe update test 2020-04-24 23:28:49 +08:00
Dan Ryan e03878d7c7 Add news entry and fix lockfile
- Drop pytest-tap
- Update azure pipelines config
- Borrow ramdisk configuration from pip
- Fix pyinstaller ref for python 2
- Add 0-minute timeout and add github workflow
- Add skip for pywin32
- Scale down to `-n auto` to reduce race conditions on windows
- Skip pywin32 on python 3.8 as the relevant dependencies aren't
  compatible
- Use default pip exists action = ignore to work around VCS race
  condition
- Create local temp directory to avoid crossing drive letter boundary on
  azure during CI runs
- Monkeypatch click windows console detection to return False in CI

Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-04-10 12:14:06 -04:00
Sumana Harihareswara 805f438108 Fix spelling in comment
Signed-off-by: Sumana Harihareswara <sh@changeset.nyc>
2020-03-06 15:51:31 -05:00
Sumana Harihareswara 603a20bf45 Update links in documentation
The canonical Pipenv documentation is now at pipenv.pypa.io.
Also, the canonical GitHub repositories for Pipenv and
Requests have changed, and some other communications links
(Twitter, mailing list, "thank you") were no longer
operational. This commit updates those and clarifies that
Pipenv is a project maintained by the PyPA.

Fixes #4137.

Signed-off-by: Sumana Harihareswara <sh@changeset.nyc>
2020-03-05 20:55:28 -05:00
frostming 7d36f3fbda Reformat codes 2019-09-06 18:06:05 +08:00
Dan Ryan 9c3ee2a72b Get rid of devpi
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-07-05 02:55:47 -04:00
Dan Ryan 5ac676711a Fix editable VCS dependency resolution
- Fixes #3809

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-07-05 02:06:43 -04:00