regex-filter.test revision de2d8694e25a814696358e95141f4b1aa4d8847e
1; RUN: llvm-pdbdump pretty -symbols -globals -types %p/Inputs/FilterTest.pdb \
2; RUN:    | FileCheck --check-prefix=NO_FILTER %s
3; RUN: llvm-pdbdump pretty -types -exclude-types="GlobalTypedef|NestedTypedef" \
4; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_TYPEDEFS %s
5; RUN: llvm-pdbdump pretty -types -exclude-types="GlobalEnum|NestedEnum" \
6; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_ENUMS %s
7; RUN: llvm-pdbdump pretty -types -symbols -globals -exclude-symbols="MemberVar|GlobalVar" \
8; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_VARS %s
9; RUN: llvm-pdbdump pretty -types -exclude-types="FilterTestClass" \
10; RUN:    %p/Inputs/FilterTest.pdb | FileCheck  --check-prefix=EXCLUDE_WHOLE_CLASS %s
11; RUN: llvm-pdbdump pretty -symbols -globals -exclude-compilands="FilterTest.obj"  \
12; RUN:    %p/Inputs/FilterTest.pdb | FileCheck  --check-prefix=EXCLUDE_COMPILAND %s
13; RUN: llvm-pdbdump pretty -types -include-types="FilterTestClass" \
14; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=INCLUDE_ONLY_TYPES %s
15; RUN: llvm-pdbdump pretty -types -symbols -globals -include-symbols="[[:<:]](IntGlobalVar|DoubleGlobalVar)[[:>:]]" \
16; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=INCLUDE_ONLY_VARS %s
17
18; NO_FILTER: ---TYPES---
19; NO_FILTER: Enums:
20; NO_FILTER: enum GlobalEnum
21; NO_FILTER: Typedefs
22; NO_FILTER: typedef int GlobalTypedef
23; NO_FILTER: Classes:
24; NO_FILTER: struct __vc_attributes
25; NO_FILTER: class FilterTestClass
26; NO_FILTER-DAG: typedef int NestedTypedef
27; NO_FILTER-DAG: enum NestedEnum
28; NO_FILTER-DAG: int IntMemberVar
29; NO_FILTER-DAG: double DoubleMemberVar
30; NO_FILTER: ---SYMBOLS---
31; NO_FILTER: Inputs\FilterTest.obj
32; NO_FILTER: int __cdecl main(int argc, char** argv)
33; NO_FILTER: ---GLOBALS---
34; NO_FILTER-DAG: double DoubleGlobalVar
35; NO_FILTER-DAG: int IntGlobalVar
36; NO_FILTER-DAG: GlobalEnum GlobalEnumVar
37
38; EXCLUDE_TYPEDEFS: ---TYPES---
39; EXCLUDE_TYPEDEFS: Enums:
40; EXCLUDE_TYPEDEFS: GlobalEnum
41; EXCLUDE_TYPEDEFS: Typedefs
42; EXCLUDE_TYPEDEFS-NOT: GlobalTypedef
43; EXCLUDE_TYPEDEFS: Classes
44; EXCLUDE_TYPEDEFS: class FilterTestClass
45; EXCLUDE_TYPEDEFS-NOT: NestedTypedef
46; EXCLUDE_TYPEDEFS: private:
47
48; EXCLUDE_ENUMS: ---TYPES---
49; EXCLUDE_ENUMS: Enums:
50; EXCLUDE_ENUMS-NOT: GlobalEnum
51; EXCLUDE_ENUMS: Typedefs
52; EXCLUDE_ENUMS: GlobalTypedef
53; EXCLUDE_ENUMS: Classes
54; EXCLUDE_ENUMS: class FilterTestClass
55; EXCLUDE_ENUMS-NOT: NestedEnum
56; EXCLUDE_ENUMS: private:
57
58; EXCLUDE_VARS: ---TYPES---
59; EXCLUDE_VARS: Classes:
60; EXCLUDE_VARS: class FilterTestClass
61; EXCLUDE_VARS: private:
62; EXCLUDE_VARS-NOT: IntMemberVar
63; EXCLUDE_VARS-NOT: DoubleMemberVar
64; EXCLUDE_VARS: ---GLOBALS---
65; EXCLUDE_VARS-NOT: DoubleGlobalVar
66; EXCLUDE_VARS-NOT: IntGlobalVar
67
68; EXCLUDE_WHOLE_CLASS: ---TYPES---
69; EXCLUDE_WHOLE_CLASS-NOT: class FilterTestClass
70; EXCLUDE_WHOLE_CLASS-NOT: typedef int NestedTypedef
71; EXCLUDE_WHOLE_CLASS-NOT: enum NestedEnum
72; EXCLUDE_WHOLE_CLASS-NOT: int IntMemberVar
73; EXCLUDE_WHOLE_CLASS-NOT: double DoubleMemberVar
74
75; EXCLUDE_COMPILAND: ---SYMBOLS---
76; EXCLUDE_COMPILAND-NOT: FilterTest.obj
77; EXCLUDE_COMPILAND-NOT: __cdecl main
78; EXCLUDE_COMPILAND: * Linker *
79; EXCLUDE_COMPILAND: ---GLOBALS---
80
81; Everything but types are displayed normally.  But FilterTestClass is
82; the only type that should be displayed.
83; INCLUDE_ONLY_TYPES: ---TYPES---
84; INCLUDE_ONLY_TYPES-NOT: GlobalTypedef
85; INCLUDE_ONLY_TYPES: class FilterTestClass
86
87; We should only see DoubleGlobalVar and IntGlobalVar.  This means that even
88; variables printed in class definitions should be filtered out.
89; INCLUDE_ONLY_VARS: ---TYPES---
90; INCLUDE_ONLY_VARS: class FilterTestClass
91; INCLUDE_ONLY_VARS-NOT: IntMemberVar
92; INCLUDE_ONLY_VARS-NOT: IntDoubleVar
93; INCLUDE_ONLY_VARS: ---GLOBALS---
94; INCLUDE_ONLY_VARS: DoubleGlobalVar
95; INCLUDE_ONLY_VARS: IntGlobalVar
96