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

Unified Diff: util/test/errors.h

Issue 438993002: Add TaskMemory, which can read another Mach task’s memory, and its test (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Improvements Created 6 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 side-by-side diff with in-line comments
Download patch
Index: util/test/errors.h
diff --git a/util/test/errors.h b/util/test/errors.h
new file mode 100644
index 0000000000000000000000000000000000000000..61d286e54b2f23727e5fed1a4ee56af38b8c1db7
--- /dev/null
+++ b/util/test/errors.h
@@ -0,0 +1,63 @@
+// Copyright 2014 The Crashpad Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef CRASHPAD_UTIL_TEST_ERRORS_H_
+#define CRASHPAD_UTIL_TEST_ERRORS_H_
+
+#include <string>
+
+namespace crashpad {
+namespace test {
+
+// These functions format messages in a similar way to the PLOG and PCHECK
+// family of logging macros in base/logging.h. They exist to interoperate with
+// gtest assertions, which don’t interoperate with logging but can be streamed
+// to.
+//
+// Where non-test code could do:
+// PCHECK(rv == 0) << "close";
+// gtest-based test code can do:
+// EXPECT_EQ(0, rv) << ErrnoMessage("close");
+
+//! \brief Formats an error message using `errno`.
+//!
+//! The returned string will combine the \a base string, if supplied, with a
+//! a textual and numeric description of the error.
+//!
+//! \param[in] base A string to prepend to the error description.
+//!
+//! \return A string of the format `"Operation not permitted (1)"` if `errno`
Robert Sesek 2014/08/03 14:56:43 What will happen if I accidentally pass |err = 0|?
+//! has the value `EPERM` on a system where this is defined to be `1`. If
+//! \a base is not empty, it will be prepended to this string, separated by
+//! a colon.
+std::string ErrnoMessage(int err, const std::string& base = std::string());
+
+//! \brief Formats an error message using an `errno` value.
+//!
+//! The returned string will combine the \a base string, if supplied, with a
+//! a textual and numeric description of the error.
+//!
+//! \param[in] err The error code, usable as an `errno` value.
Robert Sesek 2014/08/03 14:56:43 This function doesn't take an |err| in param.
+//! \param[in] base A string to prepend to the error description.
+//!
+//! \return A string of the format `"Operation not permitted (1)"` if \a err has
+//! the value `EPERM` on a system where this is defined to be `1`. If \a
+//! base is not empty, it will be prepended to this string, separated by a
+//! colon.
+std::string ErrnoMessage(const std::string& base = std::string());
+
+} // namespace test
+} // namespace crashpad
+
+#endif // CRASHPAD_UTIL_TEST_ERRORS_H_

Powered by Google App Engine
This is Rietveld 408576698