diff options
author | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-27 01:39:52 +0000 |
---|---|---|
committer | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-27 01:39:52 +0000 |
commit | 8558841926595745da9e10b51e87b2fde15a5a36 (patch) | |
tree | ed9c9ef9c6349b0bfe5079e5b1bf733560b6a22d /base/threading | |
parent | 5a70246fe3e3b83e8cd48e99f6ecf33fef860df7 (diff) | |
download | chromium_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.cc | 14 |
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(); }, ""); } |