[polly] [polly][llvm-lit] Enabled lit internal shell for polly test suite (PR #105704)

Connie Zhu via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 22 10:52:58 PDT 2024


https://github.com/connieyzhu created https://github.com/llvm/llvm-project/pull/105704

This patch sets lit's internal shell to be the default shell when running polly tests.

This is one of the milestones to resolving the meta-issue: https://github.com/llvm/llvm-project/issues/102704.

>From dac7ee85b855b69caa52b1732595015142640c75 Mon Sep 17 00:00:00 2001
From: Connie Zhu <connieyzhu at google.com>
Date: Thu, 22 Aug 2024 17:48:15 +0000
Subject: [PATCH] [polly][llvm-lit] Enabled lit internal shell for polly test
 suite

This patch sets lit's internal shell to be the default shell when
running polly tests.
---
 polly/test/UnitIsl/lit.cfg | 11 +++++++++--
 polly/test/lit.cfg         | 11 +++++++++--
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/polly/test/UnitIsl/lit.cfg b/polly/test/UnitIsl/lit.cfg
index 9c732a15a4940f..0944d543572d86 100644
--- a/polly/test/UnitIsl/lit.cfg
+++ b/polly/test/UnitIsl/lit.cfg
@@ -16,8 +16,15 @@ config.name = 'Polly - isl unit tests'
 #
 # For now we require '&&' between commands, until they get globally killed and
 # the test runner updated.
-execute_external = platform.system() != 'Windows'
-config.test_format = lit.formats.ShTest(execute_external)
+#
+# We prefer the lit internal shell which provides a better user experience on failures
+# unless the user explicitly disables it with LIT_USE_INTERNAL_SHELL=0 env var.
+use_lit_shell = True
+lit_shell_env = os.environ.get("LIT_USE_INTERNAL_SHELL")
+if lit_shell_env:
+  use_lit_shell = not lit.util.pythonize_bool(lit_shell_env)
+
+config.test_format = lit.formats.ShTest(execute_external=not use_lit_shell)
 
 # suffixes: A list of file extensions to treat as test files.
 config.suffixes = ['.sh']
diff --git a/polly/test/lit.cfg b/polly/test/lit.cfg
index 0943507ebe502f..156c1f97f5d3ae 100644
--- a/polly/test/lit.cfg
+++ b/polly/test/lit.cfg
@@ -19,8 +19,15 @@ config.name = 'Polly'
 #
 # For now we require '&&' between commands, until they get globally killed and
 # the test runner updated.
-execute_external = platform.system() != 'Windows'
-config.test_format = lit.formats.ShTest(execute_external)
+#
+# We prefer the lit internal shell which provides a better user experience on failures
+# unless the user explicitly disables it with LIT_USE_INTERNAL_SHELL=0 env var.
+use_lit_shell = True
+lit_shell_env = os.environ.get("LIT_USE_INTERNAL_SHELL")
+if lit_shell_env:
+  use_lit_shell = not lit.util.pythonize_bool(lit_shell_env)
+
+config.test_format = lit.formats.ShTest(execute_external=not use_lit_shell)
 
 # suffixes: A list of file extensions to treat as test files.
 config.suffixes = ['.ll']



More information about the llvm-commits mailing list