poetry-core 1.0.4: pytest is failing
First of all it would be good if sdist tar ball would be with test suite.
I'm trying to package your module as an rpm package. So I'm using the typical build, install and test cycle used on building packages from non-root account.
- "setup.py build"
- "setup.py install --root </install/prefix>"
- "pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>
Looks like pytest is failing in two units because some missing files.
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-poetry-core-1.0.4-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-poetry-core-1.0.4-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.10.0, pluggy-0.13.1
benchmark: 3.4.1 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
Using --randomly-seed=3980196544
rootdir: /home/tkloczko/rpmbuild/BUILD/poetry-core-1.0.4
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, expect-1.1.0, flake8-1.0.7, timeout-1.4.2, betamax-0.8.1, freezegun-0.4.2, aspectlib-1.5.2, toolbox-0.5, rerunfailures-9.1.1, requests-mock-1.9.3, cov-2.12.1, flaky-3.7.0, benchmark-3.4.1, xdist-2.3.0, pylama-7.7.1, datadir-1.3.1, regressions-2.2.0, cases-3.6.3, xprocess-0.18.1, black-0.3.12, anyio-3.3.0, asyncio-0.15.1, trio-0.7.0, subtests-0.5.0, isort-2.0.0, hypothesis-6.14.6, mock-3.6.1, profiling-1.7.0, randomly-3.8.0, Faker-8.12.1, nose2pytest-1.0.8, pyfakefs-4.5.1, tornado-0.8.1, twisted-1.13.3
collected 545 items / 8 deselected / 537 selected
tests/semver/test_main.py .................................................................................... [ 15%]
tests/packages/constraints/test_union_constraint.py ... [ 16%]
tests/semver/test_parse_constraint.py .................... [ 19%]
tests/version/test_markers.py ............................................................................................. [ 37%]
tests/packages/test_vcs_dependency.py ....... [ 38%]
tests/packages/test_main.py ....................... [ 42%]
tests/masonry/builders/test_sdist.py ...........F.............. [ 47%]
tests/utils/test_helpers.py ...... [ 48%]
tests/json/test_poetry_schema.py .. [ 49%]
tests/masonry/utils/test_package_include.py ....... [ 50%]
tests/masonry/builders/test_complete.py ........ [ 51%]
tests/packages/test_url_dependency.py .. [ 52%]
tests/packages/constraints/test_multi_constraint.py .... [ 53%]
tests/spdx/test_license.py ........ [ 54%]
tests/packages/utils/test_utils.py ... [ 55%]
tests/masonry/builders/test_builder.py ....... [ 56%]
tests/packages/utils/test_utils_urls.py ..s..s..... [ 58%]
tests/packages/test_package.py ..................... [ 62%]
tests/masonry/test_api.py .............. [ 64%]
tests/packages/utils/test_utils_link.py . [ 65%]
tests/masonry/builders/test_wheel.py ...F............... [ 68%]
tests/spdx/test_main.py ..... [ 69%]
tests/semver/test_version_range.py ..... [ 70%]
tests/version/test_requirements.py ......................... [ 75%]
tests/packages/test_dependency.py .......................... [ 80%]
tests/semver/test_version.py ........................ [ 84%]
tests/test_factory.py ........ [ 86%]
tests/packages/constraints/test_constraint.py ...... [ 87%]
tests/pyproject/test_pyproject_toml_file.py ... [ 87%]
tests/vcs/test_vcs.py ....................................... [ 94%]
tests/packages/test_directory_dependency.py .... [ 95%]
tests/packages/test_file_dependency.py ..... [ 96%]
tests/pyproject/test_pyproject_toml.py ........ [ 98%]
tests/packages/constraints/test_main.py .......... [100%]
================================================================================= FAILURES =================================================================================
_____________________________________________________________________ test_default_with_excluded_data ______________________________________________________________________
mocker = <pytest_mock.plugin.MockerFixture object at 0x7ff9abcac220>
def test_default_with_excluded_data(mocker):
# Patch git module to return specific excluded files
p = mocker.patch("poetry.core.vcs.git.Git.get_ignored_files")
p.return_value = [
(
(
Path(__file__).parent
/ "fixtures"
/ "default_with_excluded_data"
/ "my_package"
/ "data"
/ "sub_data"
/ "data2.txt"
)
.relative_to(project("default_with_excluded_data"))
.as_posix()
)
]
poetry = Factory().create_poetry(project("default_with_excluded_data"))
builder = SdistBuilder(poetry)
# Check setup.py
setup = builder.build_setup()
setup_ast = ast.parse(setup)
setup_ast.body = [n for n in setup_ast.body if isinstance(n, ast.Assign)]
ns = {}
exec(compile(setup_ast, filename="setup.py", mode="exec"), ns)
assert "package_dir" not in ns
assert ns["packages"] == ["my_package"]
> assert ns["package_data"] == {
"": ["*"],
"my_package": ["data/*", "data/sub_data/data3.txt"],
}
E AssertionError: assert {'': ['*'], '.../sub_data/*']} == {'': ['*'], '...a/data3.txt']}
E Omitting 1 identical items, use -vv to show
E Differing items:
E {'my_package': ['data/*', 'data/sub_data/*']} != {'my_package': ['data/*', 'data/sub_data/data3.txt']}
E Use -v to get the full diff
tests/masonry/builders/test_sdist.py:419: AssertionError
___________________________________________________________________ test_default_src_with_excluded_data ____________________________________________________________________
mocker = <pytest_mock.plugin.MockerFixture object at 0x7ff9ab7ce9d0>
def test_default_src_with_excluded_data(mocker):
# Patch git module to return specific excluded files
p = mocker.patch("poetry.core.vcs.git.Git.get_ignored_files")
p.return_value = [
(
(
Path(__file__).parent
/ "fixtures"
/ "default_src_with_excluded_data"
/ "src"
/ "my_package"
/ "data"
/ "sub_data"
/ "data2.txt"
)
.relative_to(project("default_src_with_excluded_data"))
.as_posix()
)
]
poetry = Factory().create_poetry(project("default_src_with_excluded_data"))
builder = WheelBuilder(poetry)
builder.build()
whl = (
fixtures_dir
/ "default_src_with_excluded_data"
/ "dist"
/ "my_package-1.2.3-py3-none-any.whl"
)
assert whl.exists()
with zipfile.ZipFile(str(whl)) as z:
names = z.namelist()
assert "my_package/__init__.py" in names
assert "my_package/data/data1.txt" in names
> assert "my_package/data/sub_data/data2.txt" not in names
E AssertionError: assert 'my_package/data/sub_data/data2.txt' not in ['my_package/__init__.py', 'my_package/data/data1.txt', 'my_package/data/sub_data/data2.txt', 'my_package/data/sub_data/data3.txt', 'my_package-1.2.3.dist-info/entry_points.txt', 'my_package-1.2.3.dist-info/LICENSE', ...]
tests/masonry/builders/test_wheel.py:286: AssertionError
========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/packages/utils/test_utils_urls.py:57: condition: sys.platform != 'win32'
SKIPPED [1] tests/packages/utils/test_utils_urls.py:22: condition: sys.platform != 'win32'
FAILED tests/masonry/builders/test_sdist.py::test_default_with_excluded_data - AssertionError: assert {'': ['*'], '.../sub_data/*']} == {'': ['*'], '...a/data3.txt']}
FAILED tests/masonry/builders/test_wheel.py::test_default_src_with_excluded_data - AssertionError: assert 'my_package/data/sub_data/data2.txt' not in ['my_package/__init...
========================================================= 2 failed, 533 passed, 2 skipped, 8 deselected in 12.87s ==========================================================
pytest-xprocess reminder::Be sure to terminate the started process by running 'pytest --xkill' if you have not explicitly done so in your fixture with 'xprocess.getinfo(<process_name>).terminate()'.
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-c2296e4b-e90f-48d2-8f6d-3cb1bfc4364a/test_rmtree_errorhandler_reado0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_rmtree_errorhandler_reado0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-c2296e4b-e90f-48d2-8f6d-3cb1bfc4364a/test_rmtree_errorhandler_rerai0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_rmtree_errorhandler_rerai0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-c2296e4b-e90f-48d2-8f6d-3cb1bfc4364a/test_safe_set_no_perms0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_safe_set_no_perms0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-c2296e4b-e90f-48d2-8f6d-3cb1bfc4364a/test_safe_delete_no_perms0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_safe_delete_no_perms0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-c2296e4b-e90f-48d2-8f6d-3cb1bfc4364a/test_safe_get_no_perms0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_safe_get_no_perms0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-c2296e4b-e90f-48d2-8f6d-3cb1bfc4364a
<class 'OSError'>: [Errno 39] Directory not empty: '/tmp/pytest-of-tkloczko/garbage-c2296e4b-e90f-48d2-8f6d-3cb1bfc4364a'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2a093cc6-8f19-4f25-a1f5-41e0281bf502/test_rmtree_errorhandler_reado0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_rmtree_errorhandler_reado0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2a093cc6-8f19-4f25-a1f5-41e0281bf502/test_rmtree_errorhandler_rerai0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_rmtree_errorhandler_rerai0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2a093cc6-8f19-4f25-a1f5-41e0281bf502/test_safe_get_no_perms0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_safe_get_no_perms0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2a093cc6-8f19-4f25-a1f5-41e0281bf502/test_safe_set_no_perms0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_safe_set_no_perms0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2a093cc6-8f19-4f25-a1f5-41e0281bf502/test_safe_delete_no_perms0
<class 'OSError'>: [Errno 39] Directory not empty: 'test_safe_delete_no_perms0'
warnings.warn(
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:80: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2a093cc6-8f19-4f25-a1f5-41e0281bf502
<class 'OSError'>: [Errno 39] Directory not empty: '/tmp/pytest-of-tkloczko/garbage-2a093cc6-8f19-4f25-a1f5-41e0281bf502'
warnings.warn(
Its probably because the OS, sys modules don't allow to delete any directories that are not empty. To do so you need to clear the directory first. I suggest to do os.remove(os.walk()) if possible to remove contents of the directory first then it will remove the directory itself.
#hacktoberfest
OK .. but which one directory? :)
Which one exactly directory needs to be removed before pytest execution?
Closing (outdated)
This is still an issue.
Those tests (tests/masonry/builders/test_wheel.py::test_default_src_with_excluded_data and tests/masonry/builders/test_sdist.py::test_default_with_excluded_data) assume a valid local git repository that is always true for upstream's CI due to git clone. But downstreams may (or may not) run tests out of a git tree. The aforementioned tests mock poetry.core.vcs.git.Git.get_ignored_files, but actually they must mock
poetry.core.vcs.get_vcs.
Yep juat tested 1.2.0 amd I see those units failing 😞
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-poetry-core-1.2.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-poetry-core-1.2.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.13, pytest-7.1.3, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/poetry-core-1.2.0
plugins: mock-3.8.2
collected 1334 items / 8 deselected / 1326 selected
tests/test_core_version.py . [ 0%]
tests/test_factory.py ........................ [ 1%]
tests/json/test_poetry_schema.py ... [ 2%]
tests/masonry/test_api.py ............... [ 3%]
tests/masonry/builders/test_builder.py .................... [ 4%]
tests/masonry/builders/test_complete.py .......... [ 5%]
tests/masonry/builders/test_sdist.py ..................F.......... [ 7%]
tests/masonry/builders/test_wheel.py ..................F. [ 9%]
tests/masonry/utils/test_helpers.py ............. [ 10%]
tests/masonry/utils/test_package_include.py ........ [ 10%]
tests/packages/test_dependency.py ................................................................... [ 15%]
tests/packages/test_dependency_group.py . [ 15%]
tests/packages/test_directory_dependency.py ......... [ 16%]
tests/packages/test_file_dependency.py ...................... [ 18%]
tests/packages/test_main.py ......................... [ 20%]
tests/packages/test_package.py .................................................................... [ 25%]
tests/packages/test_specification.py ........................ [ 27%]
tests/packages/test_url_dependency.py ...... [ 27%]
tests/packages/test_vcs_dependency.py ................ [ 28%]
tests/packages/constraints/test_constraint.py ......................... [ 30%]
tests/packages/constraints/test_main.py .......... [ 31%]
tests/packages/constraints/test_multi_constraint.py .... [ 31%]
tests/packages/constraints/test_union_constraint.py ... [ 31%]
tests/packages/utils/test_utils.py ......................................................................... [ 37%]
tests/packages/utils/test_utils_link.py ................... [ 38%]
tests/packages/utils/test_utils_urls.py .s........s [ 39%]
tests/pyproject/test_pyproject_toml.py ........ [ 40%]
tests/pyproject/test_pyproject_toml_file.py ... [ 40%]
tests/semver/test_helpers.py ............................................................................................. [ 47%]
tests/semver/test_parse_constraint.py ........................................................ [ 51%]
tests/semver/test_utils.py ....... [ 52%]
tests/semver/test_version.py ....................................... [ 55%]
tests/semver/test_version_range.py ................... [ 56%]
tests/spdx/test_helpers.py ..... [ 57%]
tests/spdx/test_license.py ........ [ 57%]
tests/utils/test_helpers.py .................................................... [ 61%]
tests/vcs/test_vcs.py .......................................................ss [ 65%]
tests/version/test_markers.py ...................................................................................................................................... [ 75%]
......................................................................................................................... [ 85%]
tests/version/test_requirements.py ............................. [ 87%]
tests/version/pep440/test_segments.py ............................................................ [ 91%]
tests/version/pep440/test_version.py ............................................................................................................. [100%]
================================================================================= FAILURES =================================================================================
_____________________________________________________________________ test_default_with_excluded_data ______________________________________________________________________
mocker = <pytest_mock.plugin.MockerFixture object at 0x7fca7da7dac0>
def test_default_with_excluded_data(mocker: MockerFixture) -> None:
# Patch git module to return specific excluded files
p = mocker.patch("poetry.core.vcs.git.Git.get_ignored_files")
p.return_value = [
(
(
Path(__file__).parent
/ "fixtures"
/ "default_with_excluded_data"
/ "my_package"
/ "data"
/ "sub_data"
/ "data2.txt"
)
.relative_to(project("default_with_excluded_data"))
.as_posix()
)
]
poetry = Factory().create_poetry(project("default_with_excluded_data"))
builder = SdistBuilder(poetry)
# Check setup.py
setup = builder.build_setup()
setup_ast = ast.parse(setup)
setup_ast.body = [n for n in setup_ast.body if isinstance(n, ast.Assign)]
ns: dict[str, Any] = {}
exec(compile(setup_ast, filename="setup.py", mode="exec"), ns)
assert "package_dir" not in ns
assert ns["packages"] == ["my_package"]
> assert ns["package_data"] == {
"": ["*"],
"my_package": ["data/*", "data/sub_data/data3.txt"],
}
E AssertionError: assert {'': ['*'], '.../sub_data/*']} == {'': ['*'], '...a/data3.txt']}
E Omitting 1 identical items, use -vv to show
E Differing items:
E {'my_package': ['data/*', 'data/sub_data/*']} != {'my_package': ['data/*', 'data/sub_data/data3.txt']}
E Use -v to get more diff
tests/masonry/builders/test_sdist.py:454: AssertionError
___________________________________________________________________ test_default_src_with_excluded_data ____________________________________________________________________
mocker = <pytest_mock.plugin.MockerFixture object at 0x7fca7d9dd8e0>
def test_default_src_with_excluded_data(mocker: MockerFixture) -> None:
# Patch git module to return specific excluded files
p = mocker.patch("poetry.core.vcs.git.Git.get_ignored_files")
p.return_value = [
(
(
Path(__file__).parent
/ "fixtures"
/ "default_src_with_excluded_data"
/ "src"
/ "my_package"
/ "data"
/ "sub_data"
/ "data2.txt"
)
.relative_to(project("default_src_with_excluded_data"))
.as_posix()
)
]
poetry = Factory().create_poetry(project("default_src_with_excluded_data"))
builder = WheelBuilder(poetry)
builder.build()
whl = (
fixtures_dir
/ "default_src_with_excluded_data"
/ "dist"
/ "my_package-1.2.3-py3-none-any.whl"
)
assert whl.exists()
with zipfile.ZipFile(str(whl)) as z:
names = z.namelist()
assert "my_package/__init__.py" in names
assert "my_package/data/data1.txt" in names
> assert "my_package/data/sub_data/data2.txt" not in names
E AssertionError: assert 'my_package/data/sub_data/data2.txt' not in ['my_package/__init__.py', 'my_package/data/data1.txt', 'my_package/data/sub_data/data2.txt', 'my_package/data/sub_data/data3.txt', 'my_package-1.2.3.dist-info/entry_points.txt', 'my_package-1.2.3.dist-info/LICENSE', ...]
tests/masonry/builders/test_wheel.py:311: AssertionError
========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/packages/utils/test_utils_urls.py:23: condition: sys.platform != 'win32'
SKIPPED [1] tests/packages/utils/test_utils_urls.py:58: condition: sys.platform != 'win32'
SKIPPED [1] tests/vcs/test_vcs.py:429: Retrieving the complete path to git is only necessary on Windows, for security reasons
SKIPPED [1] tests/vcs/test_vcs.py:460: Retrieving the complete path to git is only necessary on Windows, for security reasons
FAILED tests/masonry/builders/test_sdist.py::test_default_with_excluded_data - AssertionError: assert {'': ['*'], '.../sub_data/*']} == {'': ['*'], '...a/data3.txt']}
FAILED tests/masonry/builders/test_wheel.py::test_default_src_with_excluded_data - AssertionError: assert 'my_package/data/sub_data/data2.txt' not in ['my_package/__init...
========================================================= 2 failed, 1320 passed, 4 skipped, 8 deselected in 9.80s ==========================================================
I'll reopen this ticket to keep this on outstanding list.
Tested that commit and pytest is clean with it. Thank you 👍
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-poetry-core-1.2.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-poetry-core-1.2.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.14, pytest-7.1.3, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/poetry-core-1.2.0
plugins: mock-3.9.0
collected 1334 items / 8 deselected / 1326 selected
tests/test_core_version.py . [ 0%]
tests/test_factory.py ........................ [ 1%]
tests/json/test_poetry_schema.py ... [ 2%]
tests/masonry/test_api.py ............... [ 3%]
tests/masonry/builders/test_builder.py .................... [ 4%]
tests/masonry/builders/test_complete.py .......... [ 5%]
tests/masonry/builders/test_sdist.py ............................. [ 7%]
tests/masonry/builders/test_wheel.py .................... [ 9%]
tests/masonry/utils/test_helpers.py ............. [ 10%]
tests/masonry/utils/test_package_include.py ........ [ 10%]
tests/packages/test_dependency.py ................................................................... [ 15%]
tests/packages/test_dependency_group.py . [ 15%]
tests/packages/test_directory_dependency.py ......... [ 16%]
tests/packages/test_file_dependency.py ...................... [ 18%]
tests/packages/test_main.py ......................... [ 20%]
tests/packages/test_package.py .................................................................... [ 25%]
tests/packages/test_specification.py ........................ [ 27%]
tests/packages/test_url_dependency.py ...... [ 27%]
tests/packages/test_vcs_dependency.py ................ [ 28%]
tests/packages/constraints/test_constraint.py ......................... [ 30%]
tests/packages/constraints/test_main.py .......... [ 31%]
tests/packages/constraints/test_multi_constraint.py .... [ 31%]
tests/packages/constraints/test_union_constraint.py ... [ 31%]
tests/packages/utils/test_utils.py ......................................................................... [ 37%]
tests/packages/utils/test_utils_link.py ................... [ 38%]
tests/packages/utils/test_utils_urls.py .s........s [ 39%]
tests/pyproject/test_pyproject_toml.py ........ [ 40%]
tests/pyproject/test_pyproject_toml_file.py ... [ 40%]
tests/semver/test_helpers.py ............................................................................................. [ 47%]
tests/semver/test_parse_constraint.py ........................................................ [ 51%]
tests/semver/test_utils.py ....... [ 52%]
tests/semver/test_version.py ....................................... [ 55%]
tests/semver/test_version_range.py ................... [ 56%]
tests/spdx/test_helpers.py ..... [ 57%]
tests/spdx/test_license.py ........ [ 57%]
tests/utils/test_helpers.py .................................................... [ 61%]
tests/vcs/test_vcs.py .......................................................ss [ 65%]
tests/version/test_markers.py ...................................................................................................................................... [ 75%]
......................................................................................................................... [ 85%]
tests/version/test_requirements.py ............................. [ 87%]
tests/version/pep440/test_segments.py ............................................................ [ 91%]
tests/version/pep440/test_version.py ............................................................................................................. [100%]
========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/packages/utils/test_utils_urls.py:23: condition: sys.platform != 'win32'
SKIPPED [1] tests/packages/utils/test_utils_urls.py:58: condition: sys.platform != 'win32'
SKIPPED [1] tests/vcs/test_vcs.py:429: Retrieving the complete path to git is only necessary on Windows, for security reasons
SKIPPED [1] tests/vcs/test_vcs.py:460: Retrieving the complete path to git is only necessary on Windows, for security reasons
============================================================== 1322 passed, 4 skipped, 8 deselected in 8.83s ===============================================================
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.