[libcxx-commits] [libcxx] 7b8dc8c - [libcxx] Support Python 3.8 in the test suite

Sergej Jaskiewicz via libcxx-commits libcxx-commits at lists.llvm.org
Tue Jan 21 09:27:51 PST 2020


Author: Sergej Jaskiewicz
Date: 2020-01-21T20:27:31+03:00
New Revision: 7b8dc8c57697e95fd0b1248e4494ecc0f929aba1

URL: https://github.com/llvm/llvm-project/commit/7b8dc8c57697e95fd0b1248e4494ecc0f929aba1
DIFF: https://github.com/llvm/llvm-project/commit/7b8dc8c57697e95fd0b1248e4494ecc0f929aba1.diff

LOG: [libcxx] Support Python 3.8 in the test suite

Summary: `platform.linux_distribution()` has been deprecated in Python 3.5 and removed in Python 3.8.

Reviewers: bcain, bcraig, jroelofs, EricWF, mclow.lists, ldionne

Reviewed By: jroelofs

Subscribers: dexonsmith, christof, ldionne, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D72501

Added: 
    

Modified: 
    libcxx/utils/libcxx/test/target_info.py

Removed: 
    


################################################################################
diff  --git a/libcxx/utils/libcxx/test/target_info.py b/libcxx/utils/libcxx/test/target_info.py
index f31089124d1f..0c64b0d7c041 100644
--- a/libcxx/utils/libcxx/test/target_info.py
+++ b/libcxx/utils/libcxx/test/target_info.py
@@ -206,15 +206,25 @@ def __init__(self, full_config):
     def platform(self):
         return 'linux'
 
+    def _distribution(self):
+        try:
+            # linux_distribution is not available since Python 3.8
+            # However, this function is only used to detect SLES 11,
+            # which is quite an old distribution that doesn't have
+            # Python 3.8.
+            return platform.linux_distribution()
+        except AttributeError:
+            return '', '', ''
+
     def platform_name(self):
-        name, _, _ = platform.linux_distribution()
+        name, _, _ = self._distribution()
         # Some distros have spaces, e.g. 'SUSE Linux Enterprise Server'
         # lit features can't have spaces
         name = name.lower().strip().replace(' ', '-')
         return name # Permitted to be None
 
     def platform_ver(self):
-        _, ver, _ = platform.linux_distribution()
+        _, ver, _ = self._distribution()
         ver = ver.lower().strip().replace(' ', '-')
         return ver # Permitted to be None.
 


        


More information about the libcxx-commits mailing list