summaryrefslogtreecommitdiffstats
path: root/base/threading
diff options
context:
space:
mode:
authorrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-27 01:39:52 +0000
committerrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-27 01:39:52 +0000
commit8558841926595745da9e10b51e87b2fde15a5a36 (patch)
treeed9c9ef9c6349b0bfe5079e5b1bf733560b6a22d /base/threading
parent5a70246fe3e3b83e8cd48e99f6ecf33fef860df7 (diff)
downloadchromium_src-8558841926595745da9e10b51e87b2fde15a5a36.zip
chromium_src-8558841926595745da9e10b51e87b2fde15a5a36.tar.gz
chromium_src-8558841926595745da9e10b51e87b2fde15a5a36.tar.bz2
Don't rely on undefined macro behaviour in unit tests.
Ensure that the macros properly adhere to C++03 16.1.4's requirements for evaluation. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10673010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144361 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/threading')
-rw-r--r--base/threading/thread_checker_unittest.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/base/threading/thread_checker_unittest.cc b/base/threading/thread_checker_unittest.cc
index 0dadcf01..026cfd9 100644
--- a/base/threading/thread_checker_unittest.cc
+++ b/base/threading/thread_checker_unittest.cc
@@ -11,10 +11,16 @@
// Duplicated from base/threading/thread_checker.h so that we can be
// good citizens there and undef the macro.
-#define ENABLE_THREAD_CHECKER (!defined(NDEBUG) || defined(DCHECK_ALWAYS_ON))
+#if !defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)
+#define ENABLE_THREAD_CHECKER 1
+#else
+#define ENABLE_THREAD_CHECKER 0
+#endif
namespace base {
+namespace {
+
// Simple class to exercise the basics of ThreadChecker.
// Both the destructor and DoStuff should verify that they were
// called on the same thread as the constructor.
@@ -74,6 +80,8 @@ class DeleteThreadCheckerClassOnThread : public base::SimpleThread {
DISALLOW_COPY_AND_ASSIGN(DeleteThreadCheckerClassOnThread);
};
+} // namespace
+
TEST(ThreadCheckerTest, CallsAllowedOnSameThread) {
scoped_ptr<ThreadCheckerClass> thread_checker_class(
new ThreadCheckerClass);
@@ -127,7 +135,7 @@ void ThreadCheckerClass::MethodOnDifferentThreadImpl() {
#if ENABLE_THREAD_CHECKER
TEST(ThreadCheckerDeathTest, MethodNotAllowedOnDifferentThreadInDebug) {
- ASSERT_DEBUG_DEATH({
+ ASSERT_DEATH({
ThreadCheckerClass::MethodOnDifferentThreadImpl();
}, "");
}
@@ -156,7 +164,7 @@ void ThreadCheckerClass::DetachThenCallFromDifferentThreadImpl() {
#if ENABLE_THREAD_CHECKER
TEST(ThreadCheckerDeathTest, DetachFromThreadInDebug) {
- ASSERT_DEBUG_DEATH({
+ ASSERT_DEATH({
ThreadCheckerClass::DetachThenCallFromDifferentThreadImpl();
}, "");
}