]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] test.pythoninfo logs freedesktop_os_release() (GH-109057) (#109063)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 7 Sep 2023 06:13:34 +0000 (23:13 -0700)
committerGitHub <noreply@github.com>
Thu, 7 Sep 2023 06:13:34 +0000 (06:13 +0000)
test.pythoninfo logs freedesktop_os_release() (GH-109057)
(cherry picked from commit babdced23fc299b7607ac76abfdd7a81050f8359)

Co-authored-by: Victor Stinner <vstinner@python.org>
Lib/test/pythoninfo.py

index 2575a9ae9e5538e8773257fe434b0e7595836a50..7a9c01b8c74a62e67f15c5d8cc9f77bbb189d6c8 100644 (file)
@@ -164,6 +164,26 @@ def collect_platform(info_add):
     if libc_ver:
         info_add('platform.libc_ver', libc_ver)
 
+    try:
+        os_release = platform.freedesktop_os_release()
+    except OSError:
+        pass
+    else:
+        for key in (
+            'ID',
+            'NAME',
+            'PRETTY_NAME'
+            'VARIANT',
+            'VARIANT_ID',
+            'VERSION',
+            'VERSION_CODENAME',
+            'VERSION_ID',
+        ):
+            if key not in os_release:
+                continue
+            info_add(f'platform.freedesktop_os_release[{key}]',
+                     os_release[key])
+
 
 def collect_locale(info_add):
     import locale
@@ -921,7 +941,6 @@ def dump_info(info, file=None):
     for key, value in infos:
         value = value.replace("\n", " ")
         print("%s: %s" % (key, value))
-    print()
 
 
 def main():
@@ -930,6 +949,7 @@ def main():
     dump_info(info)
 
     if error:
+        print()
         print("Collection failed: exit with error", file=sys.stderr)
         sys.exit(1)