poetry icon indicating copy to clipboard operation
poetry copied to clipboard

poetry-core 1.0.4: pytest is failing

Open kloczek opened this issue 4 years ago • 6 comments

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(

kloczek avatar Sep 07 '21 17:09 kloczek

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

SASIN83 avatar Sep 17 '21 21:09 SASIN83

OK .. but which one directory? :)

kloczek avatar Sep 21 '21 22:09 kloczek

Which one exactly directory needs to be removed before pytest execution?

kloczek avatar Nov 25 '21 13:11 kloczek

Closing (outdated)

kloczek avatar Jan 07 '22 08:01 kloczek

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.

stanislavlevin avatar Sep 13 '22 11:09 stanislavlevin

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.

kloczek avatar Sep 16 '22 18:09 kloczek

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 ===============================================================

kloczek avatar Oct 04 '22 08:10 kloczek

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.

github-actions[bot] avatar Mar 01 '24 07:03 github-actions[bot]