Commit Graph

86 Commits

Author SHA1 Message Date
Matt Davis aed46b07c7 Fix tests 2022-11-10 01:47:29 -05:00
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
Oz N Tiram 9d532123d1 Merge pull request #5389 from pypa/clean-conftest
Clean conftest
2022-10-06 08:13:29 +02:00
Oz N Tiram 1f836f66fc Remove usage of fs_encode
See also #5062
2022-10-06 00:24:08 +02:00
Oz N Tiram ea84f684a6 Remove unused import of threading 2022-10-06 00:23:47 +02:00
Oz N Tiram d2fe28a8b0 Bump dparse version to 0.6.2 2022-10-02 23:58:38 +02: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 dbb0277866 Try to fix cross test pollution of Pipfile. 2022-09-04 00:28:02 +02:00
Matt Davis b26b4bfe2f Try to fix cross test pollution of Pipfile. 2022-09-04 00:28:02 +02:00
Matt Davis 4d7fc1506e Have the tests cleanup Pipfile after itself. 2022-09-04 00:28:02 +02:00
Oz N Tiram dbe6d45e89 Clean reference to delegator
We no longer vendor this package
2022-07-27 06:52:30 +02: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 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 904f0a3b86 capture outputs written in subprocesses 2021-08-03 10:41:19 +08:00
Frost Ming 443547fee5 show 10 slowest cases 2021-08-03 10:41:17 +08:00
Frost Ming 46ea38fcca Isolate environment variables 2021-08-03 10:41: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
Frost Ming e6edaa6977 Disable ssh check 2020-11-02 11:11:56 +08: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 c19435e6da Fix relative path issue during tests
Signed-off-by: Dan Ryan <dan.ryan@canonical.com>
2020-04-28 11:47:16 -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 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 8abaa06c23 Remove extraneous exception added to conftest.py
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-07-06 01:02:16 -04: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 4b75c6490d Fix devpi server to work on windows
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-25 23:52:49 -04:00
Dan Ryan edbb6321f4 Add windows support to test devpi server
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-25 17:25:18 -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 b4d6ea5236 Fix environment check
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-06-17 15:25:18 -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 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 7d0b0f6632 Merge branch 'master' into conftest-checks-ignore-KeyboardInterrupt 2019-05-26 17:05:53 -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 e3bf42e57e Merge remote-tracking branch 'origin/master' into update-vendored-deps 2019-05-15 20:39:44 -04:00
Miro Hrončok 6152199752 Pytest 4: Update to get_closest_marker
See https://docs.pytest.org/en/latest/mark.html#update-marker-code
2019-05-03 12:23:33 +02:00
Dan Ryan ff4c8b0d5c Update vendored deps
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-04-18 13:50:48 -04:00
John Vandenberg 8e584055cf conftest.py: Ignore KeyboardInterrupt
During check_internet() and check_github_ssh(), a KeyboardInterrupt
should be interpreted as user desire to escape the check, not escape
the entire test run.  This is especially true during check_github_ssh
which may require a passphrase from the user, which they might feel
uncomfortable giving during a test suite.

After these checks are bypassed, there is user feedback indicating the
tests are running, and so they can trigger KeyboardInterrupt again if
they wish to escape the entire test run.
2019-04-03 10:19:00 +07:00
Dan Ryan 92010826c8 Erm, remove verbose mode from tests
Signed-off-by: Dan Ryan <dan.ryan@xyleminc.com>
2019-03-24 15:58:10 -04:00
Dan Ryan 32e918fd46 Don't print extra strings to stdout
Signed-off-by: Dan Ryan <dan.ryan@xyleminc.com>
2019-03-24 14:49:15 -04:00
Dan Ryan 6971468f02 Write resolution results to temp json file instead of stdout
Signed-off-by: Dan Ryan <dan.ryan@xyleminc.com>
2019-03-24 13:10:17 -04:00
Dan Ryan a960990103 fix double declaration of kwarg
Signed-off-by: Dan Ryan <dan.ryan@xyleminc.com>
2019-03-23 22:36:03 -04:00
Dan Ryan 4a0b2b759a monkeypatch shutil.rmtree for tests
Signed-off-by: Dan Ryan <dan.ryan@xyleminc.com>
2019-03-23 21:59:44 -04:00
Dan Ryan 466fcc0a2a Fix test skip
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-03-16 15:10:51 -04:00
Dan Ryan 73129d8401 Fix internet connectivity test
Signed-off-by: Dan Ryan <dan@danryan.co>
2019-03-16 15:10:50 -04:00