llvm-capstone/lldb/test/Shell/CMakeLists.txt
Dave Lee a3172df59c [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
2022-08-29 10:22:01 -07:00

24 lines
746 B
CMake

add_custom_target(lldb-shell-test-deps)
add_dependencies(lldb-shell-test-deps lldb-test-depends)
add_lit_testsuites(LLDB-SHELL
${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS lldb-shell-test-deps)
configure_lit_site_cfg(
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py
MAIN_CONFIG
${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py)
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
DEPENDS lldb-shell-test-deps)