Check if InitGoogleLogging is not called twice.
author <shinichiro.hamaji@gmail.com> <>
Fri, 10 Apr 2009 16:15:53 +0000 (16:15 +0000)
committer <shinichiro.hamaji@gmail.com> <>
Fri, 10 Apr 2009 16:15:53 +0000 (16:15 +0000)
git-svn-id: https://google-glog.googlecode.com/svn/trunk@47 eb4d4688-79bd-11dd-afb4-1d65580434c0

src/utilities.cc
src/utilities_unittest.cc

index 3efe779..7769634 100644 (file)
@@ -309,6 +309,8 @@ void SetCrashReason(const CrashReason* r) {
 }  // namespace glog_internal_namespace_
 
 void InitGoogleLogging(const char* argv0) {
+  CHECK(!IsGoogleLoggingInitialized())
+      << "You called InitGoogleLogging() twice!";
   const char* slash = strrchr(argv0, '/');
 #ifdef OS_WINDOWS
   if (!slash)  slash = strrchr(argv0, '\\');
index a2fb31b..7b79619 100644 (file)
 
 using namespace GOOGLE_NAMESPACE;
 
-TEST(sync_val_compare_and_swap, utilities) {
+TEST(utilities, sync_val_compare_and_swap) {
   bool now_entering = false;
   EXPECT_FALSE(sync_val_compare_and_swap(&now_entering, false, true));
   EXPECT_TRUE(sync_val_compare_and_swap(&now_entering, false, true));
   EXPECT_TRUE(sync_val_compare_and_swap(&now_entering, false, true));
 }
 
+TEST(utilities, InitGoogleLoggingDeathTest) {
+  ASSERT_DEATH(InitGoogleLogging("foobar"), "");
+}
+
 int main(int argc, char **argv) {
   InitGoogleLogging(argv[0]);
   InitGoogleTest(&argc, argv);