hanchenye-llvm-project/lldb/lit
Pavel Labath 7c94582f90 Add "lldb-test breakpoint" command and convert the case-sensitivity test to use it
Summary:
The command takes two input arguments: a module to use as a debug target
and a file containing a list of commands. The command will execute each
of the breakpoint commands in the file and dump the breakpoint state
after each one.

The commands are expected to be breakpoint set/remove/etc. commands, but
I explicitly allow any lldb command here, so you can do things like
change setting which impact breakpoint resolution, etc. There is also a
"-persistent" flag, which causes lldb-test to *not* automatically clear
the breakpoint list after each command. Right now I don't use it, but
the idea behind it was that it could be used to test more complex
combinations of breakpoint commands (set+modify, set+disable, etc.).

Right now the command prints out only the basic breakpoint state, but
more information can be easily added there.  To enable easy matching of
the "at least one breakpoint location found" state, the command
explicitly prints out the string "At least one breakpoint location.".

To enable testing of breakpoints set with an absolute paths, I add the
ability to perform rudimentary substitutions on the commands: right now
the string %p is replaced by the directory which contains the command
file (so, under normal circumstances, this will perform the same
substitution as lit would do for %p).

I use this command to rewrite the TestBreakpointCaseSensitivity test --
the test was checking about a dozen breakpoint commands, but it was
launching a new process for each one, so it took about 90 seconds to
run. The new test takes about 0.3 seconds for me, which is approximately
a 300x speedup.

Reviewers: davide, zturner, jingham

Subscribers: luporl, lldb-commits

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

llvm-svn: 326112
2018-02-26 18:50:16 +00:00
..
Breakpoint Add "lldb-test breakpoint" command and convert the case-sensitivity test to use it 2018-02-26 18:50:16 +00:00
Expr remove FreeBSD xfail from lit TestCallStdStringFunction 2018-02-23 02:50:07 +00:00
Modules ObjectFileELF: Add support for compressed sections 2017-12-15 14:23:58 +00:00
SymbolFile/PDB [SymbolFilePDB] Add support for function symbols 2018-02-09 05:31:28 +00:00
Unit Resubmit "[lit] Force site configs to run before source-tree configs" 2017-09-15 22:10:46 +00:00
CMakeLists.txt [testsuite] Run lit tests as part of `check-lldb`. 2018-02-21 21:10:44 +00:00
lit.cfg Add "lldb-test breakpoint" command and convert the case-sensitivity test to use it 2018-02-26 18:50:16 +00:00
lit.site.cfg.in [lit] Update how clang and other binaries are found in per-configuration directories 2018-02-21 00:05:51 +00:00