diff options
Diffstat (limited to 'debuginfo-tests/README.txt')
-rw-r--r-- | debuginfo-tests/README.txt | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/debuginfo-tests/README.txt b/debuginfo-tests/README.txt index 0c56d297d75..544e6ff1253 100644 --- a/debuginfo-tests/README.txt +++ b/debuginfo-tests/README.txt @@ -1,9 +1,11 @@ -*- 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. +will enable 'make test' for clang to pick up these tests. + +Some tests (in the 'llgdb-tests' directory) are written with debugger +commands and checks for the intended debugger output in the source file, +using DEBUGGER: and CHECK: as prefixes respectively. For example:: @@ -17,3 +19,25 @@ For example:: 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. + +Other tests are written for use with the 'Dexter' tool (in the 'dexter-tests' +and 'dexter' directories respectively). These use a domain specific language +in comments to describe the intended debugger experience in a more abstract +way than debugger commands. This allows for testing integration across +multiple debuggers from one input language. + +For example:: + + void __attribute__((noinline, optnone)) bar(int *test) {} + int main() { + int test; + test = 23; + bar(&test); // DexLabel('before_bar') + return test; // DexLabel('after_bar') + } + + // DexExpectWatchValue('test', '23', on_line='before_bar') + // DexExpectWatchValue('test', '23', on_line='after_bar') + +Labels two lines with the names 'before_bar' and 'after_bar', and records that +the 'test' variable is expected to have the value 23 on both of them. |