Author: carnold
Date: Tue Apr 29 20:33:39 2008
New Revision: 652242
URL: http://svn.apache.org/viewvc?rev=652242&view=rev
Log:
LOGCXX-271: MDC::put does not overwrite previous values
Added:
logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp (with props)
Modified:
logging/log4cxx/trunk/src/changes/changes.xml
logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp
logging/log4cxx/trunk/src/test/cpp/Makefile.am
Modified: logging/log4cxx/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/changes/changes.xml?rev=652242&r1=652241&r2=652242&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/changes/changes.xml (original)
+++ logging/log4cxx/trunk/src/changes/changes.xml Tue Apr 29 20:33:39 2008
@@ -25,6 +25,7 @@
<release version="0.10.1" date="2008-XX-XX" description="Maintenance release">
<action issue="LOGCXX-262">socketappendertestcase and
xmlsocketappendertestcase not run</action>
<action issue="LOGCXX-263">Bad link to log4cxx-dev archive</action>
+<action issue="LOGCXX-271">MDC::put will not overwrite existing key value
pair</action>
<action issue="LOGCXX-272">Apache log4cxx 0.10.1 release</action>
</release>
<release version="0.10.0" date="2008-04-03" description="First Apache release">
Modified: logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp
URL:
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp?rev=652242&r1=652241&r2=652242&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp Tue Apr 29
20:33:39 2008
@@ -79,7 +79,7 @@
data = createCurrentData();
}
if (data != 0) {
- data->getMap().insert(log4cxx::MDC::Map::value_type(key, val));
+ data->getMap()[key] = val;
}
}
Modified: logging/log4cxx/trunk/src/test/cpp/Makefile.am
URL:
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/test/cpp/Makefile.am?rev=652242&r1=652241&r2=652242&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/test/cpp/Makefile.am (original)
+++ logging/log4cxx/trunk/src/test/cpp/Makefile.am Tue Apr 29 20:33:39 2008
@@ -147,7 +147,8 @@
streamtestcase.cpp\
writerappendertestcase.cpp \
ndctestcase.cpp \
- propertyconfiguratortest.cpp
+ propertyconfiguratortest.cpp \
+ mdctestcase.cpp
testsuite_LDADD = \
$(top_builddir)/src/main/cpp/liblog4cxx.la
Added: logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp
URL:
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp?rev=652242&view=auto
==============================================================================
--- logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp (added)
+++ logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp Tue Apr 29 20:33:39 2008
@@ -0,0 +1,60 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <log4cxx/mdc.h>
+#include <log4cxx/file.h>
+#include <log4cxx/logger.h>
+#include <log4cxx/propertyconfigurator.h>
+#include "insertwide.h"
+#include "logunit.h"
+#include "util/compare.h"
+
+
+
+using namespace log4cxx;
+
+LOGUNIT_CLASS(MDCTestCase)
+{
+ LOGUNIT_TEST_SUITE(MDCTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST_SUITE_END();
+
+public:
+
+ void setUp() {
+ }
+
+ void tearDown() {
+
Logger::getRootLogger()->getLoggerRepository()->resetConfiguration();
+ }
+
+ /**
+ * log4cxx 0.10.0 did not replace previously set value.
+ */
+ void test1()
+ {
+ std::string key("key1");
+ std::string expected("value2");
+ MDC::put(key, "value1");
+ MDC::put(key, expected);
+ std::string actual(MDC::get(key));
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
+};
+
+LOGUNIT_TEST_SUITE_REGISTRATION(MDCTestCase);
Propchange: logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp
------------------------------------------------------------------------------
svn:executable = *