Commit Graph

43 Commits

Author SHA1 Message Date
Matt Davis afb5ce7d3e Resolve merge conflicts with main. 2022-09-19 10:58:28 -04:00
Oz N Tiram 129e821481 Remove comment - Plette does no expand env vars on disk 2022-09-15 14:54:32 +02:00
Oz N Tiram 1b8f6278df Fix test_environment_variable_value_does_not_change_hash
It seems the are was an assertion in this test that was wrong.

I don't think pipenv install should modifiy the Pipfile when running
`pipenv install`.
2022-09-14 00:29:02 +02:00
Oz N Tiram 8c2118360f Fix broken test with plette.Pipfile
This tests actually required the private pypi, since fake-package
doesn't exist on Pypi!
2022-09-13 23:46:36 +02:00
Matt Davis 0c8d4c371a Fix the tests. 2022-09-11 09:37:49 -04:00
Matt Davis 83d0f101d9 Fix hash generatiton with named categories and convert more to plette because of this. 2022-09-11 07:36:58 -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
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
Frost Ming 9dbf157f8b delete useless tests 2021-11-04 16:06:59 +08:00
Frost Ming 6a221cf732 Don't share project objects but create own 2021-07-30 12:31:43 +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
frostming 8c959096a8 Adapt test cases to prefer the mocked PyPI. 2020-09-01 16:35:37 +08:00
Dan Ryan 61d7223467 fix skip marker
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-04-23 12:31:51 -04:00
Dan Ryan 1fedb96c5e skip flaky marker test
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-04-23 11:05:53 -04:00
Dan Ryan 73edea10a0 Skip flaky test
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-04-22 17:28:19 -04:00
Dan Ryan 478e4c5f37 add debugging for flaky markers test
- Don't retry vcs installs without pep517 builds

Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-04-21 00:39:40 -04:00
Dan Ryan 8eddee63d8 Fix incorrect marker in test
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-04-10 18:21:28 -04: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
frostming 7d36f3fbda Reformat codes 2019-09-06 18:06:05 +08: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
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 d8e66c7fce Add future imports to tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-05-16 00:52:10 -04:00
Dan Ryan b7de7c1cdf Fix marker formatting and inclusion
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-05-15 20:43:31 -04:00
John Vandenberg 1d87a6aff7 Avoid using requests in tests
test_specific_package_environment_markers using requests
fails when requests is pre-installed via PYTHONPATH.

Closes https://github.com/pypa/pipenv/issues/3644
2019-03-25 03:11:48 +07:00
Dan Ryan 8fdc589d05 Fix test skip
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-03-16 15:10:50 -04:00
jxltom 85e64b86be Resort imports for tests 2018-12-01 17:26:32 +08:00
Dan Ryan bd7b6004fe Update requirementslib and re-patch piptools
- Fix attempted hashing of `ssh://` urls
- Fix URL parsing and conversions of `git` and `git+ssh` style vcs urls
- Fixes #2653
- Fixes #2446
- Update lockfile
- Vendor typing
- Add typing to setup.py
- Add click completion patch and update vendoring task
- Fix vendoring script
- Vendor enum34
- Update requirementslib and cleanup vcs check functionality
- Move enum and adjust patched click completion
- Update click completion
- Bump requirementslib again
- Move typing to backports, update tests
- Update tomlkit imports and backport typing module

Signed-off-by: Dan Ryan <dan@danryan.co>
2018-08-27 15:59:36 -04:00
Dan Ryan 547110b7b4 Add additional comparison for markers
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-30 22:33:38 -04:00
Tzu-ping Chung d5b91f13e7 Format 2018-06-30 13:46:56 +08:00
Dan Ryan b9559951b6 Fix test failures
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-29 21:18:34 -04:00
Dan Ryan 88ff271a8d Fix tests for python 37
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-27 00:58:06 -04:00
Dan Ryan b74c6586fa Minor control flow and test logic updates
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-22 15:36:39 -04:00
Dan Ryan 1c054c3701 Fix VCRPy test
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-14 03:58:49 -04:00
Dan Ryan 9e04a85b8c I have fixed the test.
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-06-12 03:38:26 -04:00
Dan Ryan 4a2b01e505 Merge branch 'master' into update-piptools 2018-05-23 15:33:53 -04:00
Jeremy Fleischman 0567c10d68 When formatting a requirement, only lowercase its name.
This fixes https://github.com/pypa/pipenv/issues/2113.

This bug was introduced in
<https://github.com/jazzband/pip-tools/pull/452> as a band-aid fix to
<https://github.com/jazzband/pip-tools/issues/431>. Pipenv then copied
that code in <https://github.com/pypa/pipenv/commit/2553ebcbf7e2574c997a9164234e0adf077ffcac#diff-b56b95ccea8595a0f6f24ea753842976>, and inherited this latent bug.

Maybe the right fix is for pypa/packaging to lowercase the name? There's
a comment here
<https://github.com/pypa/packaging/blob/16.8/packaging/requirements.py#L86>
about normalizing the requirement's name, which might be what this is
referring to.

To test this, I invented a new, very simple python package called
`depends-on-marked-package`. The setup.py for this package is just:

```python
import setuptools

setuptools.setup(
    name="depends-on-marked-package",
    version="0.0.1",
    packages=setuptools.find_packages(),
    install_requires=['pytz; platform_python_implementation=="CPython"'],
)
```

This is a simplified version of gevent's setup.py's install_requires upon greenlet.
2018-05-22 23:08:20 -07:00
Dan Ryan 8abb764ce8 Update pypi urls
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-05-17 14:43:09 -04:00
Tzu-ping Chung cde60ca58c Fix import 2018-04-12 17:47:54 +08:00
Tzu-ping Chung 4533e68bca Move things around 2018-04-12 17:35:17 +08:00