From 852bf0004a7a9ffa6be703e34885224df969ed2c Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Fri, 9 Aug 2024 15:19:32 -0700 Subject: [PATCH] Ensure Manjaro ARM reports the correct os_family of Arch. --- changelog/66796.fixed.md | 1 + salt/grains/core.py | 1 + tests/pytests/unit/grains/test_core.py | 33 ++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 changelog/66796.fixed.md diff --git a/changelog/66796.fixed.md b/changelog/66796.fixed.md new file mode 100644 index 00000000000..cff6c771fa9 --- /dev/null +++ b/changelog/66796.fixed.md @@ -0,0 +1 @@ +Ensure Manjaro ARM reports the correct os_family of Arch. diff --git a/salt/grains/core.py b/salt/grains/core.py index cc781a2ced9..51646f6f979 100644 --- a/salt/grains/core.py +++ b/salt/grains/core.py @@ -1867,6 +1867,7 @@ _OS_FAMILY_MAP = { "SLES_SAP": "Suse", "Arch ARM": "Arch", "Manjaro": "Arch", + "Manjaro ARM": "Arch", "Antergos": "Arch", "EndeavourOS": "Arch", "ALT": "RedHat", diff --git a/tests/pytests/unit/grains/test_core.py b/tests/pytests/unit/grains/test_core.py index 68a2c2f347a..03d55ede45e 100644 --- a/tests/pytests/unit/grains/test_core.py +++ b/tests/pytests/unit/grains/test_core.py @@ -1231,6 +1231,39 @@ def test_Parrot_OS_grains(): _run_os_grains_tests(_os_release_data, _os_release_map, expectation) +@pytest.mark.skip_unless_on_linux +def test_manjaro_arm_grains(): + """ + Test if OS grains are parsed correctly in Manjaro ARM + """ + # /etc/os-release data taken from ParrotOS 5.1 + _os_release_data = { + "NAME": "Manjaro ARM", + "ID": "manjaro-arm", + "ID_LIKE": "manjaro arch", + "PRETTY_NAME": "Manjaro ARM", + "ANSI_COLOR": "1;32", + "HOME_URL": "https://www.manjaro.org/", + "SUPPORT_URL": "https://forum.manjaro.org/c/arm/", + "LOGO": "manjarolinux", + } + _os_release_map = { + "_linux_distribution": ("Manjaro ARM", "24.03", "n/a"), + } + + expectation = { + "os": "Manjaro ARM", + "os_family": "Arch", + "oscodename": "Manjaro ARM", + "osfullname": "Manjaro ARM", + "osrelease": "24.03", + "osrelease_info": (24, 3), + "osmajorrelease": 24, + "osfinger": "Manjaro ARM-24", + } + _run_os_grains_tests(_os_release_data, _os_release_map, expectation) + + def test_unicode_error(): raise_unicode_mock = MagicMock(name="raise_unicode_error", side_effect=UnicodeError) with patch("salt.grains.core.hostname"), patch(