This adds a script called build.py as well as a lit substitution called %build that we can use to invoke it. The idea is that this allows a lit test to build test inferiors without having to worry about architecture / platform specific differences, command line syntax, finding / configurationg a proper toolchain, and other issues. They can simply write something like: %build --arch=32 -o %t.exe %p/Inputs/foo.cpp and it will just work. This paves the way for being able to run lit tests with multiple configurations, platforms, and compilers with a single test. Differential Revision: https://reviews.llvm.org/D54914 llvm-svn: 348058
43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
// clang-format off
|
|
// REQUIRES: lld
|
|
|
|
// Test that we can set display source of functions.
|
|
// RUN: %build --compiler=clang-cl --nodefaultlib -o %t.exe -- %s
|
|
// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
|
|
// RUN: %p/Inputs/source-list.lldbinit | FileCheck %s
|
|
|
|
|
|
|
|
// Some context lines before
|
|
// the function.
|
|
|
|
|
|
int main(int argc, char **argv) {
|
|
// Here are some comments.
|
|
// That we should print when listing source.
|
|
return 0;
|
|
}
|
|
|
|
// Some context lines after
|
|
// the function.
|
|
|
|
// check lines go at the end so that line numbers stay stable when
|
|
// changing this file.
|
|
|
|
// CHECK: (lldb) source list -n main
|
|
// CHECK: File: {{.*}}source-list.cpp
|
|
// CHECK: 10
|
|
// CHECK: 11 // Some context lines before
|
|
// CHECK: 12 // the function.
|
|
// CHECK: 13
|
|
// CHECK: 14
|
|
// CHECK: 15 int main(int argc, char **argv) {
|
|
// CHECK: 16 // Here are some comments.
|
|
// CHECK: 17 // That we should print when listing source.
|
|
// CHECK: 18 return 0;
|
|
// CHECK: 19 }
|
|
// CHECK: 20
|
|
// CHECK: 21 // Some context lines after
|
|
// CHECK: 22 // the function.
|
|
// CHECK: 23
|