diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py --- a/lldb/packages/Python/lldbsuite/test/decorators.py +++ b/lldb/packages/Python/lldbsuite/test/decorators.py @@ -1,7 +1,6 @@ from __future__ import absolute_import # System modules -from distutils.version import LooseVersion from functools import wraps import ctypes import locale @@ -13,6 +12,7 @@ import subprocess # Third-party modules +from packaging.version import LegacyVersion import six import unittest2 @@ -67,8 +67,8 @@ actual_str = '.'.join([str(x) for x in actual]) return op_lookup[comparison]( - LooseVersion(actual_str), - LooseVersion(expected_str)) + LegacyVersion(actual_str), + LegacyVersion(expected_str)) _re_pattern_type = type(re.compile('')) diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py --- a/lldb/packages/Python/lldbsuite/test/lldbtest.py +++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py @@ -36,7 +36,6 @@ # System modules import abc -from distutils.version import LooseVersion from functools import wraps import gc import glob @@ -51,6 +50,7 @@ import traceback # Third-party modules +from packaging.version import LegacyVersion import unittest2 from six import add_metaclass from six import StringIO as SixStringIO @@ -1354,13 +1354,13 @@ return operator in ['>', '>=', '!', '!=', 'not'] if operator == '>': - return LooseVersion(test_compiler_version) > LooseVersion(version) + return LegacyVersion(test_compiler_version) > LegacyVersion(version) if operator == '>=' or operator == '=>': - return LooseVersion(test_compiler_version) >= LooseVersion(version) + return LegacyVersion(test_compiler_version) >= LegacyVersion(version) if operator == '<': - return LooseVersion(test_compiler_version) < LooseVersion(version) + return LegacyVersion(test_compiler_version) < LegacyVersion(version) if operator == '<=' or operator == '=<': - return LooseVersion(test_compiler_version) <= LooseVersion(version) + return LegacyVersion(test_compiler_version) <= LegacyVersion(version) if operator == '!=' or operator == '!' or operator == 'not': return str(version) not in str(test_compiler_version) return str(version) in str(test_compiler_version) diff --git a/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py b/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py --- a/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py +++ b/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py @@ -54,8 +54,8 @@ # Older versions of watchOS (<7.0) only support i386 if platform_name == 'watchos': - from distutils.version import LooseVersion - if LooseVersion(vers) < LooseVersion("7.0"): + from packaging.version import LegacyVersion + if LegacyVersion(vers) < LegacyVersion("7.0"): arch = 'i386' triple = '-'.join([arch, 'apple', platform_name + vers, 'simulator']) diff --git a/lldb/test/Shell/helper/build.py b/lldb/test/Shell/helper/build.py --- a/lldb/test/Shell/helper/build.py +++ b/lldb/test/Shell/helper/build.py @@ -351,8 +351,8 @@ if not subdirs: return None - from distutils.version import StrictVersion - subdirs.sort(key=lambda x : StrictVersion(x)) + from packaging.version import Version + subdirs.sort(key=lambda x : Version(x)) if self.verbose: full_path = os.path.join(vcinstalldir, subdirs[-1]) @@ -417,9 +417,9 @@ return (None, None) # Windows SDK version numbers consist of 4 dotted components, so we - # have to use LooseVersion, as StrictVersion supports 3 or fewer. - from distutils.version import LooseVersion - sdk_versions.sort(key=lambda x : LooseVersion(x), reverse=True) + # have to use LegacyVersion, as Version expects 3 or fewer. + from packaging.version import LegacyVersion + sdk_versions.sort(key=lambda x : LegacyVersion(x), reverse=True) option_value_name = 'OptionId.DesktopCPP' + self.msvc_arch_str for v in sdk_versions: try: