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