llvm-project/lldb/lit
Jonas Devlieghere 46575176e9 [Reproducers] Add file provider
This patch adds the file provider which is responsible for capturing
files used by LLDB.

When capturing a reproducer, we use a file collector that is very
similar to the one used in clang. For every file that we touch, we add
an entry with a mapping from its virtual to its real path. When we
decide to generate a reproducer we copy over the files and their
permission into to reproducer folder.

When replaying a reproducer, we load the VFS mapping and instantiate a
RedirectingFileSystem. The latter will transparently use the files
available in the reproducer.

I've tested this on two macOS machines with an artificial example.
Still, it is very likely that I missed some places where we (still) use
native file system calls. I'm hoping to flesh those out while testing
with more advanced examples. However, I will fix those things in
separate patches.

Differential revision: https://reviews.llvm.org/D54617

llvm-svn: 352538
2019-01-29 20:36:38 +00:00
..
Breakpoint build.py: Implement "gcc" builder 2018-12-12 08:54:14 +00:00
BuildScript build.py: Implement "gcc" builder 2018-12-12 08:54:14 +00:00
Driver [lit] Make TestConvenienceVariables a cpp file 2018-12-19 17:10:21 +00:00
ExecControl/StopHook [Test] Fix up tests affected by the new LLVM header. 2019-01-22 03:50:44 +00:00
Expr [lit] Make sure tests are actually skipped on darwin and windows. 2019-01-17 21:57:33 +00:00
Heap Fix lldb's macosx/heap.py cstr command. 2018-12-17 18:21:51 +00:00
Minidump Use the minidump exception record if present 2019-01-07 17:55:42 +00:00
Modules ELF: Fix base address computation code for files generated by yaml2obj 2019-01-11 10:18:40 +00:00
Python Fix REQUIRES line 2018-12-18 20:28:54 +00:00
Quit [lldb] Update shebang python2 -> python 2019-01-26 01:05:02 +00:00
Reproducer [Reproducers] Add file provider 2019-01-29 20:36:38 +00:00
Settings Refactor the lit configuration files 2018-11-02 17:49:01 +00:00
Suite [lit] Fix lldbtest format 2019-01-17 23:30:06 +00:00
SymbolFile [NativePDB] Fix lldb-x64-windows-ninja after r352464 2019-01-29 10:46:28 +00:00
Unit [CMake] In standalone builds, LLVM_BINARY_DIR should point to LLVM's binary directory 2019-01-09 16:25:37 +00:00
helper build.py: inherit environment in the gcc builder 2018-12-18 09:07:21 +00:00
tools/lldb-mi [lit] Make sure tests are actually skipped on darwin and windows. 2019-01-17 21:57:33 +00:00
CMakeLists.txt [CMake] Quick-Fix targets don't exist when building against LLVM install-tree with LLDB_INCLUDE_TESTS=ON 2019-01-28 16:15:27 +00:00
lit-lldb-init Add EchoCommentCommands to CommandInterpreterRunOptions in addition to the existing EchoCommands and expose both as interpreter settings. 2018-10-05 16:49:47 +00:00
lit.cfg.py Fix clang test suite on Windows by reverting part of r347216 2018-11-19 19:36:28 +00:00
lit.site.cfg.py.in [build.py] A few general improvements. 2018-12-04 21:48:27 +00:00