[lldb] Add reproducer verifier
authorJonas Devlieghere <jonas@devlieghere.com>
Mon, 31 Aug 2020 22:13:49 +0000 (15:13 -0700)
committerJonas Devlieghere <jonas@devlieghere.com>
Thu, 3 Sep 2020 05:00:00 +0000 (22:00 -0700)
commit3746906193c1be913fe60072de9d4feb80f9c461
treeaf471785e13fc34476e9fc2682594b1c35423464
parentfa95e35593353810c1b26e3641451fa82089d792
[lldb] Add reproducer verifier

Add a reproducer verifier that catches:

 - Missing or invalid home directory
 - Missing or invalid working directory
 - Missing or invalid module/symbol paths
 - Missing files from the VFS

The verifier is enabled by default during replay, but can be skipped by
passing --reproducer-no-verify.

Differential revision: https://reviews.llvm.org/D86497
13 files changed:
lldb/include/lldb/API/SBReproducer.h
lldb/include/lldb/Utility/Reproducer.h
lldb/source/API/SBReproducer.cpp
lldb/source/Commands/CommandObjectReproducer.cpp
lldb/source/Commands/Options.td
lldb/source/Utility/Reproducer.cpp
lldb/source/Utility/ReproducerProvider.cpp
lldb/test/Shell/Reproducer/TestDebugSymbols.test
lldb/test/Shell/Reproducer/TestVerify.test [new file with mode: 0644]
lldb/tools/driver/Driver.cpp
lldb/tools/driver/Options.td
llvm/include/llvm/Support/VirtualFileSystem.h
llvm/lib/Support/VirtualFileSystem.cpp