Index: src/test/cpp/mdctestcase.cpp =================================================================== --- src/test/cpp/mdctestcase.cpp (revision 0) +++ src/test/cpp/mdctestcase.cpp (revision 0) @@ -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 +#include +#include +#include +#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); Property changes on: src/test/cpp/mdctestcase.cpp ___________________________________________________________________ Name: svn:executable + * Index: src/test/cpp/Makefile.am =================================================================== --- src/test/cpp/Makefile.am (revision 651350) +++ src/test/cpp/Makefile.am (working copy) @@ -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 Index: src/main/cpp/threadspecificdata.cpp =================================================================== --- src/main/cpp/threadspecificdata.cpp (revision 651350) +++ src/main/cpp/threadspecificdata.cpp (working copy) @@ -79,7 +79,7 @@ data = createCurrentData(); } if (data != 0) { - data->getMap().insert(log4cxx::MDC::Map::value_type(key, val)); + data->getMap()[key] = val; } } Index: src/changes/changes.xml =================================================================== --- src/changes/changes.xml (revision 651481) +++ src/changes/changes.xml (working copy) @@ -25,6 +25,7 @@ socketappendertestcase and xmlsocketappendertestcase not run Bad link to log4cxx-dev archive +MDC::put will not overwrite existing key value pair Apache log4cxx 0.10.1 release