[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