Author: Jonas Devlieghere Date: 2024-02-19T17:46:51-08:00 New Revision: 71e0623110b674765fb9349f449279faa7361e3d
URL: https://github.com/llvm/llvm-project/commit/71e0623110b674765fb9349f449279faa7361e3d DIFF: https://github.com/llvm/llvm-project/commit/71e0623110b674765fb9349f449279faa7361e3d.diff LOG: Revert "[lldb] Migrate distutils.version.LooseVersion to packaging" (#82297) Reverts llvm/llvm-project#82066 because the following tests started failing after: [lldb-api.commands/expression/import-std-module/deque-basic.TestDequeFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_deque-basic/TestDequeFromStdModule_py/) [lldb-api.commands/expression/import-std-module/deque-dbg-info-content.TestDbgInfoContentDequeFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule_py/) [lldb-api.commands/expression/import-std-module/forward_list.TestForwardListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_forward_list/TestForwardListFromStdModule_py/) [lldb-api.commands/expression/import-std-module/forward_list-dbg-info-content.TestDbgInfoContentForwardListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule_py/) [lldb-api.commands/expression/import-std-module/list.TestListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_list/TestListFromStdModule_py/) [lldb-api.commands/expression/import-std-module/non-module-type-separation.TestNonModuleTypeSeparation.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_non-module-type-separation/TestNonModuleTypeSeparation_py/) [lldb-api.commands/expression/import-std-module/queue.TestQueueFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_queue/TestQueueFromStdModule_py/) [lldb-api.commands/expression/import-std-module/retry-with-std-module.TestRetryWithStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_retry-with-std-module/TestRetryWithStdModule_py/) [lldb-api.commands/expression/import-std-module/unique_ptr.TestUniquePtrFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_unique_ptr/TestUniquePtrFromStdModule_py/) [lldb-api.commands/expression/import-std-module/unique_ptr-dbg-info-content.TestUniquePtrDbgInfoContent.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent_py/) [lldb-api.commands/expression/import-std-module/vector-of-vectors.TestVectorOfVectorsFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_vector-of-vectors/TestVectorOfVectorsFromStdModule_py/) [lldb-api.functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr.TestDataFormatterLibcxxSharedPtr.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/functionalities_data-formatter_data-formatter-stl_libcxx_shared_ptr/TestDataFormatterLibcxxSharedPtr_py/) [lldb-api.functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr.TestDataFormatterLibcxxUniquePtr.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/functionalities_data-formatter_data-formatter-stl_libcxx_unique_ptr/TestDataFormatterLibcxxUniquePtr_py/) Added: Modified: lldb/packages/Python/lldbsuite/test/decorators.py lldb/packages/Python/lldbsuite/test/lldbplatformutil.py lldb/test/API/sanity/TestSettingSkipping.py lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py lldb/test/Shell/helper/build.py Removed: ################################################################################ diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py index b691f82b90652c..a5d7a7a25879df 100644 --- a/lldb/packages/Python/lldbsuite/test/decorators.py +++ b/lldb/packages/Python/lldbsuite/test/decorators.py @@ -1,6 +1,6 @@ # System modules +from distutils.version import LooseVersion from functools import wraps -from pkg_resources import packaging import ctypes import locale import os @@ -65,10 +65,10 @@ def fn_neq(x, y): ">=": fn_geq, "<=": fn_leq, } + expected_str = ".".join([str(x) for x in expected]) + actual_str = ".".join([str(x) for x in actual]) - return op_lookup[comparison]( - packaging.version.parse(actual), packaging.version.parse(expected) - ) + return op_lookup[comparison](LooseVersion(actual_str), LooseVersion(expected_str)) def _match_decorator_property(expected, actual): @@ -238,9 +238,7 @@ def fn(actual_debug_info=None): ) ) skip_for_py_version = (py_version is None) or _check_expected_version( - py_version[0], - py_version[1], - "{}.{}".format(sys.version_info.major, sys.version_info.minor), + py_version[0], py_version[1], sys.version_info ) skip_for_macos_version = (macos_version is None) or ( (platform.mac_ver()[0] != "") diff --git a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py index a118aa61a6287d..bd92d03e0e2212 100644 --- a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py +++ b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py @@ -7,8 +7,8 @@ import subprocess import sys import os +from distutils.version import LooseVersion from urllib.parse import urlparse -from pkg_resources import packaging # LLDB modules import lldb @@ -297,30 +297,27 @@ def expectedCompilerVersion(compiler_version): if compiler_version is None: return True operator = str(compiler_version[0]) - version_str = str(compiler_version[1]) + version = compiler_version[1] - if not version_str: + if version is None: return True - test_compiler_version_str = getCompilerVersion() - if test_compiler_version_str == "unknown": + test_compiler_version = getCompilerVersion() + if test_compiler_version == "unknown": # Assume the compiler version is at or near the top of trunk. return operator in [">", ">=", "!", "!=", "not"] - version = packaging.version.parse(version_str) - test_compiler_version = packaging.version.parse(test_compiler_version_str) - if operator == ">": - return test_compiler_version < version + return LooseVersion(test_compiler_version) > LooseVersion(version) if operator == ">=" or operator == "=>": - return test_compiler_version >= version + return LooseVersion(test_compiler_version) >= LooseVersion(version) if operator == "<": - return test_compiler_version < version + return LooseVersion(test_compiler_version) < LooseVersion(version) if operator == "<=" or operator == "=<": - return test_compiler_version <= version + return LooseVersion(test_compiler_version) <= LooseVersion(version) if operator == "!=" or operator == "!" or operator == "not": - return version_str not in test_compiler_version_str - return version_str in test_compiler_version_str + return str(version) not in str(test_compiler_version) + return str(version) in str(test_compiler_version) def expectedCompiler(compilers): diff --git a/lldb/test/API/sanity/TestSettingSkipping.py b/lldb/test/API/sanity/TestSettingSkipping.py index f0d4d266073e03..5f58ec2638456d 100644 --- a/lldb/test/API/sanity/TestSettingSkipping.py +++ b/lldb/test/API/sanity/TestSettingSkipping.py @@ -1,7 +1,8 @@ """ -This is a sanity check that verifies that test can be skipped based on settings. +This is a sanity check that verifies that test can be sklipped based on settings. """ + import lldb from lldbsuite.test.lldbtest import * from lldbsuite.test.decorators import * @@ -9,24 +10,24 @@ class SettingSkipSanityTestCase(TestBase): NO_DEBUG_INFO_TESTCASE = True - CURRENT_PYTHON_VERSION = "3.0" - @skipIf(py_version=(">=", CURRENT_PYTHON_VERSION)) + @skipIf(py_version=(">=", (3, 0))) def testSkip(self): - self.assertTrue(False, "This test should not run and fail (SKIPPED)") - - @skipIf(py_version=("<", CURRENT_PYTHON_VERSION)) - def testNoSKip(self): - self.assertTrue(True, "This test should run and pass(PASS)") + """This setting is on by default""" + self.assertTrue(False, "This test should not run!") - @expectedFailureAll(py_version=(">=", CURRENT_PYTHON_VERSION)) - def testXFAIL(self): - self.assertTrue(False, "This test should expectedly fail (XFAIL)") - - @expectedFailureAll(py_version=("<", CURRENT_PYTHON_VERSION)) - def testNotXFAIL(self): - self.assertTrue(True, "This test should pass (PASS)") + @skipIf(py_version=("<", (3, 0))) + def testNoMatch(self): + self.assertTrue(True, "This test should run!") @skipIf(setting=("target.i-made-this-one-up", "true")) def testNotExisting(self): self.assertTrue(True, "This test should run!") + + @expectedFailureAll(py_version=(">=", (3, 0))) + def testXFAIL(self): + self.assertTrue(False, "This test should run and fail!") + + @expectedFailureAll(py_version=("<", (3, 0))) + def testNotXFAIL(self): + self.assertTrue(True, "This test should run and succeed!") diff --git a/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py b/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py index d770447f0771cd..ffac8de6f596ac 100644 --- a/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py +++ b/lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py @@ -61,9 +61,9 @@ def check_simulator_ostype(self, sdk, platform_name, arch=platform.machine()): # Older versions of watchOS (<7.0) only support i386 if platform_name == "watchos": - from pkg_resources import packaging + from distutils.version import LooseVersion - if packaging.version.parse(vers) < packaging.version.parse("7.0"): + if LooseVersion(vers) < LooseVersion("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 index d3c25bd944e983..073198a6df2df3 100755 --- a/lldb/test/Shell/helper/build.py +++ b/lldb/test/Shell/helper/build.py @@ -519,9 +519,9 @@ def _find_windows_sdk_in_registry_view(self, view): # Windows SDK version numbers consist of 4 dotted components, so we # have to use LooseVersion, as StrictVersion supports 3 or fewer. - from pkg_resources import packaging + from distutils.version import LooseVersion - sdk_versions.sort(key=lambda x: packaging.version.parse(x), reverse=True) + sdk_versions.sort(key=lambda x: LooseVersion(x), reverse=True) option_value_name = "OptionId.DesktopCPP" + self.msvc_arch_str for v in sdk_versions: try: _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits