[llvm-branch-commits] [lit] Enforce read-only behavior on lit_config.maxIndividualTestTime (PR #198193)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun May 17 10:11:46 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-testing-tools

Author: Vitaly Buka (vitalybuka)

<details>
<summary>Changes</summary>

Enforce read-only behavior on lit_config.maxIndividualTestTime after initialization to prevent test suites from modifying it globally, and add a core lit test to verify this behavior.

Stacked PRs:
  https://github.com/llvm/llvm-project/pull/198188
  https://github.com/llvm/llvm-project/pull/198189
  https://github.com/llvm/llvm-project/pull/198190

Assisted-by: Gemini


---
Full diff: https://github.com/llvm/llvm-project/pull/198193.diff


4 Files Affected:

- (modified) llvm/utils/lit/lit/LitConfig.py (+5) 
- (added) llvm/utils/lit/tests/Inputs/lit-config-readonly/dummy.txt (+1) 
- (added) llvm/utils/lit/tests/Inputs/lit-config-readonly/lit.cfg (+12) 
- (added) llvm/utils/lit/tests/lit-config-readonly.py (+4) 


``````````diff
diff --git a/llvm/utils/lit/lit/LitConfig.py b/llvm/utils/lit/lit/LitConfig.py
index 6c14c943d6dcc..5236cc3ea5e40 100644
--- a/llvm/utils/lit/lit/LitConfig.py
+++ b/llvm/utils/lit/lit/LitConfig.py
@@ -124,6 +124,11 @@ def maxIndividualTestTime(self, value):
         Interface for setting maximum time to spend executing
         a single test
         """
+        if hasattr(self, "_maxIndividualTestTime"):
+            raise AttributeError(
+                "lit_config.maxIndividualTestTime is read-only. "
+                "Use config.maxIndividualTestTime instead."
+            )
         if value is None:
             self._maxIndividualTestTime = None
             return
diff --git a/llvm/utils/lit/tests/Inputs/lit-config-readonly/dummy.txt b/llvm/utils/lit/tests/Inputs/lit-config-readonly/dummy.txt
new file mode 100644
index 0000000000000..18f9fae2ad451
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/lit-config-readonly/dummy.txt
@@ -0,0 +1 @@
+# dummy test
diff --git a/llvm/utils/lit/tests/Inputs/lit-config-readonly/lit.cfg b/llvm/utils/lit/tests/Inputs/lit-config-readonly/lit.cfg
new file mode 100644
index 0000000000000..14940dfc0ec34
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/lit-config-readonly/lit.cfg
@@ -0,0 +1,12 @@
+# -*- Python -*-
+import os
+import lit.formats
+
+config.name = "lit-config-readonly"
+config.test_format = lit.formats.ShTest()
+config.suffixes = [".txt"]
+config.test_source_root = os.path.dirname(__file__)
+config.test_exec_root = config.test_source_root
+
+# This should raise AttributeError
+lit_config.maxIndividualTestTime = 10
diff --git a/llvm/utils/lit/tests/lit-config-readonly.py b/llvm/utils/lit/tests/lit-config-readonly.py
new file mode 100644
index 0000000000000..3ecf693b5730c
--- /dev/null
+++ b/llvm/utils/lit/tests/lit-config-readonly.py
@@ -0,0 +1,4 @@
+# RUN: not %{lit} %{inputs}/lit-config-readonly > %t.out 2> %t.err
+# RUN: FileCheck --check-prefix=CHECK-ERR < %t.err %s
+
+# CHECK-ERR: AttributeError: lit_config.maxIndividualTestTime is read-only. Use config.maxIndividualTestTime instead.

``````````

</details>


https://github.com/llvm/llvm-project/pull/198193


More information about the llvm-branch-commits mailing list