Check if InitGoogleLogging is not called twice.
git-svn-id: https://google-glog.googlecode.com/svn/trunk@47 eb4d4688-79bd-11dd-afb4-1d65580434c0
diff --git a/src/utilities.cc b/src/utilities.cc
index 3efe779..7769634 100644
--- a/src/utilities.cc
+++ b/src/utilities.cc
@@ -309,6 +309,8 @@
} // 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, '\\');
diff --git a/src/utilities_unittest.cc b/src/utilities_unittest.cc
index a2fb31b..7b79619 100644
--- a/src/utilities_unittest.cc
+++ b/src/utilities_unittest.cc
@@ -35,13 +35,17 @@
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);