]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] test.pythoninfo logs freedesktop_os_release() (GH-109057) (#109064)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 8 Sep 2023 13:20:05 +0000 (06:20 -0700)
committerGitHub <noreply@github.com>
Fri, 8 Sep 2023 13:20:05 +0000 (15:20 +0200)
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 1f75f669636d0526523946d023681d260f483dd0..8d7fb9f4f2103b58a916ea318c26966458cf8528 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
@@ -913,7 +933,6 @@ def dump_info(info, file=None):
     for key, value in infos:
         value = value.replace("\n", " ")
         print("%s: %s" % (key, value))
-    print()
 
 
 def main():
@@ -922,6 +941,7 @@ def main():
     dump_info(info)
 
     if error:
+        print()
         print("Collection failed: exit with error", file=sys.stderr)
         sys.exit(1)