aleksandr.urakov created this revision.
aleksandr.urakov added reviewers: zturner, stella.stamenova.
aleksandr.urakov added a project: LLDB.
Herald added subscribers: lldb-commits, teemperor, abidh.
This patch makes old PDB plugin tests to use the new builder (see D54914
<https://reviews.llvm.org/D54914>).
There are some problems left:
- Clang called from the builder shows errors on types like `char16_t` and
`char32_t`. That's why `enums-layout.test` and `typedefs.test` are made to use
MSVC instead;
- The builder now doesn't support `/Gy` and `/order` options, so the old scheme
is used in `function-level-linking.test`;
- The builder now doesn't support compilation of multiple sources and linking
them together, so the old scheme is used for linking in `func-symbols.test`;
- On Windows 32-bit LLDB can debug only 32-bit applications, and 64-bit LLDB
can debug only 64-bit applications. That's why the old scheme is left in
dynamic tests `udt-layout.test`, `variables-locations.test` and `vbases.test`.
If we will always compile the tests as 32-bit (64-bit), then they will fail on
the 64-bit (32-bit) platform. That's why we just assume that the user runs the
tests from the same command prompt where the build was run.
This one depends on D54914 <https://reviews.llvm.org/D54914>.
Repository:
rLLDB LLDB
https://reviews.llvm.org/D54942
Files:
lit/SymbolFile/PDB/ast-restore.test
lit/SymbolFile/PDB/calling-conventions.test
lit/SymbolFile/PDB/class-layout.test
lit/SymbolFile/PDB/compilands.test
lit/SymbolFile/PDB/enums-layout.test
lit/SymbolFile/PDB/func-symbols.test
lit/SymbolFile/PDB/function-nested-block.test
lit/SymbolFile/PDB/pointers.test
lit/SymbolFile/PDB/type-quals.test
lit/SymbolFile/PDB/typedefs.test
lit/SymbolFile/PDB/variables.test
Index: lit/SymbolFile/PDB/variables.test
===================================================================
--- lit/SymbolFile/PDB/variables.test
+++ lit/SymbolFile/PDB/variables.test
@@ -1,6 +1,6 @@
REQUIRES: system-windows, msvc
-RUN: %clang_cl -m64 /Z7 /c /GS- %S/Inputs/VariablesTest.cpp /o %T/VariablesTest.cpp.obj
-RUN: %msvc_link %T/VariablesTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/VariablesTest.cpp.exe
+RUN: %build --compiler=clang-cl --mode=compile --arch=64 --nodefaultlib --source=%S/Inputs/VariablesTest.cpp --output=%T/VariablesTest.cpp.obj
+RUN: %build --compiler=msvc --mode=link --arch=64 --nodefaultlib --source=%T/VariablesTest.cpp.obj --output=%T/VariablesTest.cpp.exe
RUN: lldb-test symbols %T/VariablesTest.cpp.exe | FileCheck %s
CHECK: Module [[MOD:.*]]
@@ -55,4 +55,4 @@
CHECK-NEXT: Block{[[FID4]]}
CHECK-DAG: Variable{{.*}}, name = "this"
CHECK-SAME: scope = parameter
-CHECK-SAME: artificial
\ No newline at end of file
+CHECK-SAME: artificial
Index: lit/SymbolFile/PDB/typedefs.test
===================================================================
--- lit/SymbolFile/PDB/typedefs.test
+++ lit/SymbolFile/PDB/typedefs.test
@@ -1,6 +1,5 @@
REQUIRES: system-windows, msvc
-RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/SimpleTypesTest.cpp /o %T/SimpleTypesTest.cpp.typedefs.obj
-RUN: %msvc_link %T/SimpleTypesTest.cpp.typedefs.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/SimpleTypesTest.cpp.typedefs.exe
+RUN: %build --compiler=msvc --arch=32 --nodefaultlib --source=%S/Inputs/SimpleTypesTest.cpp --output=%T/SimpleTypesTest.cpp.typedefs.exe
RUN: lldb-test symbols %T/SimpleTypesTest.cpp.typedefs.exe | FileCheck %s
; Generate 32-bit target
Index: lit/SymbolFile/PDB/type-quals.test
===================================================================
--- lit/SymbolFile/PDB/type-quals.test
+++ lit/SymbolFile/PDB/type-quals.test
@@ -1,6 +1,6 @@
REQUIRES: system-windows, msvc
-RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/TypeQualsTest.cpp /o %T/TypeQualsTest.cpp.obj
-RUN: %msvc_link %T/TypeQualsTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/TypeQualsTest.cpp.exe
+RUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --source=%S/Inputs/TypeQualsTest.cpp --output=%T/TypeQualsTest.cpp.obj
+RUN: %build --compiler=msvc --mode=link --arch=32 --nodefaultlib --source=%T/TypeQualsTest.cpp.obj --output=%T/TypeQualsTest.cpp.exe
RUN: lldb-test symbols %T/TypeQualsTest.cpp.exe | FileCheck %s
CHECK: Module [[MOD:.*]]
Index: lit/SymbolFile/PDB/pointers.test
===================================================================
--- lit/SymbolFile/PDB/pointers.test
+++ lit/SymbolFile/PDB/pointers.test
@@ -1,6 +1,6 @@
REQUIRES: system-windows, msvc
-RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/PointerTypeTest.cpp /o %T/PointerTypeTest.cpp.obj
-RUN: %msvc_link %T/PointerTypeTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/PointerTypeTest.cpp.exe
+RUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --source=%S/Inputs/PointerTypeTest.cpp --output=%T/PointerTypeTest.cpp.obj
+RUN: %build --compiler=msvc --mode=link --arch=32 --nodefaultlib --source=%T/PointerTypeTest.cpp.obj --output=%T/PointerTypeTest.cpp.exe
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck %s
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST-F %s
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST %s
Index: lit/SymbolFile/PDB/function-nested-block.test
===================================================================
--- lit/SymbolFile/PDB/function-nested-block.test
+++ lit/SymbolFile/PDB/function-nested-block.test
@@ -1,6 +1,5 @@
REQUIRES: system-windows, lld
-RUN: %clang_cl /c /Zi %S/Inputs/FunctionNestedBlockTest.cpp /o %t.obj
-RUN: lld-link /debug:full /nodefaultlib /entry:main %t.obj /out:%t.exe
+RUN: %build --compiler=clang-cl --nodefaultlib --source=%S/Inputs/FunctionNestedBlockTest.cpp --output=%t.exe
RUN: lldb-test symbols -find=function -file FunctionNestedBlockTest.cpp -line 4 %t.exe | FileCheck --check-prefix=CHECK-FUNCTION %s
RUN: lldb-test symbols -find=block -file FunctionNestedBlockTest.cpp -line 4 %t.exe | FileCheck --check-prefix=CHECK-BLOCK %s
Index: lit/SymbolFile/PDB/func-symbols.test
===================================================================
--- lit/SymbolFile/PDB/func-symbols.test
+++ lit/SymbolFile/PDB/func-symbols.test
@@ -1,6 +1,6 @@
REQUIRES: system-windows, msvc
-RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/FuncSymbolsTestMain.cpp /o %T/FuncSymbolsTestMain.cpp.obj
-RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/FuncSymbols.cpp /o %T/FuncSymbols.cpp.obj
+RUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --source=%S/Inputs/FuncSymbolsTestMain.cpp --output=%T/FuncSymbolsTestMain.cpp.obj
+RUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --source=%S/Inputs/FuncSymbols.cpp --output=%T/FuncSymbols.cpp.obj
RUN: %msvc_link %T/FuncSymbolsTestMain.cpp.obj %T/FuncSymbols.cpp.obj /DEBUG /nodefaultlib /Entry:main /OUT:%T/FuncSymbolsTest.exe
RUN: lldb-test symbols %T/FuncSymbolsTest.exe | FileCheck --check-prefix=CHECK-ONE %s
RUN: lldb-test symbols %T/FuncSymbolsTest.exe | FileCheck --check-prefix=CHECK-TWO %s
Index: lit/SymbolFile/PDB/enums-layout.test
===================================================================
--- lit/SymbolFile/PDB/enums-layout.test
+++ lit/SymbolFile/PDB/enums-layout.test
@@ -1,6 +1,5 @@
REQUIRES: system-windows, msvc
-RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/SimpleTypesTest.cpp /o %T/SimpleTypesTest.cpp.enums.obj
-RUN: %msvc_link %T/SimpleTypesTest.cpp.enums.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/SimpleTypesTest.cpp.enums.exe
+RUN: %build --compiler=msvc --arch=32 --nodefaultlib --source=%S/Inputs/SimpleTypesTest.cpp --output=%T/SimpleTypesTest.cpp.enums.exe
RUN: lldb-test symbols %T/SimpleTypesTest.cpp.enums.exe | FileCheck %s
; FIXME: PDB does not have information about scoped enumeration (Enum class) so the
@@ -8,35 +7,35 @@
CHECK: Module [[CU:.*]]
CHECK-DAG: {{^[0-9A-F]+}}: SymbolVendor ([[CU]])
-CHECK: Type{{.*}} , name = "Enum", size = 4, decl = SimpleTypesTest.cpp:19, compiler_type = {{.*}} enum Enum {
+CHECK: Type{{.*}} , name = "Enum", size = 4, decl = simpletypestest.cpp:19, compiler_type = {{.*}} enum Enum {
CHECK-NEXT: RED,
CHECK-NEXT: GREEN,
CHECK-NEXT: BLUE
CHECK-NEXT:}
-CHECK: Type{{.*}} , name = "EnumConst", size = 4, decl = SimpleTypesTest.cpp:22, compiler_type = {{.*}} enum EnumConst {
+CHECK: Type{{.*}} , name = "EnumConst", size = 4, decl = simpletypestest.cpp:22, compiler_type = {{.*}} enum EnumConst {
CHECK-NEXT: LOW,
CHECK-NEXT: NORMAL,
CHECK-NEXT: HIGH
CHECK-NEXT:}
-CHECK: Type{{.*}} , name = "EnumEmpty", size = 4, decl = SimpleTypesTest.cpp:25, compiler_type = {{.*}} enum EnumEmpty {
+CHECK: Type{{.*}} , name = "EnumEmpty", size = 4, decl = simpletypestest.cpp:25, compiler_type = {{.*}} enum EnumEmpty {
CHECK-NEXT:}
-CHECK: Type{{.*}} , name = "EnumUChar", size = 1, decl = SimpleTypesTest.cpp:28, compiler_type = {{.*}} enum EnumUChar {
+CHECK: Type{{.*}} , name = "EnumUChar", size = 1, decl = simpletypestest.cpp:28, compiler_type = {{.*}} enum EnumUChar {
CHECK-NEXT: ON,
CHECK-NEXT: OFF,
CHECK-NEXT: AUTO
CHECK-NEXT:}
; Note that `enum EnumClass` is tested instead of `enum class EnumClass`
-CHECK: Type{{.*}} , name = "EnumClass", size = 4, decl = SimpleTypesTest.cpp:32, compiler_type = {{.*}} enum EnumClass {
+CHECK: Type{{.*}} , name = "EnumClass", size = 4, decl = simpletypestest.cpp:32, compiler_type = {{.*}} enum EnumClass {
CHECK-NEXT: YES,
CHECK-NEXT: NO,
CHECK-NEXT: DEFAULT
CHECK-NEXT:}
-CHECK: Type{{.*}} , name = "EnumStruct", size = 4, decl = SimpleTypesTest.cpp:35, compiler_type = {{.*}} enum EnumStruct {
+CHECK: Type{{.*}} , name = "EnumStruct", size = 4, decl = simpletypestest.cpp:35, compiler_type = {{.*}} enum EnumStruct {
CHECK-NEXT: red,
CHECK-NEXT: blue,
CHECK-NEXT: black
Index: lit/SymbolFile/PDB/compilands.test
===================================================================
--- lit/SymbolFile/PDB/compilands.test
+++ lit/SymbolFile/PDB/compilands.test
@@ -1,6 +1,6 @@
REQUIRES: system-windows, msvc
-RUN: %clang_cl /Z7 /c %S/Inputs/CompilandsTest.cpp /o %T/CompilandsTest.cpp.obj
-RUN: %msvc_link /debug:full /nodefaultlib /entry:main %T/CompilandsTest.cpp.obj /out:%T/CompilandsTest.cpp.exe
+RUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --source=%S/Inputs/CompilandsTest.cpp --output=%T/CompilandsTest.cpp.obj
+RUN: %build --compiler=msvc --mode=link --arch=32 --nodefaultlib --source=%T/CompilandsTest.cpp.obj --output=%T/CompilandsTest.cpp.exe
RUN: lldb-test symbols %T/CompilandsTest.cpp.exe | FileCheck %s
; Link default libraries
Index: lit/SymbolFile/PDB/class-layout.test
===================================================================
--- lit/SymbolFile/PDB/class-layout.test
+++ lit/SymbolFile/PDB/class-layout.test
@@ -1,6 +1,6 @@
-REQUIRES: msvc
-RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/ClassLayoutTest.cpp /o %T/ClassLayoutTest.cpp.obj
-RUN: %msvc_link %T/ClassLayoutTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/ClassLayoutTest.cpp.exe
+REQUIRES: system-windows, msvc
+RUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --source=%S/Inputs/ClassLayoutTest.cpp --output=%T/ClassLayoutTest.cpp.obj
+RUN: %build --compiler=msvc --mode=link --arch=32 --nodefaultlib --source=%T/ClassLayoutTest.cpp.obj --output=%T/ClassLayoutTest.cpp.exe
RUN: lldb-test symbols %T/ClassLayoutTest.cpp.exe | FileCheck %s
RUN: lldb-test symbols %T/ClassLayoutTest.cpp.exe | FileCheck --check-prefix=ENUM %s
RUN: lldb-test symbols %T/ClassLayoutTest.cpp.exe | FileCheck --check-prefix=UNION %s
Index: lit/SymbolFile/PDB/calling-conventions.test
===================================================================
--- lit/SymbolFile/PDB/calling-conventions.test
+++ lit/SymbolFile/PDB/calling-conventions.test
@@ -1,6 +1,5 @@
REQUIRES: system-windows, lld
-RUN: %clang_cl -m32 /Zi /GS- /c %S/Inputs/CallingConventionsTest.cpp /o %t.obj
-RUN: lld-link /debug:full /nodefaultlib /entry:main %t.obj /out:%t.exe
+RUN: %build --compiler=clang-cl --arch=32 --nodefaultlib --source=%S/Inputs/CallingConventionsTest.cpp --output=%t.exe
RUN: lldb-test symbols -dump-ast %t.exe | FileCheck %s
CHECK: Module: {{.*}}
Index: lit/SymbolFile/PDB/ast-restore.test
===================================================================
--- lit/SymbolFile/PDB/ast-restore.test
+++ lit/SymbolFile/PDB/ast-restore.test
@@ -1,6 +1,5 @@
-REQUIRES: system-windows
-RUN: %msvc_cl /Zi /GS- /c %S/Inputs/AstRestoreTest.cpp /Fo%t.obj
-RUN: %msvc_link /debug:full /nodefaultlib /entry:main %t.obj /out:%t.exe
+REQUIRES: system-windows, msvc
+RUN: %build --compiler=msvc --nodefaultlib --source=%S/Inputs/AstRestoreTest.cpp --output=%t.exe
RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=ENUM %s
RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=GLOBAL %s
RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=BASE %s
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits