| 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 |