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 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
