We want to use `DexDeclareFile` to specify paths relative to a project root directory. The option `--source-root-dir`, prior to this patch, causes dexter to strip the path prefix from commands before passing them to a debugger, and appends the prefix to file paths returned from a debugger. This patch changes the behviour of `--source-root-dir`. Relative paths in commands, made possible with `DexDeclareFile(relative/path)`, are appended to the `--source-root-dir` directory. A new option, `--debugger-use-relative-paths`, can be used alongside `--source-root-dir` to reproduce the old behaviour: all paths passed to the debugger will be made relative to `--source-root-dir`. I've added a regression test source_root_dir.dex for this new behaviour, and modified the existing `--source-root-dir` regression and unit tests to use `--debugger-use-relative-paths`. Reviewed By: jmorse Differential Revision: https://reviews.llvm.org/D100307
16 lines
432 B
C++
16 lines
432 B
C++
// REQUIRES: lldb
|
|
// UNSUPPORTED: system-windows
|
|
//
|
|
// RUN: %dexter --fail-lt 1.0 -w \
|
|
// RUN: --builder 'clang' --debugger 'lldb' \
|
|
// RUN: --cflags "-O0 -glldb -fdebug-prefix-map=%S=/changed" \
|
|
// RUN: --source-root-dir=%S --debugger-use-relative-paths -- %s
|
|
|
|
#include <stdio.h>
|
|
int main() {
|
|
int x = 42;
|
|
printf("hello world: %d\n", x); // DexLabel('check')
|
|
}
|
|
|
|
// DexExpectWatchValue('x', 42, on_line=ref('check'))
|