Skip to content

Commit

Permalink
[lldb] Quietly source lit-lldb-init
Browse files Browse the repository at this point in the history
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
  • Loading branch information
kastiglione committed Aug 29, 2022
1 parent 9537bfe commit a3172df
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 1 deletion.
3 changes: 3 additions & 0 deletions lldb/test/Shell/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion lldb/test/Shell/helper/toolchain.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down

0 comments on commit a3172df

Please sign in to comment.