OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
| 5 #include <stddef.h> |
| 6 #include <stdint.h> |
| 7 |
5 #include <vector> | 8 #include <vector> |
6 | 9 |
7 #include "base/basictypes.h" | 10 #include "base/macros.h" |
8 #include "chrome/test/logging/win/mof_data_parser.h" | 11 #include "chrome/test/logging/win/mof_data_parser.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
10 | 13 |
11 // A test fixture for Mof parser tests. | 14 // A test fixture for Mof parser tests. |
12 class MofDataParserTest : public ::testing::Test { | 15 class MofDataParserTest : public ::testing::Test { |
13 protected: | 16 protected: |
14 EVENT_TRACE* MakeEventWithDataOfSize(size_t size); | 17 EVENT_TRACE* MakeEventWithDataOfSize(size_t size); |
15 template<typename T> EVENT_TRACE* MakeEventWithBlittedValue(T value) { | 18 template<typename T> EVENT_TRACE* MakeEventWithBlittedValue(T value) { |
16 EVENT_TRACE* event = MakeEventWithDataOfSize(sizeof(value)); | 19 EVENT_TRACE* event = MakeEventWithDataOfSize(sizeof(value)); |
17 *reinterpret_cast<T*>(event->MofData) = value; | 20 *reinterpret_cast<T*>(event->MofData) = value; |
18 return event; | 21 return event; |
19 } | 22 } |
20 EVENT_TRACE* MakeEventWithDWORD(DWORD value); | 23 EVENT_TRACE* MakeEventWithDWORD(DWORD value); |
21 EVENT_TRACE* MakeEventWithPointerArray(const void* const* pointers, | 24 EVENT_TRACE* MakeEventWithPointerArray(const void* const* pointers, |
22 DWORD size); | 25 DWORD size); |
23 EVENT_TRACE* MakeEventWithString(const char* a_string, size_t length); | 26 EVENT_TRACE* MakeEventWithString(const char* a_string, size_t length); |
24 | 27 |
25 std::vector<uint8> buffer_; | 28 std::vector<uint8_t> buffer_; |
26 }; | 29 }; |
27 | 30 |
28 EVENT_TRACE* MofDataParserTest::MakeEventWithDataOfSize(size_t size) { | 31 EVENT_TRACE* MofDataParserTest::MakeEventWithDataOfSize(size_t size) { |
29 buffer_.assign(sizeof(EVENT_TRACE) + size, 0); | 32 buffer_.assign(sizeof(EVENT_TRACE) + size, 0); |
30 EVENT_TRACE* event = reinterpret_cast<EVENT_TRACE*>(&buffer_[0]); | 33 EVENT_TRACE* event = reinterpret_cast<EVENT_TRACE*>(&buffer_[0]); |
31 event->MofLength = size; | 34 event->MofLength = size; |
32 event->MofData = &buffer_[sizeof(EVENT_TRACE)]; | 35 event->MofData = &buffer_[sizeof(EVENT_TRACE)]; |
33 return event; | 36 return event; |
34 } | 37 } |
35 | 38 |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 // Try a string that isn't terminated. | 185 // Try a string that isn't terminated. |
183 event = MakeEventWithString(a_string, arraysize(a_string) - 1); | 186 event = MakeEventWithString(a_string, arraysize(a_string) - 1); |
184 { | 187 { |
185 base::StringPiece value; | 188 base::StringPiece value; |
186 logging_win::MofDataParser parser(event); | 189 logging_win::MofDataParser parser(event); |
187 EXPECT_FALSE(parser.empty()); | 190 EXPECT_FALSE(parser.empty()); |
188 EXPECT_FALSE(parser.ReadString(&value)); | 191 EXPECT_FALSE(parser.ReadString(&value)); |
189 EXPECT_FALSE(parser.empty()); | 192 EXPECT_FALSE(parser.empty()); |
190 } | 193 } |
191 } | 194 } |
OLD | NEW |