Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: syzygy/integration_tests/integration_tests_dll.h

Issue 2946083002: Moved source files into a list variable and add a custom build target to compile the integration te… (Closed)
Patch Set: Split the test table into Asan and non-Asan tests. Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 Google Inc. All Rights Reserved. 1 // Copyright 2013 Google Inc. All Rights Reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and 12 // See the License for the specific language governing permissions and
13 // limitations under the License. 13 // limitations under the License.
14 // 14 //
15 // This file declares the entry point for the different end to end 15 // This file declares the entry point for the different end to end
16 // instrumentation tests. 16 // instrumentation tests.
17 #ifndef SYZYGY_INTEGRATION_TESTS_INTEGRATION_TESTS_DLL_H_ 17 #ifndef SYZYGY_INTEGRATION_TESTS_INTEGRATION_TESTS_DLL_H_
18 #define SYZYGY_INTEGRATION_TESTS_INTEGRATION_TESTS_DLL_H_ 18 #define SYZYGY_INTEGRATION_TESTS_INTEGRATION_TESTS_DLL_H_
19 19
20 #include <stdint.h> 20 #include <stdint.h>
21 21
22 namespace testing { 22 namespace testing {
23 23
24 enum SupportedCompiler { 24 // This macro declares the SygyAsan tests ids and the function that they're asso ciated
25 MSVC, 25 // with.
26 CLANG, 26 #define END_TO_END_ASAN_TESTS(decl) \
27 BOTH, 27 decl(kAsanRead8BufferOverflow, testing::AsanReadBufferOverflow<int8_t>) \
28 }; 28 decl(kAsanRead16BufferOverflow, testing::AsanReadBufferOverflow<int16_t>) \
29 decl(kAsanRead32BufferOverflow, testing::AsanReadBufferOverflow<int32_t>) \
30 decl(kAsanRead64BufferOverflow, testing::AsanReadBufferOverflow<double>) \
31 decl(kAsanRead8BufferUnderflow, testing::AsanReadBufferUnderflow<int8_t>) \
32 decl(kAsanRead16BufferUnderflow, \
33 testing::AsanReadBufferUnderflow<int16_t>) \
34 decl(kAsanRead32BufferUnderflow, \
35 testing::AsanReadBufferUnderflow<int32_t>) \
36 decl(kAsanRead64BufferUnderflow, \
37 testing::AsanReadBufferUnderflow<double>) \
38 decl(kAsanWrite8BufferOverflow, testing::AsanWriteBufferOverflow<int8_t>) \
39 decl(kAsanWrite16BufferOverflow, \
40 testing::AsanWriteBufferOverflow<int16_t>) \
41 decl(kAsanWrite32BufferOverflow, \
42 testing::AsanWriteBufferOverflow<int32_t>) \
43 decl(kAsanWrite64BufferOverflow, \
44 testing::AsanWriteBufferOverflow<double>) \
45 decl(kAsanWrite8BufferUnderflow, \
46 testing::AsanWriteBufferUnderflow<int8_t>) \
47 decl(kAsanWrite16BufferUnderflow, \
48 testing::AsanWriteBufferUnderflow<int16_t>) \
49 decl(kAsanWrite32BufferUnderflow, \
50 testing::AsanWriteBufferUnderflow<int32_t>) \
51 decl(kAsanWrite64BufferUnderflow, \
52 testing::AsanWriteBufferUnderflow<double>) \
53 decl(kAsanRead8UseAfterFree, testing::AsanReadUseAfterFree<int8_t>) \
54 decl(kAsanRead16UseAfterFree, testing::AsanReadUseAfterFree<int16_t>) \
55 decl(kAsanRead32UseAfterFree, testing::AsanReadUseAfterFree<int32_t>) \
56 decl(kAsanRead64UseAfterFree, testing::AsanReadUseAfterFree<double>) \
57 decl(kAsanWrite8UseAfterFree, testing::AsanWriteUseAfterFree<int8_t>) \
58 decl(kAsanWrite16UseAfterFree, testing::AsanWriteUseAfterFree<int16_t>) \
59 decl(kAsanWrite32UseAfterFree, testing::AsanWriteUseAfterFree<int32_t>) \
60 decl(kAsanWrite64UseAfterFree, testing::AsanWriteUseAfterFree<double>) \
61 decl(kAsanMemsetOverflow, testing::AsanMemsetOverflow<int32_t>) \
62 decl(kAsanMemsetUnderflow, testing::AsanMemsetUnderflow<int8_t>) \
63 decl(kAsanMemsetUseAfterFree, testing::AsanMemsetUseAfterFree<size_t>) \
64 decl(kAsanMemchrOverflow, testing::AsanMemchrOverflow<double>) \
65 decl(kAsanMemchrUnderflow, testing::AsanMemchrUnderflow<int32_t>) \
66 decl(kAsanMemchrUseAfterFree, testing::AsanMemchrUseAfterFree<double>) \
67 decl(kAsanMemmoveReadOverflow, testing::AsanMemmoveReadOverflow<double>) \
68 decl(kAsanMemmoveReadUnderflow, \
69 testing::AsanMemmoveReadUnderflow<int16_t>) \
70 decl(kAsanMemmoveUseAfterFree, \
71 testing::AsanMemmoveUseAfterFree<uint32_t>) \
72 decl(kAsanMemmoveWriteOverflow, \
73 testing::AsanMemmoveWriteOverflow<size_t>) \
74 decl(kAsanMemmoveWriteUnderflow, \
75 testing::AsanMemmoveWriteUnderflow<int8_t>) \
76 decl(kAsanMemcpyReadOverflow, testing::AsanMemcpyReadOverflow<int32_t>) \
77 decl(kAsanMemcpyReadUnderflow, testing::AsanMemcpyReadUnderflow<int8_t>) \
78 decl(kAsanMemcpyUseAfterFree, testing::AsanMemcpyUseAfterFree<int16_t>) \
79 decl(kAsanMemcpyWriteOverflow, testing::AsanMemcpyWriteOverflow<double>) \
80 decl(kAsanMemcpyWriteUnderflow, \
81 testing::AsanMemcpyWriteUnderflow<int16_t>) \
82 decl(kAsanStrcspnKeysOverflow, testing::AsanStrcspnKeysOverflow) \
83 decl(kAsanStrcspnKeysUnderflow, testing::AsanStrcspnKeysUnderflow) \
84 decl(kAsanStrcspnKeysUseAfterFree, testing::AsanStrcspnKeysUseAfterFree) \
85 decl(kAsanStrcspnSrcOverflow, testing::AsanStrcspnSrcOverflow) \
86 decl(kAsanStrcspnSrcUnderflow, testing::AsanStrcspnSrcUnderflow) \
87 decl(kAsanStrcspnSrcUseAfterFree, testing::AsanStrcspnSrcUseAfterFree) \
88 decl(kAsanStrlenOverflow, testing::AsanStrlenOverflow) \
89 decl(kAsanStrlenUnderflow, testing::AsanStrlenUnderflow) \
90 decl(kAsanStrlenUseAfterFree, testing::AsanStrlenUseAfterFree) \
91 decl(kAsanStrnlenOverflow, testing::AsanStrnlenOverflow) \
92 decl(kAsanStrnlenUnderflow, testing::AsanStrnlenUnderflow) \
93 decl(kAsanStrnlenUseAfterFree, testing::AsanStrnlenUseAfterFree) \
94 decl(kAsanWcsnlenOverflow, testing::AsanWcsnlenOverflow) \
95 decl(kAsanWcsnlenUnderflow, testing::AsanWcsnlenUnderflow) \
96 decl(kAsanWcsnlenUseAfterFree, testing::AsanWcsnlenUseAfterFree) \
97 decl(kAsanStrrchrOverflow, testing::AsanStrrchrOverflow) \
98 decl(kAsanStrrchrUnderflow, testing::AsanStrrchrUnderflow) \
99 decl(kAsanStrrchrUseAfterFree, testing::AsanStrrchrUseAfterFree) \
100 decl(kAsanWcsrchrOverflow, testing::AsanWcsrchrOverflow) \
101 decl(kAsanWcsrchrUnderflow, testing::AsanWcsrchrUnderflow) \
102 decl(kAsanWcsrchrUseAfterFree, testing::AsanWcsrchrUseAfterFree) \
103 decl(kAsanWcschrOverflow, testing::AsanWcschrOverflow) \
104 decl(kAsanWcschrUnderflow, testing::AsanWcschrUnderflow) \
105 decl(kAsanWcschrUseAfterFree, testing::AsanWcschrUseAfterFree) \
106 decl(kAsanStrcmpSrc1Overflow, testing::AsanStrcmpSrc1Overflow) \
107 decl(kAsanStrcmpSrc1Underflow, testing::AsanStrcmpSrc1Underflow) \
108 decl(kAsanStrcmpSrc1UseAfterFree, testing::AsanStrcmpSrc1UseAfterFree) \
109 decl(kAsanStrcmpSrc2Overflow, testing::AsanStrcmpSrc2Overflow) \
110 decl(kAsanStrcmpSrc2Underflow, testing::AsanStrcmpSrc2Underflow) \
111 decl(kAsanStrcmpSrc2UseAfterFree, testing::AsanStrcmpSrc2UseAfterFree) \
112 decl(kAsanStrpbrkKeysOverflow, testing::AsanStrpbrkKeysOverflow) \
113 decl(kAsanStrpbrkKeysUnderflow, testing::AsanStrpbrkKeysUnderflow) \
114 decl(kAsanStrpbrkKeysUseAfterFree, testing::AsanStrpbrkKeysUseAfterFree) \
115 decl(kAsanStrpbrkSrcOverflow, testing::AsanStrpbrkSrcOverflow) \
116 decl(kAsanStrpbrkSrcUnderflow, testing::AsanStrpbrkSrcUnderflow) \
117 decl(kAsanStrpbrkSrcUseAfterFree, testing::AsanStrpbrkSrcUseAfterFree) \
118 decl(kAsanStrstrSrc1Overflow, testing::AsanStrstrSrc1Overflow) \
119 decl(kAsanStrstrSrc1Underflow, testing::AsanStrstrSrc1Underflow) \
120 decl(kAsanStrstrSrc1UseAfterFree, testing::AsanStrstrSrc1UseAfterFree) \
121 decl(kAsanStrstrSrc2Overflow, testing::AsanStrstrSrc2Overflow) \
122 decl(kAsanStrstrSrc2Underflow, testing::AsanStrstrSrc2Underflow) \
123 decl(kAsanStrstrSrc2UseAfterFree, testing::AsanStrstrSrc2UseAfterFree) \
124 decl(kAsanWcsstrKeysOverflow, testing::AsanWcsstrKeysOverflow) \
125 decl(kAsanStrspnKeysOverflow, testing::AsanStrspnKeysOverflow) \
126 decl(kAsanStrspnKeysUnderflow, testing::AsanStrspnKeysUnderflow) \
127 decl(kAsanStrspnKeysUseAfterFree, testing::AsanStrspnKeysUseAfterFree) \
128 decl(kAsanStrspnSrcOverflow, testing::AsanStrspnSrcOverflow) \
129 decl(kAsanStrspnSrcUnderflow, testing::AsanStrspnSrcUnderflow) \
130 decl(kAsanStrspnSrcUseAfterFree, testing::AsanStrspnSrcUseAfterFree) \
131 decl(kAsanStrncpySrcOverflow, testing::AsanStrncpySrcOverflow) \
132 decl(kAsanStrncpySrcUnderflow, testing::AsanStrncpySrcUnderflow) \
133 decl(kAsanStrncpySrcUseAfterFree, testing::AsanStrncpySrcUseAfterFree) \
134 decl(kAsanStrncpyDstOverflow, testing::AsanStrncpyDstOverflow) \
135 decl(kAsanStrncpyDstUnderflow, testing::AsanStrncpyDstUnderflow) \
136 decl(kAsanStrncpyDstUseAfterFree, testing::AsanStrncpyDstUseAfterFree) \
137 decl(kAsanStrncatSuffixOverflow, testing::AsanStrncatSuffixOverflow) \
138 decl(kAsanStrncatSuffixUnderflow, testing::AsanStrncatSuffixUnderflow) \
139 decl(kAsanStrncatSuffixUseAfterFree, \
140 testing::AsanStrncatSuffixUseAfterFree) \
141 decl(kAsanStrncatDstOverflow, testing::AsanStrncatDstOverflow) \
142 decl(kAsanStrncatDstUnderflow, testing::AsanStrncatDstUnderflow) \
143 decl(kAsanStrncatDstUseAfterFree, testing::AsanStrncatDstUseAfterFree) \
144 decl(kAsanReadFileOverflow, testing::AsanReadFileOverflow) \
145 decl(kAsanReadFileUseAfterFree, testing::AsanReadFileUseAfterFree) \
146 decl(kAsanWriteFileOverflow, testing::AsanWriteFileOverflow) \
147 decl(kAsanWriteFileUseAfterFree, testing::AsanWriteFileUseAfterFree) \
148 decl(kAsanCorruptBlock, testing::AsanCorruptBlock) \
149 decl(kAsanCorruptBlockInQuarantine, \
150 testing::AsanCorruptBlockInQuarantine) \
151 decl(kAsanInvalidAccessWithCorruptAllocatedBlockHeader, \
152 testing::AsanInvalidAccessWithCorruptAllocatedBlockHeader) \
153 decl(kAsanInvalidAccessWithCorruptAllocatedBlockTrailer, \
154 testing::AsanInvalidAccessWithCorruptAllocatedBlockTrailer) \
155 decl(kAsanInvalidAccessWithCorruptFreedBlock, \
156 testing::AsanInvalidAccessWithCorruptFreedBlock) \
157 decl(kAsanReadLargeAllocationTrailerBeforeFree, \
158 testing::AsanReadLargeAllocationTrailerBeforeFree) \
159 decl(kAsanReadLargeAllocationBodyAfterFree, \
160 testing::AsanReadLargeAllocationBodyAfterFree) \
161 decl(kAsanReadPageAllocationTrailerBeforeFreeAllocation, \
162 testing::AsanReadPageAllocationTrailerBeforeFree) \
163 decl(kAsanWritePageAllocationBodyAfterFree, \
164 testing::AsanWritePageAllocationBodyAfterFree) \
165 decl(kAsanMemcmpAccessViolation, testing::AsanMemcmpAccessViolation) \
166 decl(kAsanCorruptBlockWithPageProtections, \
167 testing::AsanCorruptBlockWithPageProtections) \
168 decl(kAsanNearNullptrAccessHeapCorruptionInstrumented, \
169 testing::AsanNearNullptrAccessHeapCorruptionInstrumented) \
170 decl(kAsanNearNullptrAccessHeapCorruptionUninstrumented, \
171 testing::AsanNearNullptrAccessHeapCorruptionUninstrumented) \
172 decl(kAsanNearNullptrAccessNoHeapCorruptionInstrumented, \
173 testing::AsanNearNullptrAccessNoHeapCorruptionInstrumented) \
174 decl(kAsanNearNullptrAccessNoHeapCorruptionUninstrumented, \
175 testing::AsanNearNullptrAccessNoHeapCorruptionUninstrumented) \
176 decl(kAsanNullptrAccessNoHeapCorruptionUninstrumented, \
177 testing::AsanNullptrAccessNoHeapCorruptionUninstrumented) \
178 decl(kAsanDeferredFreeTLS, testing::AsanDeferredFreeTLS)
29 179
30 // This macro declares the tests ids and the function that they're associated 180
181
182 // This macro declares the non SygyAsan tests ids and the function that they're associated
31 // with. 183 // with.
32 #define END_TO_END_TEST_ID_TABLE(decl) \ 184 #define END_TO_END_NON_ASAN_TESTS(decl) \
33 decl(kArrayComputation1, testing::ArrayComputation1, BOTH) \ 185 decl(kArrayComputation1, testing::ArrayComputation1) \
34 decl(kArrayComputation2, testing::ArrayComputation2, BOTH) \ 186 decl(kArrayComputation2, testing::ArrayComputation2) \
35 decl(kAsanRead8BufferOverflow, testing::AsanReadBufferOverflow<int8_t>, BOTH ) \ 187 decl(kBBEntryCallOnce, BBEntryCallOnce) \
36 decl(kAsanRead16BufferOverflow, testing::AsanReadBufferOverflow<int16_t>, BO TH) \ 188 decl(kBBEntryCallTree, BBEntryCallTree) \
37 decl(kAsanRead32BufferOverflow, testing::AsanReadBufferOverflow<int32_t>, BO TH) \ 189 decl(kBBEntryCallRecursive, BBEntryCallRecursive) \
38 decl(kAsanRead64BufferOverflow, testing::AsanReadBufferOverflow<double>, BOT H) \ 190 decl(kCoverage1, testing::coverage_func1) \
39 decl(kAsanRead8BufferUnderflow, testing::AsanReadBufferUnderflow<int8_t>, BO TH) \ 191 decl(kCoverage2, testing::coverage_func2) \
40 decl(kAsanRead16BufferUnderflow, \ 192 decl(kCoverage3, testing::coverage_func3) \
41 testing::AsanReadBufferUnderflow<int16_t>, BOTH) \ 193 decl(kProfileCallExport, testing::CallExportedFunction) \
42 decl(kAsanRead32BufferUnderflow, \ 194 decl(kProfileGetMyRVA, testing::GetMyRVA)
43 testing::AsanReadBufferUnderflow<int32_t>, BOTH) \ 195
44 decl(kAsanRead64BufferUnderflow, \ 196 // For clang-cl run only the asan tests.
45 testing::AsanReadBufferUnderflow<double>, BOTH) \ 197 #ifdef __clang__
46 decl(kAsanWrite8BufferOverflow, testing::AsanWriteBufferOverflow<int8_t>, BO TH) \ 198 #define END_TO_END_TEST_ID_TABLE(decl) END_TO_END_ASAN_TESTS(decl)
47 decl(kAsanWrite16BufferOverflow, \ 199 #else
48 testing::AsanWriteBufferOverflow<int16_t>, BOTH) \ 200 #define END_TO_END_TEST_ID_TABLE(decl) END_TO_END_NON_ASAN_TESTS(decl) END_TO_EN D_ASAN_TESTS(decl)
49 decl(kAsanWrite32BufferOverflow, \ 201 #endif // __clang__
50 testing::AsanWriteBufferOverflow<int32_t>, BOTH) \
51 decl(kAsanWrite64BufferOverflow, \
52 testing::AsanWriteBufferOverflow<double>, BOTH) \
53 decl(kAsanWrite8BufferUnderflow, \
54 testing::AsanWriteBufferUnderflow<int8_t>, BOTH) \
55 decl(kAsanWrite16BufferUnderflow, \
56 testing::AsanWriteBufferUnderflow<int16_t>, BOTH) \
57 decl(kAsanWrite32BufferUnderflow, \
58 testing::AsanWriteBufferUnderflow<int32_t>, BOTH) \
59 decl(kAsanWrite64BufferUnderflow, \
60 testing::AsanWriteBufferUnderflow<double>, BOTH) \
61 decl(kAsanRead8UseAfterFree, testing::AsanReadUseAfterFree<int8_t>, BOTH) \
62 decl(kAsanRead16UseAfterFree, testing::AsanReadUseAfterFree<int16_t>, BOTH) \
63 decl(kAsanRead32UseAfterFree, testing::AsanReadUseAfterFree<int32_t>, BOTH) \
64 decl(kAsanRead64UseAfterFree, testing::AsanReadUseAfterFree<double>, BOTH) \
65 decl(kAsanWrite8UseAfterFree, testing::AsanWriteUseAfterFree<int8_t>, BOTH) \
66 decl(kAsanWrite16UseAfterFree, testing::AsanWriteUseAfterFree<int16_t>, BOTH ) \
67 decl(kAsanWrite32UseAfterFree, testing::AsanWriteUseAfterFree<int32_t>, BOTH ) \
68 decl(kAsanWrite64UseAfterFree, testing::AsanWriteUseAfterFree<double>, BOTH) \
69 decl(kAsanMemsetOverflow, testing::AsanMemsetOverflow<int32_t>, BOTH) \
70 decl(kAsanMemsetUnderflow, testing::AsanMemsetUnderflow<int8_t>, BOTH) \
71 decl(kAsanMemsetUseAfterFree, testing::AsanMemsetUseAfterFree<size_t>, BOTH) \
72 decl(kAsanMemchrOverflow, testing::AsanMemchrOverflow<double>, BOTH) \
73 decl(kAsanMemchrUnderflow, testing::AsanMemchrUnderflow<int32_t>, BOTH) \
74 decl(kAsanMemchrUseAfterFree, testing::AsanMemchrUseAfterFree<double>, BOTH) \
75 decl(kAsanMemmoveReadOverflow, testing::AsanMemmoveReadOverflow<double>, BOT H) \
76 decl(kAsanMemmoveReadUnderflow, \
77 testing::AsanMemmoveReadUnderflow<int16_t>, BOTH) \
78 decl(kAsanMemmoveUseAfterFree, \
79 testing::AsanMemmoveUseAfterFree<uint32_t>, BOTH) \
80 decl(kAsanMemmoveWriteOverflow, \
81 testing::AsanMemmoveWriteOverflow<size_t>, BOTH) \
82 decl(kAsanMemmoveWriteUnderflow, \
83 testing::AsanMemmoveWriteUnderflow<int8_t>, BOTH) \
84 decl(kAsanMemcpyReadOverflow, testing::AsanMemcpyReadOverflow<int32_t>, BOTH ) \
85 decl(kAsanMemcpyReadUnderflow, testing::AsanMemcpyReadUnderflow<int8_t>, BOT H) \
86 decl(kAsanMemcpyUseAfterFree, testing::AsanMemcpyUseAfterFree<int16_t>, BOTH ) \
87 decl(kAsanMemcpyWriteOverflow, testing::AsanMemcpyWriteOverflow<double>, BOT H) \
88 decl(kAsanMemcpyWriteUnderflow, \
89 testing::AsanMemcpyWriteUnderflow<int16_t>, BOTH) \
90 decl(kAsanStrcspnKeysOverflow, testing::AsanStrcspnKeysOverflow, BOTH) \
91 decl(kAsanStrcspnKeysUnderflow, testing::AsanStrcspnKeysUnderflow, BOTH) \
92 decl(kAsanStrcspnKeysUseAfterFree, testing::AsanStrcspnKeysUseAfterFree, BOT H) \
93 decl(kAsanStrcspnSrcOverflow, testing::AsanStrcspnSrcOverflow, BOTH) \
94 decl(kAsanStrcspnSrcUnderflow, testing::AsanStrcspnSrcUnderflow, BOTH) \
95 decl(kAsanStrcspnSrcUseAfterFree, testing::AsanStrcspnSrcUseAfterFree, BOTH) \
96 decl(kAsanStrlenOverflow, testing::AsanStrlenOverflow, BOTH) \
97 decl(kAsanStrlenUnderflow, testing::AsanStrlenUnderflow, BOTH) \
98 decl(kAsanStrlenUseAfterFree, testing::AsanStrlenUseAfterFree, BOTH) \
99 decl(kAsanStrnlenOverflow, testing::AsanStrnlenOverflow, BOTH) \
100 decl(kAsanStrnlenUnderflow, testing::AsanStrnlenUnderflow, BOTH) \
101 decl(kAsanStrnlenUseAfterFree, testing::AsanStrnlenUseAfterFree, BOTH) \
102 decl(kAsanWcsnlenOverflow, testing::AsanWcsnlenOverflow, BOTH) \
103 decl(kAsanWcsnlenUnderflow, testing::AsanWcsnlenUnderflow, BOTH) \
104 decl(kAsanWcsnlenUseAfterFree, testing::AsanWcsnlenUseAfterFree, BOTH) \
105 decl(kAsanStrrchrOverflow, testing::AsanStrrchrOverflow, BOTH) \
106 decl(kAsanStrrchrUnderflow, testing::AsanStrrchrUnderflow, BOTH) \
107 decl(kAsanStrrchrUseAfterFree, testing::AsanStrrchrUseAfterFree, BOTH) \
108 decl(kAsanWcsrchrOverflow, testing::AsanWcsrchrOverflow, BOTH) \
109 decl(kAsanWcsrchrUnderflow, testing::AsanWcsrchrUnderflow, BOTH) \
110 decl(kAsanWcsrchrUseAfterFree, testing::AsanWcsrchrUseAfterFree, BOTH) \
111 decl(kAsanWcschrOverflow, testing::AsanWcschrOverflow, BOTH) \
112 decl(kAsanWcschrUnderflow, testing::AsanWcschrUnderflow, BOTH) \
113 decl(kAsanWcschrUseAfterFree, testing::AsanWcschrUseAfterFree, BOTH) \
114 decl(kAsanStrcmpSrc1Overflow, testing::AsanStrcmpSrc1Overflow, BOTH) \
115 decl(kAsanStrcmpSrc1Underflow, testing::AsanStrcmpSrc1Underflow, BOTH) \
116 decl(kAsanStrcmpSrc1UseAfterFree, testing::AsanStrcmpSrc1UseAfterFree, BOTH) \
117 decl(kAsanStrcmpSrc2Overflow, testing::AsanStrcmpSrc2Overflow, BOTH) \
118 decl(kAsanStrcmpSrc2Underflow, testing::AsanStrcmpSrc2Underflow, BOTH) \
119 decl(kAsanStrcmpSrc2UseAfterFree, testing::AsanStrcmpSrc2UseAfterFree, BOTH) \
120 decl(kAsanStrpbrkKeysOverflow, testing::AsanStrpbrkKeysOverflow, BOTH) \
121 decl(kAsanStrpbrkKeysUnderflow, testing::AsanStrpbrkKeysUnderflow, BOTH) \
122 decl(kAsanStrpbrkKeysUseAfterFree, testing::AsanStrpbrkKeysUseAfterFree, BOT H) \
123 decl(kAsanStrpbrkSrcOverflow, testing::AsanStrpbrkSrcOverflow, BOTH) \
124 decl(kAsanStrpbrkSrcUnderflow, testing::AsanStrpbrkSrcUnderflow, BOTH) \
125 decl(kAsanStrpbrkSrcUseAfterFree, testing::AsanStrpbrkSrcUseAfterFree, BOTH) \
126 decl(kAsanStrstrSrc1Overflow, testing::AsanStrstrSrc1Overflow, BOTH) \
127 decl(kAsanStrstrSrc1Underflow, testing::AsanStrstrSrc1Underflow, BOTH) \
128 decl(kAsanStrstrSrc1UseAfterFree, testing::AsanStrstrSrc1UseAfterFree, BOTH) \
129 decl(kAsanStrstrSrc2Overflow, testing::AsanStrstrSrc2Overflow, BOTH) \
130 decl(kAsanStrstrSrc2Underflow, testing::AsanStrstrSrc2Underflow, BOTH) \
131 decl(kAsanStrstrSrc2UseAfterFree, testing::AsanStrstrSrc2UseAfterFree, BOTH) \
132 decl(kAsanWcsstrKeysOverflow, testing::AsanWcsstrKeysOverflow, BOTH) \
133 decl(kAsanStrspnKeysOverflow, testing::AsanStrspnKeysOverflow, BOTH) \
134 decl(kAsanStrspnKeysUnderflow, testing::AsanStrspnKeysUnderflow, BOTH) \
135 decl(kAsanStrspnKeysUseAfterFree, testing::AsanStrspnKeysUseAfterFree, BOTH) \
136 decl(kAsanStrspnSrcOverflow, testing::AsanStrspnSrcOverflow, BOTH) \
137 decl(kAsanStrspnSrcUnderflow, testing::AsanStrspnSrcUnderflow, BOTH) \
138 decl(kAsanStrspnSrcUseAfterFree, testing::AsanStrspnSrcUseAfterFree, BOTH) \
139 decl(kAsanStrncpySrcOverflow, testing::AsanStrncpySrcOverflow, BOTH) \
140 decl(kAsanStrncpySrcUnderflow, testing::AsanStrncpySrcUnderflow, BOTH) \
141 decl(kAsanStrncpySrcUseAfterFree, testing::AsanStrncpySrcUseAfterFree, BOTH) \
142 decl(kAsanStrncpyDstOverflow, testing::AsanStrncpyDstOverflow, BOTH) \
143 decl(kAsanStrncpyDstUnderflow, testing::AsanStrncpyDstUnderflow, BOTH) \
144 decl(kAsanStrncpyDstUseAfterFree, testing::AsanStrncpyDstUseAfterFree, BOTH) \
145 decl(kAsanStrncatSuffixOverflow, testing::AsanStrncatSuffixOverflow, BOTH) \
146 decl(kAsanStrncatSuffixUnderflow, testing::AsanStrncatSuffixUnderflow, BOTH) \
147 decl(kAsanStrncatSuffixUseAfterFree, \
148 testing::AsanStrncatSuffixUseAfterFree, BOTH) \
149 decl(kAsanStrncatDstOverflow, testing::AsanStrncatDstOverflow, BOTH) \
150 decl(kAsanStrncatDstUnderflow, testing::AsanStrncatDstUnderflow, BOTH) \
151 decl(kAsanStrncatDstUseAfterFree, testing::AsanStrncatDstUseAfterFree, BOTH) \
152 decl(kAsanReadFileOverflow, testing::AsanReadFileOverflow, BOTH) \
153 decl(kAsanReadFileUseAfterFree, testing::AsanReadFileUseAfterFree, BOTH) \
154 decl(kAsanWriteFileOverflow, testing::AsanWriteFileOverflow, BOTH) \
155 decl(kAsanWriteFileUseAfterFree, testing::AsanWriteFileUseAfterFree, BOTH) \
156 decl(kAsanCorruptBlock, testing::AsanCorruptBlock, BOTH) \
157 decl(kAsanCorruptBlockInQuarantine, \
158 testing::AsanCorruptBlockInQuarantine, BOTH) \
159 decl(kBBEntryCallOnce, BBEntryCallOnce, BOTH) \
160 decl(kBBEntryCallTree, BBEntryCallTree, BOTH) \
161 decl(kBBEntryCallRecursive, BBEntryCallRecursive, BOTH) \
162 decl(kCoverage1, testing::coverage_func1, BOTH) \
163 decl(kCoverage2, testing::coverage_func2, BOTH) \
164 decl(kCoverage3, testing::coverage_func3, BOTH) \
165 decl(kProfileCallExport, testing::CallExportedFunction, BOTH) \
166 decl(kProfileGetMyRVA, testing::GetMyRVA, BOTH) \
167 decl(kAsanInvalidAccessWithCorruptAllocatedBlockHeader, \
168 testing::AsanInvalidAccessWithCorruptAllocatedBlockHeader, BOTH) \
169 decl(kAsanInvalidAccessWithCorruptAllocatedBlockTrailer, \
170 testing::AsanInvalidAccessWithCorruptAllocatedBlockTrailer, BOTH) \
171 decl(kAsanInvalidAccessWithCorruptFreedBlock, \
172 testing::AsanInvalidAccessWithCorruptFreedBlock, BOTH) \
173 decl(kAsanReadLargeAllocationTrailerBeforeFree, \
174 testing::AsanReadLargeAllocationTrailerBeforeFree, BOTH) \
175 decl(kAsanReadLargeAllocationBodyAfterFree, \
176 testing::AsanReadLargeAllocationBodyAfterFree, BOTH) \
177 decl(kAsanReadPageAllocationTrailerBeforeFreeAllocation, \
178 testing::AsanReadPageAllocationTrailerBeforeFree, BOTH) \
179 decl(kAsanWritePageAllocationBodyAfterFree, \
180 testing::AsanWritePageAllocationBodyAfterFree, BOTH) \
181 decl(kAsanMemcmpAccessViolation, testing::AsanMemcmpAccessViolation, BOTH) \
182 decl(kAsanCorruptBlockWithPageProtections, \
183 testing::AsanCorruptBlockWithPageProtections, BOTH) \
184 decl(kAsanNearNullptrAccessHeapCorruptionInstrumented, \
185 testing::AsanNearNullptrAccessHeapCorruptionInstrumented, BOTH) \
186 decl(kAsanNearNullptrAccessHeapCorruptionUninstrumented, \
187 testing::AsanNearNullptrAccessHeapCorruptionUninstrumented, BOTH) \
188 decl(kAsanNearNullptrAccessNoHeapCorruptionInstrumented, \
189 testing::AsanNearNullptrAccessNoHeapCorruptionInstrumented, BOTH) \
190 decl(kAsanNearNullptrAccessNoHeapCorruptionUninstrumented, \
191 testing::AsanNearNullptrAccessNoHeapCorruptionUninstrumented, BOTH) \
192 decl(kAsanNullptrAccessNoHeapCorruptionUninstrumented, \
193 testing::AsanNullptrAccessNoHeapCorruptionUninstrumented, BOTH) \
194 decl(kAsanDeferredFreeTLS, testing::AsanDeferredFreeTLS, BOTH)
195 202
196 // This enumeration contains an unique id for each end to end test. It is used 203 // This enumeration contains an unique id for each end to end test. It is used
197 // to perform an indirect call through the DLL entry point 'EndToEndTest'. 204 // to perform an indirect call through the DLL entry point 'EndToEndTest'.
198 enum EndToEndTestId { 205 enum EndToEndTestId {
199 #define DECLARE_END_TO_END_ENUM(enum_name, function_to_call, supported_compiler) enum_name, 206 #define DECLARE_END_TO_END_ENUM(enum_name, function_to_call) enum_name,
200 END_TO_END_TEST_ID_TABLE(DECLARE_END_TO_END_ENUM) 207 END_TO_END_TEST_ID_TABLE(DECLARE_END_TO_END_ENUM)
201 #undef DECLARE_END_TO_END_ENUM 208 #undef DECLARE_END_TO_END_ENUM
202 }; 209 };
203
204 } // namespace testing 210 } // namespace testing
205 211
206 #endif // SYZYGY_INTEGRATION_TESTS_INTEGRATION_TESTS_DLL_H_ 212 #endif // SYZYGY_INTEGRATION_TESTS_INTEGRATION_TESTS_DLL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698