[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
This commit is contained in:
Dave Lee
2022-08-25 11:28:44 -07:00
parent 9537bfeedf
commit a3172df59c
2 changed files with 4 additions and 1 deletions

View File

@@ -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

View File

@@ -11,7 +11,7 @@ from lit.llvm.subst import ToolSubst
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):