[llvm] [utils] use annotations from __future__ in lit (PR #184225)

Henrik G. Olsson via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 2 12:51:51 PST 2026


https://github.com/hnrklssn created https://github.com/llvm/llvm-project/pull/184225

None

>From 41d710e0853af7abdba1fa8c93f6dbbe78d57528 Mon Sep 17 00:00:00 2001
From: "Henrik G. Olsson" <h_olsson at apple.com>
Date: Mon, 2 Mar 2026 12:50:14 -0800
Subject: [PATCH] [utils] use annotations from __future__ in lit

---
 llvm/utils/lit/lit/TestRunner.py | 10 ++++------
 llvm/utils/lit/lit/display.py    |  6 +++---
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/llvm/utils/lit/lit/TestRunner.py b/llvm/utils/lit/lit/TestRunner.py
index 9e5c7d253a236..0d72592ad23e1 100644
--- a/llvm/utils/lit/lit/TestRunner.py
+++ b/llvm/utils/lit/lit/TestRunner.py
@@ -1,4 +1,4 @@
-from __future__ import absolute_import
+from __future__ import absolute_import, annotations
 import errno
 import io
 import itertools
@@ -12,9 +12,7 @@
 import shutil
 import tempfile
 import threading
-import typing
 import traceback
-from typing import Optional, Tuple
 from io import StringIO
 
 from lit.ShCommands import GlobItem, Command
@@ -1190,7 +1188,7 @@ def formatOutput(title, data, limit=None):
 # from the script, and there is no execution trace.
 def executeScriptInternal(
     test, litConfig, tmpBase, commands, cwd, debug=True
-) -> Tuple[str, str, int, Optional[str], Optional[str]]:
+) -> tuple[str, str, int, str | None, str | None]:
     cmds = []
     update_output = None
     for i, ln in enumerate(commands):
@@ -1334,7 +1332,7 @@ def executeScriptInternal(
 
 def executeScript(
     test, litConfig, tmpBase, commands, cwd
-) -> Tuple[str, str, int, Optional[str], Optional[str]]:
+) -> tuple[str, str, int, str | None, str | None]:
     bashPath = litConfig.getBashPath()
     isWin32CMDEXE = litConfig.isWindows and not bashPath
     script = tmpBase + ".script"
@@ -2339,7 +2337,7 @@ def _runShTest(test, litConfig, useExternalSh, script, tmpBase) -> lit.Test.Resu
     # Always returns the tuple (out, err, exitCode, timeoutInfo, status).
     def runOnce(
         execdir,
-    ) -> Tuple[str, str, int, Optional[str], Test.ResultCode, Optional[str]]:
+    ) -> tuple[str, str, int, str | None, Test.ResultCode, str | None]:
         # script is modified below (for litConfig.per_test_coverage, and for
         # %dbg expansions).  runOnce can be called multiple times, but applying
         # the modifications multiple times can corrupt script, so always modify
diff --git a/llvm/utils/lit/lit/display.py b/llvm/utils/lit/lit/display.py
index 44d03a2be249c..c6057fde39d59 100644
--- a/llvm/utils/lit/lit/display.py
+++ b/llvm/utils/lit/lit/display.py
@@ -1,7 +1,7 @@
+from __future__ import annotations
 import sys
 
 from argparse import Namespace
-from typing import Optional, List
 from lit.Test import Test
 
 
@@ -94,8 +94,8 @@ class Display(object):
     def __init__(
         self,
         opts: Namespace,
-        tests: List[Test],
-        header: Optional[str],
+        tests: list[Test],
+        header: str | None,
         progress_bar,
     ):
         self.opts = opts



More information about the llvm-commits mailing list