Browse Source

[2445] make initializaation for BufferAppenderTest more exception safe.

by encapsulating the appender in SharedAppenderPtr immediately after the
creation, we can make sure buffer_appender1 won't leak even if the
creation of the second appender fails.
JINMEI Tatuya 12 years ago
parent
commit
0a9dafbece
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/lib/log/tests/buffer_appender_unittest.cc

+ 2 - 2
src/lib/log/tests/buffer_appender_unittest.cc

@@ -45,8 +45,8 @@ public:
 class BufferAppenderTest : public ::testing::Test {
 protected:
     BufferAppenderTest() : buffer_appender1(new TestBufferAppender()),
-                      buffer_appender2(new TestBufferAppender()),
                       appender1(buffer_appender1),
+                      buffer_appender2(new TestBufferAppender()),
                       appender2(buffer_appender2),
                       logger(log4cplus::Logger::getInstance("buffer"))
     {
@@ -69,8 +69,8 @@ protected:
     }
 
     TestBufferAppender* buffer_appender1;
-    TestBufferAppender* buffer_appender2;
     log4cplus::SharedAppenderPtr appender1;
+    TestBufferAppender* buffer_appender2;
     log4cplus::SharedAppenderPtr appender2;
     log4cplus::Logger logger;
 };