| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. 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 #ifndef CRASHPAD_MINIDUMP_TEST_MINIDUMP_FILE_WRITER_TEST_UTIL_H_ | 15 #ifndef CRASHPAD_MINIDUMP_TEST_MINIDUMP_FILE_WRITER_TEST_UTIL_H_ | 
| 16 #define CRASHPAD_MINIDUMP_TEST_MINIDUMP_FILE_WRITER_TEST_UTIL_H_ | 16 #define CRASHPAD_MINIDUMP_TEST_MINIDUMP_FILE_WRITER_TEST_UTIL_H_ | 
| 17 | 17 | 
| 18 #include <dbghelp.h> | 18 #include <dbghelp.h> | 
| 19 #include <stdint.h> | 19 #include <stdint.h> | 
| 20 | 20 | 
|  | 21 #include <string> | 
|  | 22 | 
| 21 namespace crashpad { | 23 namespace crashpad { | 
| 22 namespace test { | 24 namespace test { | 
| 23 | 25 | 
|  | 26 //! \brief Returns the MINIDUMP_HEADER at the start of a minidump file, along | 
|  | 27 //!     with the MINIDUMP_DIRECTORY it references. | 
|  | 28 //! | 
|  | 29 //! This function validates the MINIDUMP_HEADER::Signature and | 
|  | 30 //! MINIDUMP_HEADER::Version fields. | 
|  | 31 //! | 
|  | 32 //! \param[in] file_contents The contents of the minidump file. | 
|  | 33 //! \param[out] directory The MINIDUMP_DIRECTORY referenced by the | 
|  | 34 //!     MINIDUMP_HEADER. If the MINIDUMP_HEADER does not reference a | 
|  | 35 //!     MINIDUMP_DIRECTORY, `nullptr` without raising a gtest assertion. If the | 
|  | 36 //!     referenced MINIDUMP_DIRECTORY is not valid, `nullptr` with a gtest | 
|  | 37 //!     assertion raised. On failure, `nullptr`. | 
|  | 38 //! | 
|  | 39 //! \return On success, the MINIDUMP_HEADER at the beginning of the minidump | 
|  | 40 //!     file. On failure, raises a gtest assertion and returns `nullptr`. | 
|  | 41 const MINIDUMP_HEADER* MinidumpHeaderAtStart( | 
|  | 42     const std::string& file_contents, | 
|  | 43     const MINIDUMP_DIRECTORY** directory); | 
|  | 44 | 
| 24 //! \brief Verifies, via gtest assertions, that a MINIDUMP_HEADER contains | 45 //! \brief Verifies, via gtest assertions, that a MINIDUMP_HEADER contains | 
| 25 //!     expected values. | 46 //!     expected values. | 
| 26 //! | 47 //! | 
| 27 //! All fields in the MINIDUMP_HEADER will be evaluated. Most are compared to | 48 //! All fields in the MINIDUMP_HEADER will be evaluated. Most are compared to | 
| 28 //! their correct default values. MINIDUMP_HEADER::NumberOfStreams is compared | 49 //! their correct default values. MINIDUMP_HEADER::NumberOfStreams is compared | 
| 29 //! to \a streams, and MINIDUMP_HEADER::TimeDateStamp is compared to \a | 50 //! to \a streams, and MINIDUMP_HEADER::TimeDateStamp is compared to \a | 
| 30 //! timestamp. Most fields are checked with nonfatal EXPECT-style assertions, | 51 //! timestamp. Most fields are checked with nonfatal EXPECT-style assertions, | 
| 31 //! but MINIDUMP_HEADER::NumberOfStreams and MINIDUMP_HEADER::StreamDirectoryRva | 52 //! but MINIDUMP_HEADER::NumberOfStreams and MINIDUMP_HEADER::StreamDirectoryRva | 
| 32 //! are checked with fatal ASSERT-style assertions, because they must be | 53 //! are checked with fatal ASSERT-style assertions, because they must be | 
| 33 //! correct in order for processing of the minidump to continue. | 54 //! correct in order for processing of the minidump to continue. | 
| 34 void VerifyMinidumpHeader(const MINIDUMP_HEADER* header, | 55 void VerifyMinidumpHeader(const MINIDUMP_HEADER* header, | 
| 35                           uint32_t streams, | 56                           uint32_t streams, | 
| 36                           uint32_t timestamp); | 57                           uint32_t timestamp); | 
| 37 | 58 | 
| 38 }  // namespace test | 59 }  // namespace test | 
| 39 }  // namespace crashpad | 60 }  // namespace crashpad | 
| 40 | 61 | 
| 41 #endif  // CRASHPAD_MINIDUMP_TEST_MINIDUMP_FILE_WRITER_TEST_UTIL_H_ | 62 #endif  // CRASHPAD_MINIDUMP_TEST_MINIDUMP_FILE_WRITER_TEST_UTIL_H_ | 
| OLD | NEW | 
|---|