[Flang] Enable lit's internal shell by default

Lit's internal shell is faster as it avoids the overhead of needing to
fork bash for every run line, and also provides better debug information
on failures.

Now that all of flang's tests work correctly with lit's internal shell,
we can enable it by default to take advantage of the benefits.

Towards #102704.

Reviewers: clementval, kiranchandramohan, Meinersbur

Reviewed By: clementval

Pull Request: https://github.com/llvm/llvm-project/pull/156116
diff --git a/flang/test/lit.cfg.py b/flang/test/lit.cfg.py
index 9d81aa4..4221354 100644
--- a/flang/test/lit.cfg.py
+++ b/flang/test/lit.cfg.py
@@ -18,11 +18,22 @@
 # name: The name of this test suite.
 config.name = "Flang"
 
+# TODO: Consolidate the logic for turning on the internal shell by default for all LLVM test suites.
+# See https://github.com/llvm/llvm-project/issues/106636 for more details.
+#
+# We prefer the lit internal shell which provides a better user experience on failures
+# and is faster 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 = lit.util.pythonize_bool(lit_shell_env)
+
 # testFormat: The test format to use to interpret tests.
 #
 # For now we require '&&' between commands, until they get globally killed and
 # the test runner updated.
-config.test_format = lit.formats.ShTest(not llvm_config.use_lit_shell)
+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 = [