[llvm] e918a5a - [lit][NFC] remove new-style class opt-ins (#199784)

via llvm-commits llvm-commits at lists.llvm.org
Tue May 26 15:49:07 PDT 2026


Author: Matthias Wippich
Date: 2026-05-26T15:49:03-07:00
New Revision: e918a5ada8a9e693a7f68614bfce698d38f903d3

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

LOG: [lit][NFC] remove new-style class opt-ins (#199784)

In Python 3.0 and later it is no longer necessary to explicitly derive
from `object` to opt into "new-style" classes, they are the default.

Since the current minimum Python version is 3.8, this is no longer
required. This patch removes `object` from the base class lists of all
affected classes in lit.

Added: 
    

Modified: 
    llvm/utils/lit/lit/LitConfig.py
    llvm/utils/lit/lit/ShellEnvironment.py
    llvm/utils/lit/lit/Test.py
    llvm/utils/lit/lit/TestRunner.py
    llvm/utils/lit/lit/TestingConfig.py
    llvm/utils/lit/lit/display.py
    llvm/utils/lit/lit/formats/base.py
    llvm/utils/lit/lit/llvm/config.py
    llvm/utils/lit/lit/llvm/subst.py
    llvm/utils/lit/lit/reports.py
    llvm/utils/lit/lit/run.py

Removed: 
    


################################################################################
diff  --git a/llvm/utils/lit/lit/LitConfig.py b/llvm/utils/lit/lit/LitConfig.py
index 4be2a0f6d8121..df8a9d3d89c96 100644
--- a/llvm/utils/lit/lit/LitConfig.py
+++ b/llvm/utils/lit/lit/LitConfig.py
@@ -12,7 +12,7 @@
 from lit.DiffUpdater import 
diff _test_updater
 
 # LitConfig must be a new style class for properties to work
-class LitConfig(object):
+class LitConfig:
     """LitConfig - Configuration data for a 'lit' test runner instance, shared
     across all tests.
 

diff  --git a/llvm/utils/lit/lit/ShellEnvironment.py b/llvm/utils/lit/lit/ShellEnvironment.py
index 4f6753bd11b52..805b03f6a53c8 100644
--- a/llvm/utils/lit/lit/ShellEnvironment.py
+++ b/llvm/utils/lit/lit/ShellEnvironment.py
@@ -16,7 +16,7 @@
 kDevNull = "/dev/null"
 
 
-class ShellCommandResult(object):
+class ShellCommandResult:
     """Captures the result of an individual command."""
 
     def __init__(
@@ -36,7 +36,7 @@ def __init__(self, command, message):
         self.message = message
 
 
-class ShellEnvironment(object):
+class ShellEnvironment:
 
     """Mutable shell environment containing things like CWD and env vars.
 

diff  --git a/llvm/utils/lit/lit/Test.py b/llvm/utils/lit/lit/Test.py
index 6f87ecfc82d15..93eb3d0a6778d 100644
--- a/llvm/utils/lit/lit/Test.py
+++ b/llvm/utils/lit/lit/Test.py
@@ -8,7 +8,7 @@
 # Test result codes.
 
 
-class ResultCode(object):
+class ResultCode:
     """Test result codes."""
 
     # All result codes (including user-defined ones) in declaration order
@@ -59,7 +59,7 @@ def __repr__(self):
 # Test metric values.
 
 
-class MetricValue(object):
+class MetricValue:
     def format(self):
         """
         format() -> str
@@ -149,7 +149,7 @@ def toMetricValue(value):
 # Test results.
 
 
-class Result(object):
+class Result:
     """Wrapper for the results of executing an individual test."""
 
     def __init__(

diff  --git a/llvm/utils/lit/lit/TestRunner.py b/llvm/utils/lit/lit/TestRunner.py
index 82852f1852705..9dd35aa9390fb 100644
--- a/llvm/utils/lit/lit/TestRunner.py
+++ b/llvm/utils/lit/lit/TestRunner.py
@@ -77,7 +77,7 @@ def buildPdbgCommand(msg, cmd):
     return res
 
 
-class TimeoutHelper(object):
+class TimeoutHelper:
     """
     Object used to helper manage enforcing a timeout in
     _executeShCmd(). It is passed through recursive calls
@@ -1070,7 +1070,7 @@ def regex_escape(s):
 def _caching_re_compile(r):
     return re.compile(r)
 
-class ExpandableScriptDirective(object):
+class ExpandableScriptDirective:
     """
     Common interface for lit directives for which any lit substitutions must be
     expanded to produce the shell script.  It includes directives (e.g., 'RUN:')
@@ -1434,7 +1434,7 @@ def processLineToFixedPoint(ln):
     return output
 
 
-class ParserKind(object):
+class ParserKind:
     """
     An enumeration representing the style of an integrated test keyword or
     command.
@@ -1492,7 +1492,7 @@ def str(value):
         }[value]
 
 
-class IntegratedTestKeywordParser(object):
+class IntegratedTestKeywordParser:
     """A parser for LLVM/Clang style integrated test scripts.
 
     keyword: The keyword to parse for. It must end in either '.' or ':'.

diff  --git a/llvm/utils/lit/lit/TestingConfig.py b/llvm/utils/lit/lit/TestingConfig.py
index 4bed1c95decd4..a6b4fa212ae35 100644
--- a/llvm/utils/lit/lit/TestingConfig.py
+++ b/llvm/utils/lit/lit/TestingConfig.py
@@ -2,7 +2,7 @@
 import sys
 
 
-class TestingConfig(object):
+class TestingConfig:
     """
     TestingConfig - Information on the tests inside a suite.
     """

diff  --git a/llvm/utils/lit/lit/display.py b/llvm/utils/lit/lit/display.py
index 278a82b555564..995efe9a174d9 100644
--- a/llvm/utils/lit/lit/display.py
+++ b/llvm/utils/lit/lit/display.py
@@ -29,7 +29,7 @@ def create_display(opts, tests, total_tests, workers):
     return Display(opts, tests, header, progress_bar)
 
 
-class ProgressPredictor(object):
+class ProgressPredictor:
     def __init__(self, tests):
         self.completed = 0
         self.time_elapsed = 0.0
@@ -71,7 +71,7 @@ def update(self, test):
         return 0
 
 
-class NopDisplay(object):
+class NopDisplay:
     def print_header(self):
         pass
 
@@ -92,7 +92,7 @@ def shouldPrintInfo(infoOption, test):
     return False
 
 
-class Display(object):
+class Display:
     def __init__(
         self,
         opts: Namespace,

diff  --git a/llvm/utils/lit/lit/formats/base.py b/llvm/utils/lit/lit/formats/base.py
index db5c1c3aba218..145beefe0c908 100644
--- a/llvm/utils/lit/lit/formats/base.py
+++ b/llvm/utils/lit/lit/formats/base.py
@@ -5,7 +5,7 @@
 import lit.util
 
 
-class TestFormat(object):
+class TestFormat:
     def getTestsForPath(self, testSuite, path_in_suite, litConfig, localConfig):
         """
         Given the path to a test in the test suite, generates the Lit tests associated

diff  --git a/llvm/utils/lit/lit/llvm/config.py b/llvm/utils/lit/lit/llvm/config.py
index 9713f4333d99a..953782d5765df 100644
--- a/llvm/utils/lit/lit/llvm/config.py
+++ b/llvm/utils/lit/lit/llvm/config.py
@@ -24,7 +24,7 @@ def user_is_root():
     return False
 
 
-class LLVMConfig(object):
+class LLVMConfig:
     def __init__(self, lit_config, config):
         self.lit_config = lit_config
         self.config = config

diff  --git a/llvm/utils/lit/lit/llvm/subst.py b/llvm/utils/lit/lit/llvm/subst.py
index 39a6a75e4c79b..e074f3bf70d7d 100644
--- a/llvm/utils/lit/lit/llvm/subst.py
+++ b/llvm/utils/lit/lit/llvm/subst.py
@@ -7,7 +7,7 @@
 wordifier = re.compile(r"(\W*)(\b[^\b]+\b)")
 
 
-class FindTool(object):
+class FindTool:
     def __init__(self, name):
         self.name = name
 
@@ -26,7 +26,7 @@ def resolve(self, config, dirs):
         return command
 
 
-class ToolSubst(object):
+class ToolSubst:
     """String-like class used to build regex substitution patterns for llvm
     tools.
 

diff  --git a/llvm/utils/lit/lit/reports.py b/llvm/utils/lit/lit/reports.py
index 39398012d941d..c5b09fe81bb21 100755
--- a/llvm/utils/lit/lit/reports.py
+++ b/llvm/utils/lit/lit/reports.py
@@ -17,7 +17,7 @@ def by_suite_and_test_path(test):
     return (test.suite.name, id(test.suite), test.path_in_suite)
 
 
-class Report(object):
+class Report:
     def __init__(self, output_file):
         self.output_file = output_file
         # Set by the option parser later.

diff  --git a/llvm/utils/lit/lit/run.py b/llvm/utils/lit/lit/run.py
index fb18a60db1b39..6c6d464a6881a 100644
--- a/llvm/utils/lit/lit/run.py
+++ b/llvm/utils/lit/lit/run.py
@@ -24,7 +24,7 @@ class TimeoutError(Exception):
     pass
 
 
-class Run(object):
+class Run:
     """A concrete, configured testing run."""
 
     def __init__(


        


More information about the llvm-commits mailing list