Package Details: ansible-core-2.16 2.16.14-3

Git Clone URL: https://aur.archlinux.org/ansible-core-2.16.git (read-only, click to copy)
Package Base: ansible-core-2.16
Description: Radically simple IT automation platform (legacy version with python 3.6 remote support)
Upstream URL: https://www.ansible.com
Licenses: GPL-3.0-or-later AND BSD-2-Clause AND PSF-2.0 AND MIT AND Apache-2.0
Conflicts: ansible-core
Provides: ansible-base, ansible-core, python-ansible
Replaces: ansible-base
Submitter: nicolasyang
Maintainer: nicolasyang
Last Packager: nicolasyang
Votes: 1
Popularity: 0.009658
First Submitted: 2024-05-22 05:12 (UTC)
Last Updated: 2025-03-19 10:56 (UTC)

Required by (16)

Sources (5)

Pinned Comments

sctyboy commented on 2024-05-29 19:17 (UTC) (edited on 2024-05-29 19:18 (UTC) by sctyboy)

If cowsay package is installed, then the build/tests fail as follows. Removing the cowsay package allows the build to proceed normally.


=================================== FAILURES ===================================
_____________________ test_display_with_fake_cowsay_binary _____________________
[gw13] linux -- Python 3.12.3 /usr/bin/python

capsys = <_pytest.capture.CaptureFixture object at 0x75e7f5486840>
mocker = <pytest_mock.plugin.MockerFixture object at 0x75e7f5485f70>

    def test_display_with_fake_cowsay_binary(capsys, mocker):
        display = Display()

        mocker.patch("ansible.constants.ANSIBLE_COW_PATH", "./cowsay.sh")

        mock_popen = MagicMock()
        mock_popen.return_value.returncode = 1
        mocker.patch("subprocess.Popen", mock_popen)

>       assert not hasattr(display, "cows_available")
E       AssertionError: assert not True
E        +  where True = hasattr(<ansible.utils.display.Display object at 0x75e7f7fb16a0>, 'cows_available')

test/units/utils/display/test_broken_cowsay.py:23: AssertionError

Latest Comments

RosAleksandrov commented on 2025-03-19 11:22 (UTC)

Noted, thank you.

nicolasyang commented on 2025-03-19 11:10 (UTC)

@RosAleksandrov The upstream has problems in the cowsay test. You need to to build in a clean chroot, or remove cowsay before building.

RosAleksandrov commented on 2025-03-19 11:05 (UTC)

Well, now sanity test fails

FAILED test/units/utils/display/test_broken_cowsay.py::test_display_with_fake_cowsay_binary - AssertionError: assert not True =========== 1 failed, 1986 passed, 2 skipped, 266 warnings in 22.96s =========== FATAL: Command "pytest -r a -n auto --color yes -p no:cacheprovider -c /home/rosen/.cache/paru/clone/ansible-core-2.16/src/ansible-2.16.14/test/lib/ansible_test/_data/pytest/config/default.ini --junit-xml /home/rosen/.cache/paru/clone/ansible-core-2.16/src/ansible-2.16.14/test/results/junit/python3.13-controller-units.xml --strict-markers --rootdir /home/rosen/.cache/paru/clone/ansible-core-2.16/src/ansible-2.16.14 --confcutdir /home/rosen/.cache/paru/clone/ansible-core-2.16/src/ansible-2.16.14 --durations=25 test/units/_vendor/test_vendor.py test/units/ansible_test/_internal/test_util.py test/units/ansible_test/ci/test_azp.py test/units/ansible_test/test_diff.py test/units/ansible_test/test_validate_modules.py test/units/cli/arguments/test_optparse_helpers.py test/units/cli/galaxy/test_collection_extract_tar.py test/units/cli/galaxy/test_display_collection.py test/units/cli/galaxy/test_display_header.py test/units/cli/galaxy/test_display_role.py test/units/cli/galaxy/test_execute_list.py test/units/cli/galaxy/test_execute_list_collection.py test/units/cli/galaxy/test_get_collection_widths.py test/units/cli/test_adhoc.py test/units/cli/test_cli.py test/units/cli/test_console.py test/units/cli/test_doc.py test/units/cli/test_galaxy.py test/units/cli/test_playbook.py test/units/cli/test_vault.py test/units/config/manager/test_find_ini_config_file.py test/units/config/test_manager.py test/units/errors/test_errors.py test/units/executor/module_common/test_modify_module.py test/units/executor/module_common/test_module_common.py test/units/executor/module_common/test_recursive_finder.py test/units/executor/test_interpreter_discovery.py test/units/executor/test_play_iterator.py test/units/executor/test_playbook_executor.py test/units/executor/test_task_executor.py test/units/executor/test_task_queue_manager_callbacks.py test/units/executor/test_task_result.py test/units/galaxy/test_api.py test/units/galaxy/test_collection.py test/units/galaxy/test_collection_install.py test/units/galaxy/test_role_install.py test/units/galaxy/test_role_requirements.py test/units/galaxy/test_token.py test/units/galaxy/test_user_agent.py test/units/inventory/test_group.py test/units/inventory/test_host.py test/units/parsing/test_ajson.py test/units/parsing/test_dataloader.py test/units/parsing/test_mod_args.py test/units/parsing/test_splitter.py test/units/parsing/test_unquote.py test/units/parsing/utils/test_addresses.py test/units/parsing/utils/test_jsonify.py test/units/parsing/utils/test_yaml.py test/units/parsing/vault/test_vault.py test/units/parsing/vault/test_vault_editor.py test/units/parsing/yaml/test_constructor.py test/units/parsing/yaml/test_dumper.py test/units/parsing/yaml/test_loader.py test/units/parsing/yaml/test_objects.py test/units/playbook/role/test_include_role.py test/units/playbook/role/test_role.py test/units/playbook/test_attribute.py test/units/playbook/test_base.py test/units/playbook/test_block.py test/units/playbook/test_collectionsearch.py test/units/playbook/test_conditional.py test/units/playbook/test_helpers.py test/units/playbook/test_included_file.py test/units/playbook/test_play.py test/units/playbook/test_play_context.py test/units/playbook/test_playbook.py test/units/playbook/

nicolasyang commented on 2025-03-19 11:00 (UTC)

@RosAleksandrov I removed the upper bound.

RosAleksandrov commented on 2025-03-19 08:15 (UTC)

ERROR Missing dependencies: setuptools<=75.6.0,>=66.1.0

Any fixes for this ?

nicolasyang commented on 2024-07-08 19:03 (UTC)

@sctyboy Display is a Singleton. I think this stops patching subprocess.Popen from working when the unit tests run in batch. I have commented in the upstream issue.

sctyboy commented on 2024-07-08 13:24 (UTC) (edited on 2024-07-08 13:25 (UTC) by sctyboy)

I have the same build/test failure with cowsay, now, but only if it's run via makepkg, if I run the test manually it seems to pass fine:

from makepkg:

=================================== FAILURES ===================================
_____________________ test_display_with_fake_cowsay_binary _____________________
[gw8] linux -- Python 3.12.4 /usr/bin/python

capsys = <_pytest.capture.CaptureFixture object at 0x781d930b5640>
mocker = <pytest_mock.plugin.MockerFixture object at 0x781d930b5850>

    def test_display_with_fake_cowsay_binary(capsys, mocker):

        mocker.patch("ansible.constants.ANSIBLE_COW_PATH", "./cowsay.sh")
        mock_popen = MagicMock()
        mock_popen.return_value.returncode = 1
        mocker.patch("subprocess.Popen", mock_popen)
        display = Display()

>       assert not hasattr(display, "cows_available")
E       AssertionError: assert not True
E        +  where True = hasattr(<ansible.utils.display.Display object at 0x781d9a01d790>, 'cows_available')

test/units/utils/display/test_broken_cowsay.py:22: AssertionError

manually:


[ssilverman@scottlinux ansible-core-2.16]$ pytest -r a -n auto --color yes -p no:cacheprovider -c ~/build/ansible-core-2.16/src/ansible-2.16.8/test/lib/ansible_test/_data/pytest/config/default.ini --junit-xml src/ansible-2.16.8/test/results/junit/python3.12-controller-units.xml --strict-markers --rootdir src/ansible-2.16.8 --confcutdir src/ansible-2.16.8 --durations=25 src/ansible-2.16.8/test/units/utils/display/test_broken_cowsay.py -vvv
============================================================================================================================= test session starts =============================================================================================================================
platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0 -- /usr/bin/python
rootdir: /home/ssilverman/build/ansible-core-2.16/src/ansible-2.16.8
configfile: test/lib/ansible_test/_data/pytest/config/default.ini
plugins: mock-3.14.0, xdist-3.5.0, forked-1.6.0, typeguard-4.3.0
20 workers [1 item]
scheduling tests via LoadScheduling

src/ansible-2.16.8/test/units/utils/display/test_broken_cowsay.py::test_display_with_fake_cowsay_binary
[gw0] [100%] PASSED src/ansible-2.16.8/test/units/utils/display/test_broken_cowsay.py::test_display_with_fake_cowsay_binary

--------------------------------------------------------------------- generated xml file: /home/ssilverman/build/ansible-core-2.16/src/ansible-2.16.8/test/results/junit/python3.12-controller-units.xml ----------------------------------------------------------------------
============================================================================================================================ slowest 25 durations =============================================================================================================================
0.00s setup    test/units/utils/display/test_broken_cowsay.py::test_display_with_fake_cowsay_binary
0.00s call     test/units/utils/display/test_broken_cowsay.py::test_display_with_fake_cowsay_binary
0.00s teardown test/units/utils/display/test_broken_cowsay.py::test_display_with_fake_cowsay_binary
============================================================================================================================== 1 passed in 0.91s ==============================================================================================================================
[ssilverman@scottlinux ansible-core-2.16]$ pytest src/ansible-2.16.8/test/units/utils/display/test_broken_cowsay.py -vvv
============================================================================================================================= test session starts =============================================================================================================================
platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0 -- /usr/bin/python
cachedir: .pytest_cache
rootdir: /home/ssilverman/build/ansible-core-2.16/src/ansible-2.16.8
configfile: pyproject.toml
plugins: mock-3.14.0, xdist-3.5.0, forked-1.6.0, typeguard-4.3.0
collected 1 item

src/ansible-2.16.8/test/units/utils/display/test_broken_cowsay.py::test_display_with_fake_cowsay_binary PASSED                                                                                                                                                          [100%]

============================================================================================================================== 1 passed in 0.06s ==============================================================================================================================

sctyboy commented on 2024-06-03 14:15 (UTC)

Upstream corrected this under https://github.com/ansible/ansible/pull/83347.

nicolasyang commented on 2024-05-30 03:18 (UTC) (edited on 2024-05-30 03:19 (UTC) by nicolasyang)

(In reply to @sctyboy)

If cowsay package is installed, then the build/tests fail as follows.

It is an upstream problem. The test also fails in 2.17.0 if cowsay is installed. Please report it to https://github.com/ansible/ansible.

sctyboy commented on 2024-05-29 19:17 (UTC) (edited on 2024-05-29 19:18 (UTC) by sctyboy)

If cowsay package is installed, then the build/tests fail as follows. Removing the cowsay package allows the build to proceed normally.


=================================== FAILURES ===================================
_____________________ test_display_with_fake_cowsay_binary _____________________
[gw13] linux -- Python 3.12.3 /usr/bin/python

capsys = <_pytest.capture.CaptureFixture object at 0x75e7f5486840>
mocker = <pytest_mock.plugin.MockerFixture object at 0x75e7f5485f70>

    def test_display_with_fake_cowsay_binary(capsys, mocker):
        display = Display()

        mocker.patch("ansible.constants.ANSIBLE_COW_PATH", "./cowsay.sh")

        mock_popen = MagicMock()
        mock_popen.return_value.returncode = 1
        mocker.patch("subprocess.Popen", mock_popen)

>       assert not hasattr(display, "cows_available")
E       AssertionError: assert not True
E        +  where True = hasattr(<ansible.utils.display.Display object at 0x75e7f7fb16a0>, 'cows_available')

test/units/utils/display/test_broken_cowsay.py:23: AssertionError