Commit Graph

61 Commits

Author SHA1 Message Date
Oz N Tiram 7c945d6bf0 Remove usage of mkdir_p in favour of os.makedirs
This function was defined in ``pipenv.utils.shell`` and
in ``vistir.path``. ``os.makedirs`` which is added in newer Python
version is doing the same.
2022-10-12 11:00:15 +02:00
Matt Davis b3381ce4e8 Check point progress fixing tests in branch. 2022-09-22 04:32:32 -04:00
Matt Davis 2b1e270daa Add test. 2022-09-21 06:57:13 -04:00
Oz N Tiram 3eacea2f49 Remove tests with --sequential 2022-09-09 22:56:55 +02:00
Matt Davis bcaae97caa More test optimizations. 2022-09-06 00:46:46 -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 f0d29d415c fix test 2022-09-01 01:52:50 +02:00
Matt Davis 46f8c863e0 Cleanup requests packages from the install_twists tests. 2022-09-01 01:52:50 +02:00
Matt Davis e2e67caabd Remove another dead test. 2022-07-29 15:28:18 +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 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 ff32a68771 Remove some usages of vistir.compat 2021-11-08 23:49:40 +08:00
Frost Ming 0f67a112dc Populate the PATH env in pipenv run 2021-11-08 15:02:37 +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 698ef8cdd2 improve test performance 2020-11-02 11:11:57 +08:00
Dan Ryan 07a7c6110f Remove version from VCS lock keys
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-05-19 14:23:01 -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 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 8bb39a73e6 Check stderr instead of stdout for message and add required info back to outdated packages
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-17 02:04:55 -04:00
Dan Ryan 98f7f42742 Fix toml parsing and resolver comparisons
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-17 01:34:37 -04:00
Dan Ryan e7536ab1f6 Fix version comparisons in do_outdated
- Fix comparisons between post-release and non-post-release versions
- Update `pip_shims` to accommodate new pip versions
- Implement syntax changes in `environment.py` to account for new pip
  syntax
- Add `required` version output to `pipenv update --outdated`
- Add pipfile version pin information as well, if available

Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-16 23:06:37 -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
Dan Ryan a47a26b87a Fix failing tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-02-20 11:51:15 -05:00
Dan Ryan f5fda09b9d Direct URL updates and pep517 fixes
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-02-14 22:44:51 -05:00
Dan Ryan 19f2ee61e9 Update resolver to handle all resolution in venv
- Resolve all VCS and non-piptools-resolveable deps in venv
- Implement pep517 for resolution of non-setuptools builds
- Add full support for the new dependency link format
- Fix breakages from pip 19* rollout and subsequent setuptools breakage

Signed-off-by: Dan Ryan <dan.ryan@xyleminc.com>
2019-02-11 00:48:35 -05:00
Dan Ryan 846b67f521 Update PEP 508 dependency parsing implementation
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-01-24 01:21:46 -05:00
jxltom 85e64b86be Resort imports for tests 2018-12-01 17:26:32 +08:00
Dan Ryan 2a7cc26767 Fix broken tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-11-22 13:55:50 -05:00
Dan Ryan 66e9822d8a Potentialy speed up tests, decrease network calls"
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-11-22 13:32:34 -05:00
Chris Miller cba5a1efc6 Remove debug print from test. 2018-11-17 12:52:12 -05:00
Chris Miller 70f6bec85e Use cross platform Path compatibility module in test. 2018-11-16 13:33:22 -05:00
Chris Miller 65e49f1bff Print generated Pipfile during test to help debug failures. 2018-11-16 10:23:51 -05:00
Chris Miller db1eb1bacb Use correct Path module to get tests to work. 2018-11-16 10:23:51 -05:00
Chris Miller a95ce8bb32 Remove unnecessary test marks and imports. 2018-11-16 10:23:51 -05:00
Chris Miller 262293699e Fix race condition when installing 2+ editable non-VCS pkgs at once
This regression was recently introduced, and only affects non-vcs
packages. The effect of the race is that installations of multiple
editable non-VCS sourced packages at once may cause some of them to be
un-importable.

The fix is to make editable package installs Blocking just like VCS
installs are.
2018-11-16 10:23:51 -05:00
Dan Ryan fedda7f2c4 Clean up test 2018-09-05 12:47:10 +08:00
Mickaël Schoentgen 25a4b558cd Fix 2 ResourceWarning: unclosed file, in tests 2018-09-01 15:58:33 +02:00
Alexandros Tzannes 86bbec18d9 Factor-out decorators for class tests 2018-08-06 10:44:10 -07:00
Alexandros Tzannes dd3b210862 Wrap two tests and helpers in a class 2018-08-06 10:41:16 -07:00
Alexandros Tzannes 3cc02ebd5d Break dependency-links test into two separate tests
Use helper functions to reduce code duplication since these two tests
are quasi-identical
2018-08-06 10:30:04 -07:00
Alexandros Tzannes 210a9d46fb Add back git+ssh version of dep-links test
See if it fails n build Kite
2018-08-06 10:04:16 -07:00
Dan Ryan 0e7ddbccf3 Enable dependency link processing
- Use `PIP_PROCESS_DEPENDENCY_LINKS` to toggle the processing of dependency links
2018-08-05 02:49:18 -04:00
Alexandros Tzannes f1cb2287ab Add -v flag to get better insight when it fails 2018-08-03 15:05:56 -07:00
Alexandros Tzannes e47fd53f95 [fixup] skip the git+ssh deplink
test if the git+https test works on Build Kite
2018-08-03 15:05:56 -07:00
Alexandros Tzannes 83ca4fbbb3 Add test for setup.py::dependency-link field 2018-08-03 15:05:56 -07:00