llvm-project/debuginfo-tests
Reid Kleckner 75d38f1e48 Add debuginfo-tests that use cdb on Windows
This is an initial prototype of how we can run debugger integration
tests on Windows. cdb and windbg share a command language and debugger
engine. Visual Studio has its own, but we should at least be able to use
cdb as the basis for optimized debug info integration tests.

There's a lot of work to do here still. For example:
- Make fewer assumptions about the SDK location
- Don't assume x64 (important, I need x86 testing)
- More environment isolation, have lit setup vcvars instead of passing
  LIB and INCLUDE down.
- Write a .py file to replace the grep+sed RUN line

But, this seemed like a good enough concept to commit as is, since it's
useful to me already.

Reviewers: aprantl, zturner

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

llvm-svn: 361889
2019-05-28 23:03:33 +00:00
..
win_cdb Add debuginfo-tests that use cdb on Windows 2019-05-28 23:03:33 +00:00
.arcconfig [debuginfo-tests] Support moving debuginfo-tests to llvm/projects 2017-12-12 16:54:20 +00:00
CMakeLists.txt Add debuginfo-tests that use cdb on Windows 2019-05-28 23:03:33 +00:00
README.txt
aggregate-indirect-arg.cpp Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
apple-accel.cpp [DWARF] Change a test to ensure the creation of a __debug_ranges section. 2018-07-31 19:37:29 +00:00
asan-blocks.c Revert "Temporarily pin tests to DWARF v2 until a more recent version of LLDB" 2017-12-07 19:40:31 +00:00
asan-deque.cpp Disable the asan-deque.cpp integration test for AppleLLDB < v1000 2018-08-04 00:02:48 +00:00
asan.c Revert "Temporarily pin tests to DWARF v2 until a more recent version of LLDB" 2017-12-07 19:40:31 +00:00
block_var.m Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
blocks.m Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
ctor.cpp Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
dbg-arg.c Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
foreach.m Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
forward-declare-class.cpp Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
lit.cfg.py Add debuginfo-tests that use cdb on Windows 2019-05-28 23:03:33 +00:00
lit.local.cfg Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
lit.site.cfg.py.in Add debuginfo-tests that use cdb on Windows 2019-05-28 23:03:33 +00:00
llgdb.py Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
nested-struct.cpp Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
nrvo-string.cpp Revert "Temporarily pin tests to DWARF v2 until a more recent version of LLDB" 2017-12-07 19:40:31 +00:00
safestack.c SafeStack: Disable Darwin support 2018-08-14 21:38:50 +00:00
sret.cpp Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
stack-var.c Revert "Temporarily pin tests to DWARF v2 until a more recent version of LLDB" 2017-12-07 19:40:31 +00:00
static-member-2.cpp Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
static-member.cpp Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
test_debuginfo.pl [debuginfo-tests] Always use the system python to invoke llgdb.py. 2018-06-10 19:38:26 +00:00
vla.c Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00

README.txt

                                                                   -*- rst -*-
This is a collection of tests to check debugging information generated by 
compiler. This test suite can be checked out inside clang/test folder. This 
will enable 'make test' for clang to pick up these tests. Typically, test 
cases included here includes debugger commands and intended debugger output 
as comments in source file using DEBUGGER: and CHECK: as prefixes respectively.

For example::

  define i32 @f1(i32 %i) nounwind ssp {
  ; DEBUGGER: break f1
  ; DEBUGGER: r
  ; DEBUGGER: p i 
  ; CHECK: $1 = 42 
  entry:
  }

is a testcase where the debugger is asked to break at function 'f1' and 
print value of argument 'i'. The expected value of 'i' is 42 in this case.