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
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to