OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 sizeof(int16_t)>(true); | 133 sizeof(int16_t)>(true); |
134 TestWrite<int16_t, ByteWriter<int16_t>::WriteBigEndian, | 134 TestWrite<int16_t, ByteWriter<int16_t>::WriteBigEndian, |
135 sizeof(int16_t)>(true); | 135 sizeof(int16_t)>(true); |
136 } | 136 } |
137 | 137 |
138 TEST_F(ByteIoTest, Test24SBitBigEndian) { | 138 TEST_F(ByteIoTest, Test24SBitBigEndian) { |
139 TestRead<int32_t, ByteReader<int32_t, 3>::ReadBigEndian, 3>(true); | 139 TestRead<int32_t, ByteReader<int32_t, 3>::ReadBigEndian, 3>(true); |
140 TestWrite<int32_t, ByteWriter<int32_t, 3>::WriteBigEndian, 3>(true); | 140 TestWrite<int32_t, ByteWriter<int32_t, 3>::WriteBigEndian, 3>(true); |
141 } | 141 } |
142 | 142 |
143 TEST_F(ByteIoTest, Test32SBitBigEndian) { | 143 // Disabled for UBSan: https://bugs.chromium.org/p/webrtc/issues/detail?id=5490 |
| 144 #ifdef UNDEFINED_SANITIZER |
| 145 #define MAYBE_Test32SBitBigEndian DISABLED_Test32SBitBigEndian |
| 146 #else |
| 147 #define MAYBE_Test32SBitBigEndian Test32SBitBigEndian |
| 148 #endif |
| 149 TEST_F(ByteIoTest, MAYBE_Test32SBitBigEndian) { |
144 TestRead<int32_t, ByteReader<int32_t>::ReadBigEndian, | 150 TestRead<int32_t, ByteReader<int32_t>::ReadBigEndian, |
145 sizeof(int32_t)>(true); | 151 sizeof(int32_t)>(true); |
146 TestWrite<int32_t, ByteWriter<int32_t>::WriteBigEndian, | 152 TestWrite<int32_t, ByteWriter<int32_t>::WriteBigEndian, |
147 sizeof(int32_t)>(true); | 153 sizeof(int32_t)>(true); |
148 } | 154 } |
149 | 155 |
150 TEST_F(ByteIoTest, Test64SBitBigEndian) { | 156 // Disabled for UBSan: https://bugs.chromium.org/p/webrtc/issues/detail?id=5490 |
| 157 #ifdef UNDEFINED_SANITIZER |
| 158 #define MAYBE_Test64SBitBigEndian DISABLED_Test64SBitBigEndian |
| 159 #else |
| 160 #define MAYBE_Test64SBitBigEndian Test64SBitBigEndian |
| 161 #endif |
| 162 TEST_F(ByteIoTest, MAYBE_Test64SBitBigEndian) { |
151 TestRead<int64_t, ByteReader<int64_t>::ReadBigEndian, | 163 TestRead<int64_t, ByteReader<int64_t>::ReadBigEndian, |
152 sizeof(int64_t)>(true); | 164 sizeof(int64_t)>(true); |
153 TestWrite<int64_t, ByteWriter<int64_t>::WriteBigEndian, | 165 TestWrite<int64_t, ByteWriter<int64_t>::WriteBigEndian, |
154 sizeof(int64_t)>(true); | 166 sizeof(int64_t)>(true); |
155 } | 167 } |
156 | 168 |
157 TEST_F(ByteIoTest, Test16UBitLittleEndian) { | 169 TEST_F(ByteIoTest, Test16UBitLittleEndian) { |
158 TestRead<uint16_t, ByteReader<uint16_t>::ReadLittleEndian, | 170 TestRead<uint16_t, ByteReader<uint16_t>::ReadLittleEndian, |
159 sizeof(uint16_t)>(false); | 171 sizeof(uint16_t)>(false); |
160 TestWrite<uint16_t, ByteWriter<uint16_t>::WriteLittleEndian, | 172 TestWrite<uint16_t, ByteWriter<uint16_t>::WriteLittleEndian, |
(...skipping 24 matching lines...) Expand all Loading... |
185 sizeof(int16_t)>(false); | 197 sizeof(int16_t)>(false); |
186 TestWrite<int16_t, ByteWriter<int16_t>::WriteLittleEndian, | 198 TestWrite<int16_t, ByteWriter<int16_t>::WriteLittleEndian, |
187 sizeof(int16_t)>(false); | 199 sizeof(int16_t)>(false); |
188 } | 200 } |
189 | 201 |
190 TEST_F(ByteIoTest, Test24SBitLittleEndian) { | 202 TEST_F(ByteIoTest, Test24SBitLittleEndian) { |
191 TestRead<int32_t, ByteReader<int32_t, 3>::ReadLittleEndian, 3>(false); | 203 TestRead<int32_t, ByteReader<int32_t, 3>::ReadLittleEndian, 3>(false); |
192 TestWrite<int32_t, ByteWriter<int32_t, 3>::WriteLittleEndian, 3>(false); | 204 TestWrite<int32_t, ByteWriter<int32_t, 3>::WriteLittleEndian, 3>(false); |
193 } | 205 } |
194 | 206 |
195 TEST_F(ByteIoTest, Test32SBitLittleEndian) { | 207 // Disabled for UBSan: https://bugs.chromium.org/p/webrtc/issues/detail?id=5490 |
| 208 #ifdef UNDEFINED_SANITIZER |
| 209 #define MAYBE_Test32SBitLittleEndian DISABLED_Test32SBitLittleEndian |
| 210 #else |
| 211 #define MAYBE_Test32SBitLittleEndian Test32SBitLittleEndian |
| 212 #endif |
| 213 TEST_F(ByteIoTest, MAYBE_Test32SBitLittleEndian) { |
196 TestRead<int32_t, ByteReader<int32_t>::ReadLittleEndian, | 214 TestRead<int32_t, ByteReader<int32_t>::ReadLittleEndian, |
197 sizeof(int32_t)>(false); | 215 sizeof(int32_t)>(false); |
198 TestWrite<int32_t, ByteWriter<int32_t>::WriteLittleEndian, | 216 TestWrite<int32_t, ByteWriter<int32_t>::WriteLittleEndian, |
199 sizeof(int32_t)>(false); | 217 sizeof(int32_t)>(false); |
200 } | 218 } |
201 | 219 |
202 TEST_F(ByteIoTest, Test64SBitLittleEndian) { | 220 // Disabled for UBSan: https://bugs.chromium.org/p/webrtc/issues/detail?id=5490 |
| 221 #ifdef UNDEFINED_SANITIZER |
| 222 #define MAYBE_Test64SBitLittleEndian DISABLED_Test64SBitLittleEndian |
| 223 #else |
| 224 #define MAYBE_Test64SBitLittleEndian Test64SBitLittleEndian |
| 225 #endif |
| 226 TEST_F(ByteIoTest, MAYBE_Test64SBitLittleEndian) { |
203 TestRead<int64_t, ByteReader<int64_t>::ReadLittleEndian, | 227 TestRead<int64_t, ByteReader<int64_t>::ReadLittleEndian, |
204 sizeof(int64_t)>(false); | 228 sizeof(int64_t)>(false); |
205 TestWrite<int64_t, ByteWriter<int64_t>::WriteLittleEndian, | 229 TestWrite<int64_t, ByteWriter<int64_t>::WriteLittleEndian, |
206 sizeof(int64_t)>(false); | 230 sizeof(int64_t)>(false); |
207 } | 231 } |
208 | 232 |
209 // Sets up a fixed byte array and converts N bytes from the array into a | 233 // Sets up a fixed byte array and converts N bytes from the array into a |
210 // uint64_t. Verifies the value with hard-coded reference. | 234 // uint64_t. Verifies the value with hard-coded reference. |
211 TEST(ByteIo, SanityCheckFixedByteArrayUnsignedReadBigEndian) { | 235 TEST(ByteIo, SanityCheckFixedByteArrayUnsignedReadBigEndian) { |
212 uint8_t data[8] = {0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAA, 0x99, 0x88}; | 236 uint8_t data[8] = {0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAA, 0x99, 0x88}; |
(...skipping 26 matching lines...) Expand all Loading... |
239 EXPECT_EQ(static_cast<uint64_t>(0xBBCCDDEEFF), value); | 263 EXPECT_EQ(static_cast<uint64_t>(0xBBCCDDEEFF), value); |
240 value = ByteReader<uint64_t, 6>::ReadLittleEndian(data); | 264 value = ByteReader<uint64_t, 6>::ReadLittleEndian(data); |
241 EXPECT_EQ(static_cast<uint64_t>(0xAABBCCDDEEFF), value); | 265 EXPECT_EQ(static_cast<uint64_t>(0xAABBCCDDEEFF), value); |
242 value = ByteReader<uint64_t, 7>::ReadLittleEndian(data); | 266 value = ByteReader<uint64_t, 7>::ReadLittleEndian(data); |
243 EXPECT_EQ(static_cast<uint64_t>(0x99AABBCCDDEEFF), value); | 267 EXPECT_EQ(static_cast<uint64_t>(0x99AABBCCDDEEFF), value); |
244 value = ByteReader<uint64_t, 8>::ReadLittleEndian(data); | 268 value = ByteReader<uint64_t, 8>::ReadLittleEndian(data); |
245 EXPECT_EQ(static_cast<uint64_t>(0x8899AABBCCDDEEFF), value); | 269 EXPECT_EQ(static_cast<uint64_t>(0x8899AABBCCDDEEFF), value); |
246 } | 270 } |
247 } // namespace | 271 } // namespace |
248 } // namespace webrtc | 272 } // namespace webrtc |
OLD | NEW |