You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ts...@apache.org on 2020/02/16 18:44:56 UTC
[logging-log4cxx] 02/05: Resolve conflicts with
ghpr_14_replace-ant-build-with-cmake
This is an automated email from the ASF dual-hosted git repository.
tschoening pushed a commit to branch ghpr_14_replace-ant-build-with-cmake
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
commit 0021dfb11c03b2e30a5748541fe49e5b56643c12
Merge: 6c798a2 6105320
Author: Stephen Webb <st...@sabreautonomous.com.au>
AuthorDate: Sat Feb 15 17:05:04 2020 +1100
Resolve conflicts with ghpr_14_replace-ant-build-with-cmake
.astylerc | 1 +
CMakeLists.txt | 41 +
pom.xml | 110 +-
src/changes/changes.xml | 2 +-
src/site/apt/building/cmake.apt | 2 +
src/test/cpp/abts.cpp | 834 +++++++------
src/test/cpp/abts.h | 75 +-
src/test/cpp/appenderskeletontestcase.cpp | 20 +-
src/test/cpp/appenderskeletontestcase.h | 6 +-
src/test/cpp/asyncappendertestcase.cpp | 115 +-
src/test/cpp/consoleappendertestcase.cpp | 52 +-
src/test/cpp/customlogger/xlogger.cpp | 82 +-
src/test/cpp/customlogger/xlogger.h | 184 +--
src/test/cpp/customlogger/xloggertestcase.cpp | 86 +-
src/test/cpp/db/odbcappendertestcase.cpp | 23 +-
src/test/cpp/decodingtest.cpp | 178 +--
src/test/cpp/defaultinit/testcase1.cpp | 44 +-
src/test/cpp/defaultinit/testcase2.cpp | 48 +-
src/test/cpp/defaultinit/testcase3.cpp | 54 +-
src/test/cpp/defaultinit/testcase4.cpp | 50 +-
src/test/cpp/encodingtest.cpp | 298 ++---
src/test/cpp/fileappendertest.cpp | 92 +-
src/test/cpp/fileappendertestcase.cpp | 153 +--
src/test/cpp/fileappendertestcase.h | 6 +-
src/test/cpp/filetestcase.cpp | 263 +++--
src/test/cpp/filter/andfiltertest.cpp | 277 ++---
src/test/cpp/filter/denyallfiltertest.cpp | 42 +-
src/test/cpp/filter/levelmatchfiltertest.cpp | 184 +--
src/test/cpp/filter/levelrangefiltertest.cpp | 225 ++--
src/test/cpp/filter/loggermatchfiltertest.cpp | 147 +--
src/test/cpp/filter/stringmatchfiltertest.cpp | 186 +--
.../cpp/helpers/absolutetimedateformattestcase.cpp | 276 ++---
src/test/cpp/helpers/cacheddateformattestcase.cpp | 1232 ++++++++++----------
src/test/cpp/helpers/charsetdecodertestcase.cpp | 101 +-
src/test/cpp/helpers/charsetencodertestcase.cpp | 532 +++++----
src/test/cpp/helpers/cyclicbuffertestcase.cpp | 261 +++--
.../cpp/helpers/datetimedateformattestcase.cpp | 327 +++---
src/test/cpp/helpers/filewatchdogtest.cpp | 65 +-
src/test/cpp/helpers/inetaddresstestcase.cpp | 109 +-
src/test/cpp/helpers/iso8601dateformattestcase.cpp | 241 ++--
src/test/cpp/helpers/localechanger.cpp | 39 +-
src/test/cpp/helpers/localechanger.h | 70 +-
src/test/cpp/helpers/messagebuffertest.cpp | 292 ++---
src/test/cpp/helpers/optionconvertertestcase.cpp | 343 +++---
src/test/cpp/helpers/propertiestestcase.cpp | 449 +++----
.../cpp/helpers/relativetimedateformattestcase.cpp | 82 +-
src/test/cpp/helpers/stringhelpertestcase.cpp | 182 +--
src/test/cpp/helpers/stringtokenizertestcase.cpp | 230 ++--
src/test/cpp/helpers/syslogwritertest.cpp | 23 +-
src/test/cpp/helpers/threadtestcase.cpp | 65 +-
src/test/cpp/helpers/timezonetestcase.cpp | 169 +--
src/test/cpp/helpers/transcodertestcase.cpp | 546 +++++----
src/test/cpp/hierarchytest.cpp | 46 +-
src/test/cpp/hierarchythresholdtestcase.cpp | 174 +--
src/test/cpp/insertwide.h | 4 +-
src/test/cpp/jsonlayouttest.cpp | 146 +--
src/test/cpp/l7dtestcase.cpp | 124 +-
src/test/cpp/leveltestcase.cpp | 164 +--
src/test/cpp/loggertestcase.cpp | 819 ++++++-------
src/test/cpp/logunit.cpp | 346 +++---
src/test/cpp/logunit.h | 403 ++++---
src/test/cpp/mdctestcase.cpp | 46 +-
src/test/cpp/minimumtestcase.cpp | 377 +++---
src/test/cpp/ndctestcase.cpp | 138 +--
src/test/cpp/net/smtpappendertestcase.cpp | 153 +--
src/test/cpp/net/socketappendertestcase.cpp | 23 +-
src/test/cpp/net/sockethubappendertestcase.cpp | 85 +-
src/test/cpp/net/socketserverstarter.cpp | 294 +++--
src/test/cpp/net/socketservertestcase.cpp | 784 ++++++-------
src/test/cpp/net/socketservertestcase.h | 6 +-
src/test/cpp/net/syslogappendertestcase.cpp | 23 +-
src/test/cpp/net/telnetappendertestcase.cpp | 99 +-
src/test/cpp/net/xmlsocketappendertestcase.cpp | 23 +-
src/test/cpp/nt/nteventlogappendertestcase.cpp | 126 +-
src/test/cpp/pattern/num343patternconverter.cpp | 18 +-
src/test/cpp/pattern/num343patternconverter.h | 31 +-
src/test/cpp/pattern/patternparsertestcase.cpp | 340 +++---
src/test/cpp/patternlayouttest.cpp | 925 +++++++--------
src/test/cpp/propertyconfiguratortest.cpp | 103 +-
src/test/cpp/rolling/filenamepatterntestcase.cpp | 303 ++---
src/test/cpp/rolling/filterbasedrollingtest.cpp | 196 ++--
src/test/cpp/rolling/manualrollingtest.cpp | 508 ++++----
.../obsoletedailyrollingfileappendertest.cpp | 166 +--
.../rolling/obsoleterollingfileappendertest.cpp | 216 ++--
src/test/cpp/rolling/sizebasedrollingtest.cpp | 616 +++++-----
src/test/cpp/rolling/timebasedrollingtest.cpp | 258 ++--
src/test/cpp/rollingfileappendertestcase.cpp | 23 +-
src/test/cpp/spi/loggingeventtest.cpp | 165 +--
src/test/cpp/streamtestcase.cpp | 1109 +++++++++---------
src/test/cpp/testchar.h | 8 +-
src/test/cpp/util/absolutedateandtimefilter.cpp | 2 +-
src/test/cpp/util/absolutedateandtimefilter.h | 10 +-
src/test/cpp/util/absolutetimefilter.cpp | 2 +-
src/test/cpp/util/absolutetimefilter.h | 10 +-
src/test/cpp/util/binarycompare.cpp | 107 +-
src/test/cpp/util/binarycompare.h | 27 +-
src/test/cpp/util/compare.cpp | 273 +++--
src/test/cpp/util/compare.h | 35 +-
src/test/cpp/util/controlfilter.cpp | 2 +-
src/test/cpp/util/controlfilter.h | 12 +-
src/test/cpp/util/filenamefilter.cpp | 33 +-
src/test/cpp/util/filenamefilter.h | 12 +-
src/test/cpp/util/filter.h | 48 +-
src/test/cpp/util/iso8601filter.h | 10 +-
src/test/cpp/util/linenumberfilter.cpp | 4 +-
src/test/cpp/util/linenumberfilter.h | 10 +-
src/test/cpp/util/relativetimefilter.cpp | 4 +-
src/test/cpp/util/relativetimefilter.h | 10 +-
src/test/cpp/util/serializationtesthelper.cpp | 87 +-
src/test/cpp/util/serializationtesthelper.h | 32 +-
src/test/cpp/util/threadfilter.h | 10 +-
src/test/cpp/util/transformer.cpp | 360 +++---
src/test/cpp/util/transformer.h | 50 +-
src/test/cpp/util/utilfilter.cpp | 7 +-
src/test/cpp/util/xmlfilenamefilter.cpp | 13 +-
src/test/cpp/util/xmlfilenamefilter.h | 10 +-
src/test/cpp/util/xmllineattributefilter.cpp | 5 +-
src/test/cpp/util/xmllineattributefilter.h | 10 +-
src/test/cpp/util/xmlthreadfilter.cpp | 3 +-
src/test/cpp/util/xmlthreadfilter.h | 10 +-
src/test/cpp/util/xmltimestampfilter.cpp | 2 +-
src/test/cpp/util/xmltimestampfilter.h | 10 +-
src/test/cpp/varia/errorhandlertestcase.cpp | 154 +--
src/test/cpp/varia/levelmatchfiltertestcase.cpp | 225 ++--
src/test/cpp/varia/levelrangefiltertestcase.cpp | 412 +++----
src/test/cpp/vectorappender.cpp | 26 +-
src/test/cpp/vectorappender.h | 72 +-
src/test/cpp/writerappendertestcase.cpp | 5 +-
src/test/cpp/writerappendertestcase.h | 6 +-
src/test/cpp/xml/customleveltestcase.cpp | 152 +--
src/test/cpp/xml/domtestcase.cpp | 302 ++---
src/test/cpp/xml/xlevel.cpp | 71 +-
src/test/cpp/xml/xlevel.h | 70 +-
src/test/cpp/xml/xmllayouttest.cpp | 745 ++++++------
src/test/cpp/xml/xmllayouttestcase.cpp | 548 ++++-----
src/test/resources/input/socketServer2.properties | 2 +-
src/test/resources/input/socketServer3.properties | 2 +-
src/test/resources/witness/socketServer.2 | 6 +-
src/test/resources/witness/socketServer.3 | 6 +-
139 files changed, 12012 insertions(+), 10914 deletions(-)
diff --cc src/test/cpp/asyncappendertestcase.cpp
index 3e2533d,d2b4b41..6661e4f
--- a/src/test/cpp/asyncappendertestcase.cpp
+++ b/src/test/cpp/asyncappendertestcase.cpp
@@@ -102,187 -113,202 +113,187 @@@ typedef helpers::ObjectPtrT<BlockableVe
*/
class AsyncAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(AsyncAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
-
- LOGUNIT_TEST(closeTest);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- //
- // TODO: test fails on Linux.
- //LOGUNIT_TEST(testBadAppender);
- LOGUNIT_TEST(testLocationInfoTrue);
- LOGUNIT_TEST(testConfiguration);
- LOGUNIT_TEST_SUITE_END();
-
-
- public:
- void setUp()
- {
- AppenderSkeletonTestCase::setUp();
- }
-
- void tearDown()
- {
- LogManager::shutdown();
- AppenderSkeletonTestCase::tearDown();
- }
-
- AppenderSkeleton* createAppenderSkeleton() const
- {
- return new AsyncAppender();
- }
-
- // this test checks whether it is possible to write to a closed AsyncAppender
- void closeTest()
- {
- LoggerPtr root = Logger::getRootLogger();
- LayoutPtr layout = new SimpleLayout();
- VectorAppenderPtr vectorAppender = new VectorAppender();
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
- asyncAppender->setName(LOG4CXX_STR("async-CloseTest"));
- asyncAppender->addAppender(vectorAppender);
- root->addAppender(asyncAppender);
-
- root->debug(LOG4CXX_TEST_STR("m1"));
- asyncAppender->close();
- root->debug(LOG4CXX_TEST_STR("m2"));
-
- const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
- LOGUNIT_ASSERT_EQUAL((size_t) 1, v.size());
- }
-
- // this test checks whether appenders embedded within an AsyncAppender are also
- // closed
- void test2()
- {
- LoggerPtr root = Logger::getRootLogger();
- LayoutPtr layout = new SimpleLayout();
- VectorAppenderPtr vectorAppender = new VectorAppender();
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
- asyncAppender->setName(LOG4CXX_STR("async-test2"));
- asyncAppender->addAppender(vectorAppender);
- root->addAppender(asyncAppender);
-
- root->debug(LOG4CXX_TEST_STR("m1"));
- asyncAppender->close();
- root->debug(LOG4CXX_TEST_STR("m2"));
-
- const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
- LOGUNIT_ASSERT_EQUAL((size_t) 1, v.size());
- LOGUNIT_ASSERT(vectorAppender->isClosed());
- }
-
- // this test checks whether appenders embedded within an AsyncAppender are also
- // closed
- void test3()
- {
- size_t LEN = 200;
- LoggerPtr root = Logger::getRootLogger();
- VectorAppenderPtr vectorAppender = new VectorAppender();
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
- asyncAppender->setName(LOG4CXX_STR("async-test3"));
- asyncAppender->addAppender(vectorAppender);
- root->addAppender(asyncAppender);
-
- for (size_t i = 0; i < LEN; i++)
- {
- LOG4CXX_DEBUG(root, "message" << i);
- }
-
- asyncAppender->close();
- root->debug(LOG4CXX_TEST_STR("m2"));
-
- const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
- LOGUNIT_ASSERT_EQUAL(LEN, v.size());
- LOGUNIT_ASSERT_EQUAL(true, vectorAppender->isClosed());
- }
-
- /**
- * Tests that a bad appender will switch async back to sync.
- */
- void testBadAppender()
- {
- AppenderPtr nullPointerAppender = new NullPointerAppender();
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
- asyncAppender->addAppender(nullPointerAppender);
- asyncAppender->setBufferSize(5);
- Pool p;
- asyncAppender->activateOptions(p);
- LoggerPtr root = Logger::getRootLogger();
- root->addAppender(asyncAppender);
- LOG4CXX_INFO(root, "Message");
- Thread::sleep(10);
-
- try
- {
- LOG4CXX_INFO(root, "Message");
- LOGUNIT_FAIL("Should have thrown exception");
- }
- catch (NullPointerException& ex)
- {
- }
- }
-
- /**
- * Tests non-blocking behavior.
- */
- void testLocationInfoTrue()
- {
- BlockableVectorAppenderPtr blockableAppender = new BlockableVectorAppender();
- AsyncAppenderPtr async = new AsyncAppender();
- async->addAppender(blockableAppender);
- async->setBufferSize(5);
- async->setLocationInfo(true);
- async->setBlocking(false);
- Pool p;
- async->activateOptions(p);
- LoggerPtr rootLogger = Logger::getRootLogger();
- rootLogger->addAppender(async);
- {
- synchronized sync(blockableAppender->getBlocker());
-
- for (int i = 0; i < 140; i++)
- {
- LOG4CXX_INFO(rootLogger, "Hello, World");
- Thread::sleep(1);
- }
-
- LOG4CXX_ERROR(rootLogger, "That's all folks.");
- }
- async->close();
- const std::vector<spi::LoggingEventPtr>& events = blockableAppender->getVector();
- LOGUNIT_ASSERT(events.size() > 0);
- LoggingEventPtr initialEvent = events[0];
- LoggingEventPtr discardEvent = events[events.size() - 1];
- LOGUNIT_ASSERT(initialEvent->getMessage() == LOG4CXX_STR("Hello, World"));
- LOGUNIT_ASSERT(discardEvent->getMessage().substr(0, 10) == LOG4CXX_STR("Discarded "));
- LOGUNIT_ASSERT_EQUAL(log4cxx::spi::LocationInfo::getLocationUnavailable().getClassName(),
- discardEvent->getLocationInformation().getClassName());
- }
-
- void testConfiguration()
- {
- log4cxx::xml::DOMConfigurator::configure("input/xml/asyncAppender1.xml");
- AsyncAppenderPtr asyncAppender(Logger::getRootLogger()->getAppender(LOG4CXX_STR("ASYNC")));
- LOGUNIT_ASSERT(!(asyncAppender == 0));
- LOGUNIT_ASSERT_EQUAL(100, asyncAppender->getBufferSize());
- LOGUNIT_ASSERT_EQUAL(false, asyncAppender->getBlocking());
- LOGUNIT_ASSERT_EQUAL(true, asyncAppender->getLocationInfo());
- AppenderList nestedAppenders(asyncAppender->getAllAppenders());
- // TODO:
- // test seems to work okay, but have not found a working way to
- // get a reference to the nested vector appender
- //
- // LOGUNIT_ASSERT_EQUAL((size_t) 1, nestedAppenders.size());
- // VectorAppenderPtr vectorAppender(nestedAppenders[0]);
- // LOGUNIT_ASSERT(0 != vectorAppender);
- LoggerPtr root(Logger::getRootLogger());
-
- size_t LEN = 20;
-
- for (size_t i = 0; i < LEN; i++)
- {
- LOG4CXX_DEBUG(root, "message" << i);
- }
-
- asyncAppender->close();
- // const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
- // LOGUNIT_ASSERT_EQUAL(LEN, v.size());
- // LOGUNIT_ASSERT_EQUAL(true, vectorAppender->isClosed());
- }
-
-
-};
+ LOGUNIT_TEST_SUITE(AsyncAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
+
+ LOGUNIT_TEST(closeTest);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ //
+ // TODO: test fails on Linux.
+ //LOGUNIT_TEST(testBadAppender);
+ LOGUNIT_TEST(testLocationInfoTrue);
+ LOGUNIT_TEST(testConfiguration);
+ LOGUNIT_TEST_SUITE_END();
+
+
+public:
+ void setUp() {
+ AppenderSkeletonTestCase::setUp();
+ }
+
+ void tearDown()
+ {
+ LogManager::shutdown();
+ AppenderSkeletonTestCase::tearDown();
+ }
+
+ AppenderSkeleton* createAppenderSkeleton() const {
+ return new AsyncAppender();
+ }
+
+ // this test checks whether it is possible to write to a closed AsyncAppender
+ void closeTest()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ LayoutPtr layout = new SimpleLayout();
+ VectorAppenderPtr vectorAppender = new VectorAppender();
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ asyncAppender->setName(LOG4CXX_STR("async-CloseTest"));
+ asyncAppender->addAppender(vectorAppender);
+ root->addAppender(asyncAppender);
+
+ root->debug(LOG4CXX_TEST_STR("m1"));
+ asyncAppender->close();
+ root->debug(LOG4CXX_TEST_STR("m2"));
+
+ const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, v.size());
+ }
+
+ // this test checks whether appenders embedded within an AsyncAppender are also
+ // closed
+ void test2()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ LayoutPtr layout = new SimpleLayout();
+ VectorAppenderPtr vectorAppender = new VectorAppender();
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ asyncAppender->setName(LOG4CXX_STR("async-test2"));
+ asyncAppender->addAppender(vectorAppender);
+ root->addAppender(asyncAppender);
+
+ root->debug(LOG4CXX_TEST_STR("m1"));
+ asyncAppender->close();
+ root->debug(LOG4CXX_TEST_STR("m2"));
+
+ const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, v.size());
+ LOGUNIT_ASSERT(vectorAppender->isClosed());
+ }
+
+ // this test checks whether appenders embedded within an AsyncAppender are also
+ // closed
+ void test3()
+ {
+ size_t LEN = 200;
+ LoggerPtr root = Logger::getRootLogger();
+ VectorAppenderPtr vectorAppender = new VectorAppender();
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ asyncAppender->setName(LOG4CXX_STR("async-test3"));
+ asyncAppender->addAppender(vectorAppender);
+ root->addAppender(asyncAppender);
+
+ for (size_t i = 0; i < LEN; i++) {
+ LOG4CXX_DEBUG(root, "message" << i);
+ }
+
+ asyncAppender->close();
+ root->debug(LOG4CXX_TEST_STR("m2"));
+
+ const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
+ LOGUNIT_ASSERT_EQUAL(LEN, v.size());
+ LOGUNIT_ASSERT_EQUAL(true, vectorAppender->isClosed());
+ }
+
+ /**
+ * Tests that a bad appender will switch async back to sync.
+ */
+ void testBadAppender() {
+ AppenderPtr nullPointerAppender = new NullPointerAppender();
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ asyncAppender->addAppender(nullPointerAppender);
+ asyncAppender->setBufferSize(5);
+ Pool p;
+ asyncAppender->activateOptions(p);
+ LoggerPtr root = Logger::getRootLogger();
+ root->addAppender(asyncAppender);
+ LOG4CXX_INFO(root, "Message");
+ Thread::sleep(10);
+ try {
+ LOG4CXX_INFO(root, "Message");
+ LOGUNIT_FAIL("Should have thrown exception");
+ } catch(NullPointerException&) {
+ }
+ }
+
+ /**
+ * Tests non-blocking behavior.
+ */
+ void testLocationInfoTrue() {
+ BlockableVectorAppenderPtr blockableAppender = new BlockableVectorAppender();
+ AsyncAppenderPtr async = new AsyncAppender();
+ async->addAppender(blockableAppender);
+ async->setBufferSize(5);
+ async->setLocationInfo(true);
+ async->setBlocking(false);
+ Pool p;
+ async->activateOptions(p);
+ LoggerPtr rootLogger = Logger::getRootLogger();
+ rootLogger->addAppender(async);
+ {
+ synchronized sync(blockableAppender->getBlocker());
+ for (int i = 0; i < 140; i++) {
+ LOG4CXX_INFO(rootLogger, "Hello, World");
+ Thread::sleep(1);
+ }
+ LOG4CXX_ERROR(rootLogger, "That's all folks.");
+ }
+ async->close();
+ const std::vector<spi::LoggingEventPtr>& events = blockableAppender->getVector();
+ LOGUNIT_ASSERT(events.size() > 0);
+ LoggingEventPtr initialEvent = events[0];
+ LoggingEventPtr discardEvent = events[events.size() - 1];
+ LOGUNIT_ASSERT(initialEvent->getMessage() == LOG4CXX_STR("Hello, World"));
+ LOGUNIT_ASSERT(discardEvent->getMessage().substr(0,10) == LOG4CXX_STR("Discarded "));
+ LOGUNIT_ASSERT_EQUAL(log4cxx::spi::LocationInfo::getLocationUnavailable().getClassName(),
+ discardEvent->getLocationInformation().getClassName());
+ }
+
+ void testConfiguration() {
+ log4cxx::xml::DOMConfigurator::configure("input/xml/asyncAppender1.xml");
+ AsyncAppenderPtr asyncAppender(Logger::getRootLogger()->getAppender(LOG4CXX_STR("ASYNC")));
+ LOGUNIT_ASSERT(!(asyncAppender == 0));
+ LOGUNIT_ASSERT_EQUAL(100, asyncAppender->getBufferSize());
+ LOGUNIT_ASSERT_EQUAL(false, asyncAppender->getBlocking());
+ LOGUNIT_ASSERT_EQUAL(true, asyncAppender->getLocationInfo());
+ AppenderList nestedAppenders(asyncAppender->getAllAppenders());
+ // TODO:
+ // test seems to work okay, but have not found a working way to
+ // get a reference to the nested vector appender
+ //
+// LOGUNIT_ASSERT_EQUAL((size_t) 1, nestedAppenders.size());
+// VectorAppenderPtr vectorAppender(nestedAppenders[0]);
+// LOGUNIT_ASSERT(0 != vectorAppender);
+ LoggerPtr root(Logger::getRootLogger());
+
+ size_t LEN = 20;
+ for (size_t i = 0; i < LEN; i++) {
+ LOG4CXX_DEBUG(root, "message" << i);
+ }
+
+ asyncAppender->close();
+// const std::vector<spi::LoggingEventPtr>& v = vectorAppender->getVector();
+// LOGUNIT_ASSERT_EQUAL(LEN, v.size());
+// LOGUNIT_ASSERT_EQUAL(true, vectorAppender->isClosed());
+ }
+
-
- };
++
++};
LOGUNIT_TEST_SUITE_REGISTRATION(AsyncAppenderTestCase);
#endif
diff --cc src/test/cpp/util/serializationtesthelper.cpp
index a14343f,b495499..6c82e91
--- a/src/test/cpp/util/serializationtesthelper.cpp
+++ b/src/test/cpp/util/serializationtesthelper.cpp
@@@ -31,51 -31,58 +31,58 @@@ using namespace log4cxx::spi
bool SerializationTestHelper::compare(
- const char* witness, const LoggingEventPtr& event, size_t endCompare) {
- ByteArrayOutputStreamPtr memOut = new ByteArrayOutputStream();
- Pool p;
- ObjectOutputStream objOut(memOut, p);
- event->write(objOut, p);
- objOut.close(p);
- return compare(witness, memOut->toByteArray(), endCompare, p);
- }
+ const char* witness, const LoggingEventPtr& event, size_t endCompare)
+ {
+ ByteArrayOutputStreamPtr memOut = new ByteArrayOutputStream();
+ Pool p;
+ ObjectOutputStream objOut(memOut, p);
+ event->write(objOut, p);
+ objOut.close(p);
+ return compare(witness, memOut->toByteArray(), endCompare, p);
+ }
- /**
- * Asserts the serialized form of an object.
- * @param witness file name of expected serialization.
- * @param actual byte array of actual serialization.
- * @param skip positions to skip comparison.
- * @param endCompare position to stop comparison.
- * @throws IOException thrown on IO or serialization exception.
- */
+ /**
+ * Asserts the serialized form of an object.
+ * @param witness file name of expected serialization.
+ * @param actual byte array of actual serialization.
+ * @param skip positions to skip comparison.
+ * @param endCompare position to stop comparison.
+ * @throws IOException thrown on IO or serialization exception.
+ */
bool SerializationTestHelper::compare(
- const char* witness, const std::vector<unsigned char>& actual,
- size_t endCompare, Pool& p) {
- File witnessFile(witness);
+ const char* witness, const std::vector<unsigned char>& actual,
+ size_t endCompare, Pool& p)
+ {
+ File witnessFile(witness);
+
+ char* expected = p.pstralloc(actual.size());
+ FileInputStreamPtr is(new FileInputStream(witnessFile));
+ ByteBuffer readBuffer(expected, actual.size());
+ int bytesRead = is->read(readBuffer);
+ is->close();
+
+ if (bytesRead < endCompare)
+ {
+ puts("Witness file is shorter than expected");
+ return false;
+ }
- char* expected = p.pstralloc(actual.size());
- FileInputStreamPtr is(new FileInputStream(witnessFile));
- ByteBuffer readBuffer(expected, actual.size());
- int bytesRead = is->read(readBuffer);
- is->close();
- int endScan = actual.size();
++ size_t endScan = actual.size();
- if(bytesRead < endCompare) {
- puts("Witness file is shorter than expected");
- return false;
- }
+ if (endScan > endCompare)
+ {
+ endScan = endCompare;
+ }
- size_t endScan = actual.size();
- for (int i = 0; i < endScan; i++)
++ for (size_t i = 0; i < endScan; i++)
+ {
+ if (((unsigned char) expected[i]) != actual[i])
+ {
+ printf("Difference at offset %d, expected %x, actual %x\n", i, expected[i], actual[i]);
+ return false;
+ }
+ }
- if (endScan > endCompare) {
- endScan = endCompare;
- }
+ return true;
- for (int i = 0; i < endScan; i++) {
- if (((unsigned char) expected[i]) != actual[i]) {
- printf("Difference at offset %d, expected %x, actual %x\n", i, expected[i], actual[i]);
- return false;
- }
- }
- return true;
-
}