From b99dbdf3a86580b9b3722e4be245de9e208b7d37 Mon Sep 17 00:00:00 2001 From: Ruediger Pluem Date: Mon, 25 Oct 2021 18:13:03 +0200 Subject: [PATCH 1/2] Report OpenSuSE >= 15 as opensuse Make distro.id() report newer versions of OpenSuSE (at least >=15) also report as opensuse. They report themselves as opensuse-leap. --- distro.py | 1 + 1 file changed, 1 insertion(+) diff --git a/distro.py b/distro.py index 1ab696c..93e833f 100755 --- a/distro.py +++ b/distro.py @@ -84,6 +84,7 @@ class InfoDict(TypedDict): #: * Value: Normalized value. NORMALIZED_OS_ID = { "ol": "oracle", # Oracle Linux + "opensuse-leap": "opensuse", # Newer versions of OpenSuSE report as opensuse-leap } #: Translation table for normalizing the "Distributor ID" attribute returned by From e206a7b43981d4fa96c31f7425485465097a7412 Mon Sep 17 00:00:00 2001 From: Ruediger Pluem Date: Mon, 25 Oct 2021 20:36:21 +0200 Subject: [PATCH 2/2] Add tests --- .../distros/opensuse15/etc/os-release | 10 +++++++ tests/test_distro.py | 26 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 tests/resources/distros/opensuse15/etc/os-release diff --git a/tests/resources/distros/opensuse15/etc/os-release b/tests/resources/distros/opensuse15/etc/os-release new file mode 100644 index 0000000..1494bc5 --- /dev/null +++ b/tests/resources/distros/opensuse15/etc/os-release @@ -0,0 +1,10 @@ +NAME="openSUSE Leap" +VERSION="15.2" +ID="opensuse-leap" +ID_LIKE="suse opensuse" +VERSION_ID="15.2" +PRETTY_NAME="openSUSE Leap 15.2" +ANSI_COLOR="0;32" +CPE_NAME="cpe:/o:opensuse:leap:15.2" +BUG_REPORT_URL="https://bugs.opensuse.org" +HOME_URL="https://www.opensuse.org/" diff --git a/tests/test_distro.py b/tests/test_distro.py index 3d24d08..6b66ca5 100644 --- a/tests/test_distro.py +++ b/tests/test_distro.py @@ -308,6 +308,18 @@ def test_opensuse42_os_release(self) -> None: } self._test_outcome(desired_outcome) + def test_opensuse15_os_release(self) -> None: + desired_outcome = { + "id": "opensuse", + "name": "openSUSE Leap", + "pretty_name": "openSUSE Leap 15.2", + "version": "15.2", + "pretty_version": "15.2", + "best_version": "15.2", + "like": "suse opensuse", + } + self._test_outcome(desired_outcome) + def test_raspbian7_os_release(self) -> None: desired_outcome = { "id": "raspbian", @@ -1352,6 +1364,20 @@ def test_opensuse42_release(self) -> None: } self._test_release_file_info("SuSE-release", desired_info) + def test_opensuse15_release(self) -> None: + desired_outcome = { + "id": "opensuse", + "name": "openSUSE Leap", + "pretty_name": "openSUSE Leap 15.2", + "version": "15.2", + "pretty_version": "15.2", + "best_version": "15.2", + "like": "suse opensuse", + "major_version": "15", + "minor_version": "2", + } + self._test_outcome(desired_outcome) + def test_oracle7_release(self) -> None: desired_outcome = { "id": "oracle",