[Lldb-commits] [lldb] a3172df - [lldb] Quietly source lit-lldb-init

Dave Lee via lldb-commits lldb-commits at lists.llvm.org
Mon Aug 29 10:22:16 PDT 2022


Author: Dave Lee
Date: 2022-08-29T10:22:01-07:00
New Revision: a3172df59c32aac48c113eb7d6a1324aaa95c474

URL: https://github.com/llvm/llvm-project/commit/a3172df59c32aac48c113eb7d6a1324aaa95c474
DIFF: https://github.com/llvm/llvm-project/commit/a3172df59c32aac48c113eb7d6a1324aaa95c474.diff

LOG: [lldb] Quietly source lit-lldb-init

Improve utility of `FileCheck` output when a shell test fails.

The conflict is from:

1. On failure, `FileCheck` prints 5 lines of context
2. Shell tests first source `lit-lldb-init`, having the effect of printing its contents

If a `FileCheck` failure happens at the beginning of the input, then the
context shown is the `lit-lldb-init`, as it's over 5 lines and is the first
thing printed. As the init contents are fairly static, and presumably
uninteresting to most test failures, it seems reasonable to not print it.

Unfortunately it's not possible to use the `--source-quietly` flag in the lldb
invocation, because it will quiet all other `--source` flags on the command
line, making many tests fail.

This fix is a level of indirection, where a new sibling file named
`lit-lldb-init-quiet` is created, and its static contents are:

```
command source -C --silent-run true lit-lldb-init
```

This achieves the result of loading `lit-lldb-init` quietly. The `-C` flag
loads the path relatively.

Differential Revision: https://reviews.llvm.org/D132694

Added: 
    

Modified: 
    lldb/test/Shell/CMakeLists.txt
    lldb/test/Shell/helper/toolchain.py

Removed: 
    


################################################################################
diff  --git a/lldb/test/Shell/CMakeLists.txt b/lldb/test/Shell/CMakeLists.txt
index 123bee6164537..221033bb05eb2 100644
--- a/lldb/test/Shell/CMakeLists.txt
+++ b/lldb/test/Shell/CMakeLists.txt
@@ -14,6 +14,9 @@ configure_file(
   ${CMAKE_CURRENT_SOURCE_DIR}/lit-lldb-init.in
   ${CMAKE_CURRENT_BINARY_DIR}/lit-lldb-init)
 
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/lit-lldb-init-quiet
+  "command source -C --silent-run true lit-lldb-init\n")
+
 add_lit_testsuite(check-lldb-shell "Running lldb shell test suite"
   ${CMAKE_CURRENT_BINARY_DIR}
   EXCLUDE_FROM_CHECK_ALL

diff  --git a/lldb/test/Shell/helper/toolchain.py b/lldb/test/Shell/helper/toolchain.py
index 88cb99792c714..69b55b90751ac 100644
--- a/lldb/test/Shell/helper/toolchain.py
+++ b/lldb/test/Shell/helper/toolchain.py
@@ -11,7 +11,7 @@
 
 
 def _get_lldb_init_path(config):
-    return os.path.join(config.test_exec_root, 'lit-lldb-init')
+    return os.path.join(config.test_exec_root, 'lit-lldb-init-quiet')
 
 
 def _disallow(config, execName):


        


More information about the lldb-commits mailing list