You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by ca...@apache.org on 2004/10/14 19:50:56 UTC

cvs commit: logging-log4cxx/tests/witness xmlLayout.2 xmlLayout.3

carnold     2004/10/14 10:50:56

  Modified:    tests/src patternlayouttest.cpp
               tests/src/defaultinit testcase3.cpp
               tests/src/net socketservertestcase.cpp
               tests/src/xml xmllayouttestcase.cpp
               tests/witness xmlLayout.2 xmlLayout.3
  Added:       tests/src/util filenamefilter.cpp filenamefilter.h
                        xmlfilenamefilter.cpp xmlfilenamefilter.h
  Log:
  LOGCXX-23: Unit tests have become stale
  
  Revision  Changes    Path
  1.6       +28 -21    logging-log4cxx/tests/src/patternlayouttest.cpp
  
  Index: patternlayouttest.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/patternlayouttest.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- patternlayouttest.cpp	22 Apr 2004 21:21:36 -0000	1.5
  +++ patternlayouttest.cpp	14 Oct 2004 17:50:53 -0000	1.6
  @@ -1,12 +1,12 @@
   /*
    * Copyright 2003,2004 The Apache Software Foundation.
  - * 
  + *
    * Licensed 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.
  @@ -32,6 +32,7 @@
   #include "util/controlfilter.h"
   #include "util/threadfilter.h"
   #include "util/linenumberfilter.h"
  +#include "util/filenamefilter.h"
   
   #define FILTERED _T("output/filtered")
   #define TEMP _T("output/temp")
  @@ -69,10 +70,10 @@
   		CPPUNIT_TEST(testMDC1);
   		CPPUNIT_TEST(testMDC2);
   	CPPUNIT_TEST_SUITE_END();
  -	
  +
   	LoggerPtr root;
   	LoggerPtr logger;
  -	
  +
   public:
   	void setUp()
   	{
  @@ -84,14 +85,14 @@
   	{
   		root->getLoggerRepository()->resetConfiguration();
   	}
  -	
  +
   	void test1()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout1.properties"));
   		common();
   		CPPUNIT_ASSERT(Compare::compare(TEMP, _T("witness/patternLayout.1")));
   	}
  -	
  +
   	void test2()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout2.properties"));
  @@ -119,7 +120,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.2")));
   	}
  -	
  +
   	void test3()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout3.properties"));
  @@ -147,9 +148,9 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.3")));
   	}
  -	
  +
   	// Output format:
  -	// 06 avr. 2002 18:30:58,937 [12345] DEBUG atternLayoutTest - Message 0  
  +	// 06 avr. 2002 18:30:58,937 [12345] DEBUG atternLayoutTest - Message 0
   	void test4()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout4.properties"));
  @@ -205,7 +206,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.5")));
   	}
  -	
  +
   	void test6()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout6.properties"));
  @@ -233,7 +234,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.6")));
   	}
  -	
  +
   	void test7()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout7.properties"));
  @@ -261,7 +262,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.7")));
   	}
  -	
  +
   	void test8()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout8.properties"));
  @@ -289,7 +290,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.8")));
   	}
  -	
  +
   	void test9()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout9.properties"));
  @@ -315,7 +316,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.9")));
   	}
  -	
  +
   	void test10()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout10.properties"));
  @@ -325,11 +326,15 @@
   		filter1 << PAT6;
   		ThreadFilter filter2;
   		LineNumberFilter filter3;
  +                FilenameFilter filenameFilter(__FILE__, "patternlayouttest.cpp");
  +
   
   		std::vector<Filter *> filters;
   		filters.push_back(&filter1);
   		filters.push_back(&filter2);
   		filters.push_back(&filter3);
  +                filters.push_back(&filenameFilter);
  +
   
   		try
   		{
  @@ -343,7 +348,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.10")));
   	}
  -	
  +
   	void test11()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout11.properties"));
  @@ -369,7 +374,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.11")));
   	}
  -	
  +
   	void test12()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout12.properties"));
  @@ -379,11 +384,13 @@
   		filter1 << PAT12;
   		ThreadFilter filter2;
   		LineNumberFilter filter3;
  +                FilenameFilter filenameFilter(__FILE__, "patternlayouttest.cpp");
   
   		std::vector<Filter *> filters;
   		filters.push_back(&filter1);
   		filters.push_back(&filter2);
   		filters.push_back(&filter3);
  +                filters.push_back(&filenameFilter);
   
   		try
   		{
  @@ -397,7 +404,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/patternLayout.12")));
   	}
  -	
  +
   	void testMDC1()
   	{
   		PropertyConfigurator::configure(_T("input/patternLayout.mdc.1.properties"));
  @@ -408,7 +415,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(TEMP, _T("witness/patternLayout.mdc.1")));
   	}
  -	
  +
   	void testMDC2()
   	{
   		String OUTPUT_FILE   = _T("output/patternLayout.mdc.2");
  @@ -484,8 +491,8 @@
   		CPPUNIT_ASSERT(Compare::compare(OUTPUT_FILE, WITNESS_FILE));
   	}
   
  -	
  -	void common() 
  +
  +	void common()
   	{
   		int i = -1;
   
  
  
  
  1.4       +6 -6      logging-log4cxx/tests/src/defaultinit/testcase3.cpp
  
  Index: testcase3.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/defaultinit/testcase3.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- testcase3.cpp	22 Apr 2004 21:21:36 -0000	1.3
  +++ testcase3.cpp	14 Oct 2004 17:50:53 -0000	1.4
  @@ -1,12 +1,12 @@
   /*
    * Copyright 2003,2004 The Apache Software Foundation.
  - * 
  + *
    * Licensed 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.
  @@ -27,7 +27,7 @@
   	CPPUNIT_TEST_SUITE(TestCase3);
   		CPPUNIT_TEST(testProperties);
   	CPPUNIT_TEST_SUITE_END();
  -	
  +
   public:
   	void setUp()
   	{
  @@ -37,13 +37,13 @@
   	{
   		LogManager::shutdown();
   	}
  -	
  +
   	void testProperties()
   	{
   		LoggerPtr root = Logger::getRootLogger();
   		bool rootIsConfigured = !root->getAllAppenders().empty();
   		CPPUNIT_ASSERT(rootIsConfigured);
  -		
  +
   		AppenderList list = root->getAllAppenders();
   		AppenderPtr appender = list.front();
   		CPPUNIT_ASSERT(appender->getName() == _T("D3"));
  
  
  
  1.4       +60 -54    logging-log4cxx/tests/src/net/socketservertestcase.cpp
  
  Index: socketservertestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/net/socketservertestcase.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- socketservertestcase.cpp	3 Aug 2004 06:01:26 -0000	1.3
  +++ socketservertestcase.cpp	14 Oct 2004 17:50:53 -0000	1.4
  @@ -1,12 +1,12 @@
   /*
    * Copyright 2003,2004 The Apache Software Foundation.
  - * 
  + *
    * Licensed 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.
  @@ -36,6 +36,8 @@
   #include "../util/absolutedateandtimefilter.h"
   #include "../util/threadfilter.h"
   #include "../xml/xlevel.h"
  +#include "../util/filenamefilter.h"
  +
   
   using namespace log4cxx;
   using namespace log4cxx::helpers;
  @@ -60,8 +62,8 @@
   	_T("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T3 \\[\\d*]\\ ") \
   	_T(".*socketservertestcase.cpp\\(\\d{1,4}\\) Message \\d{1,2}")
   
  -// DEBUG some T4 MDC-TEST4 [thread] SocketAppenderTestCase - Message 1   
  -// DEBUG some T4 MDC-TEST4 [thread] SocketAppenderTestCase - Message 1 
  +// DEBUG some T4 MDC-TEST4 [thread] SocketAppenderTestCase - Message 1
  +// DEBUG some T4 MDC-TEST4 [thread] SocketAppenderTestCase - Message 1
   #define PAT4 \
   	_T("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some T4 MDC-TEST4 \\[\\d*]\\") \
   	_T(" (root|SocketServerTestCase) - Message \\d{1,2}")
  @@ -82,7 +84,7 @@
   
   class ShortSocketServerLauncher
   {
  -public: 
  +public:
   	ShortSocketServerLauncher()
   	{
   		if (!launched)
  @@ -102,7 +104,7 @@
   			{
   				::execl("src/shortsocketserver", "shortsocketserver",
   					"8", "input/socketServer", 0);
  -				::perror("execl() failed"); 
  +				::perror("execl() failed");
   				::exit(1);
   			}
   			else
  @@ -133,7 +135,7 @@
   		CPPUNIT_TEST(test7);
   		CPPUNIT_TEST(test8);
   	CPPUNIT_TEST_SUITE_END();
  -	
  +
   	SocketAppenderPtr socketAppender;
   	LoggerPtr logger;
   	LoggerPtr root;
  @@ -154,15 +156,15 @@
   		logger = 0;
   		root = 0;
   	}
  -	
  +
   	/**
   	The pattern on the server side: %5p %x [%t] %c %m%n.
  -	
  +
   	We are testing NDC functionality across the wire.
   	*/
   	void test1()
   	{
  -		SocketAppenderPtr socketAppender = 
  +		SocketAppenderPtr socketAppender =
   			new SocketAppender(_T("localhost"), PORT);
   		root->addAppender(socketAppender);
   		common(_T("T1"), _T("key1"), _T("MDC-TEST1"));
  @@ -170,13 +172,13 @@
   
   		ControlFilter cf;
   		cf << PAT1;
  -		
  +
   		ThreadFilter threadFilter;
   
   		std::vector<Filter *> filters;
   		filters.push_back(&cf);
   		filters.push_back(&threadFilter);
  -		
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -189,10 +191,10 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/socketServer.1")));
   	}
  -	
  +
   	void test2()
   	{
  -		SocketAppenderPtr socketAppender = 
  +		SocketAppenderPtr socketAppender =
   			new SocketAppender(_T("localhost"), PORT);
   		root->addAppender(socketAppender);
   		common(_T("T2"), _T("key2"), _T("MDC-TEST2"));
  @@ -200,15 +202,17 @@
   
   		ControlFilter cf;
   		cf << PAT2;
  -		
  +
   		ThreadFilter threadFilter;
   		LineNumberFilter lineNumberFilter;
  +                FilenameFilter filenameFilter(__FILE__, "socketservertestcase.cpp");
   
   		std::vector<Filter *> filters;
   		filters.push_back(&cf);
   		filters.push_back(&threadFilter);
   		filters.push_back(&lineNumberFilter);
  -		
  +                filters.push_back(&filenameFilter);
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -221,10 +225,10 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/socketServer.2")));
   	}
  -	
  +
    	void test3()
   	{
  -		SocketAppenderPtr socketAppender = 
  +		SocketAppenderPtr socketAppender =
   			new SocketAppender(_T("localhost"), PORT);
   		root->addAppender(socketAppender);
   		common(_T("T3"), _T("key3"), _T("MDC-TEST3"));
  @@ -232,15 +236,17 @@
   
   		ControlFilter cf;
   		cf << PAT3;
  -		
  +
   		ThreadFilter threadFilter;
   		LineNumberFilter lineNumberFilter;
  +                FilenameFilter filenameFilter(__FILE__, "socketservertestcase.cpp");
   
   		std::vector<Filter *> filters;
   		filters.push_back(&cf);
   		filters.push_back(&threadFilter);
   		filters.push_back(&lineNumberFilter);
  -		
  +                filters.push_back(&filenameFilter);
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -253,10 +259,10 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/socketServer.3")));
   	}
  -	
  +
    	void test4()
   	{
  -		SocketAppenderPtr socketAppender = 
  +		SocketAppenderPtr socketAppender =
   			new SocketAppender(_T("localhost"), PORT);
   		root->addAppender(socketAppender);
   		NDC::push(_T("some"));
  @@ -266,13 +272,13 @@
   
   		ControlFilter cf;
   		cf << PAT4;
  -		
  +
   		ThreadFilter threadFilter;
   
   		std::vector<Filter *> filters;
   		filters.push_back(&cf);
   		filters.push_back(&threadFilter);
  -		
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -285,16 +291,16 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/socketServer.4")));
   	}
  -	
  +
   	void test5()
   	{
  -		SocketAppenderPtr socketAppender = 
  +		SocketAppenderPtr socketAppender =
   			new SocketAppender(_T("localhost"), PORT);
   		AsyncAppenderPtr asyncAppender = new AsyncAppender();
  -		
  +
   		root->addAppender(socketAppender);
   		root->addAppender(asyncAppender);
  -		
  +
   		NDC::push(_T("some5"));
   		common(_T("T5"), _T("key5"), _T("MDC-TEST5"));
   		NDC::pop();
  @@ -302,13 +308,13 @@
   
   		ControlFilter cf;
   		cf << PAT5;
  -		
  +
   		ThreadFilter threadFilter;
   
   		std::vector<Filter *> filters;
   		filters.push_back(&cf);
   		filters.push_back(&threadFilter);
  -		
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -321,16 +327,16 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/socketServer.5")));
   	}
  -	
  +
   	void test6()
   	{
  -		SocketAppenderPtr socketAppender = 
  +		SocketAppenderPtr socketAppender =
   			new SocketAppender(_T("localhost"), PORT);
   		AsyncAppenderPtr asyncAppender = new AsyncAppender();
  -		
  +
   		root->addAppender(socketAppender);
   		root->addAppender(asyncAppender);
  -		
  +
   		NDC::push(_T("some6"));
       	MDC::put(_T("hostID"), _T("client-test6"));
   		common(_T("T6"), _T("key6"), _T("MDC-TEST6"));
  @@ -340,13 +346,13 @@
   
   		ControlFilter cf;
   		cf << PAT6;
  -		
  +
   		ThreadFilter threadFilter;
   
   		std::vector<Filter *> filters;
   		filters.push_back(&cf);
   		filters.push_back(&threadFilter);
  -		
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -359,16 +365,16 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/socketServer.6")));
   	}
  -	
  +
   	void test7()
   	{
  -		SocketAppenderPtr socketAppender = 
  +		SocketAppenderPtr socketAppender =
   			new SocketAppender(_T("localhost"), PORT);
   		AsyncAppenderPtr asyncAppender = new AsyncAppender();
  -		
  +
   		root->addAppender(socketAppender);
   		root->addAppender(asyncAppender);
  -		
  +
   		NDC::push(_T("some7"));
       	MDC::put(_T("hostID"), _T("client-test7"));
   		common(_T("T7"), _T("key7"), _T("MDC-TEST7"));
  @@ -378,13 +384,13 @@
   
   		ControlFilter cf;
   		cf << PAT7;
  -		
  +
   		ThreadFilter threadFilter;
   
   		std::vector<Filter *> filters;
   		filters.push_back(&cf);
   		filters.push_back(&threadFilter);
  -		
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -397,14 +403,14 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/socketServer.7")));
   	}
  -	
  +
   	void test8()
   	{
  -		SocketAppenderPtr socketAppender = 
  +		SocketAppenderPtr socketAppender =
   			new SocketAppender(_T("localhost"), PORT);
  -		
  +
   		root->addAppender(socketAppender);
  -		
  +
   		NDC::push(_T("some8"));
    		common(_T("T8"), _T("key8"), _T("MDC-TEST8"));
   		NDC::pop();
  @@ -412,13 +418,13 @@
   
   		ControlFilter cf;
   		cf << PAT8;
  -		
  +
   		ThreadFilter threadFilter;
   
   		std::vector<Filter *> filters;
   		filters.push_back(&cf);
   		filters.push_back(&threadFilter);
  -		
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -431,8 +437,8 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/socketServer.8")));
   	}
  -	
  -	void common(const String& dc, const String& key, const String& val) 
  +
  +	void common(const String& dc, const String& key, const String& val)
   	{
   		int i = -1;
   		NDC::push(dc);
  @@ -449,13 +455,13 @@
   		i++;
   		LOG4CXX_WARN(logger, _T("Message ") << i);
   		i++;
  -		LOG4CXX_LOG(logger, XLevel::LETHAL, _T("Message ") << i); //5	
  -		
  +		LOG4CXX_LOG(logger, XLevel::LETHAL, _T("Message ") << i); //5
  +
   		NDC::pop();
   		MDC::remove(key);
   	}
   
  -	void delay(int secs) 
  +	void delay(int secs)
   	{
   		Thread::sleep(secs * 1000);
   	}
  
  
  
  1.1                  logging-log4cxx/tests/src/util/filenamefilter.cpp
  
  Index: filenamefilter.cpp
  ===================================================================
  /*
   * Copyright 2004 The Apache Software Foundation.
   *
   * Licensed 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 "filenamefilter.h"
  
  using namespace log4cxx;
  using namespace log4cxx::helpers;
  
  FilenameFilter::FilenameFilter(const char* actual, const char* expected)
      : pattern(" "),
        replacement(" ") {
      pattern += actual;
  
      replacement += expected;
  }
  
  String FilenameFilter::filter(const String& in)
  	const throw(UnexpectedFormatException)
  {
  	return merge(pattern, in, replacement);
  }
  
  
  
  
  
  1.1                  logging-log4cxx/tests/src/util/filenamefilter.h
  
  Index: filenamefilter.h
  ===================================================================
  /*
   * Copyright 2004 The Apache Software Foundation.
   *
   * Licensed 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.
   */
  
  #ifndef _LOG4CXX_TESTS_UTIL_FILENAME_FILTER_H
  #define _LOG4CXX_TESTS_UTIL_FILENAME_FILTER_H
  
  #include "filter.h"
  
  namespace log4cxx
  {
  	class FilenameFilter : public Filter
  	{
  	public:
                  FilenameFilter(const char* actual, const char* expected);
  		String filter(const String& in) const throw(UnexpectedFormatException);
  
          private:
                  String pattern;
                  String replacement;
  	};
  }
  
  
  #endif //_LOG4CXX_TESTS_UTIL_FILENAME_FILTER_H
  
  
  
  1.1                  logging-log4cxx/tests/src/util/xmlfilenamefilter.cpp
  
  Index: xmlfilenamefilter.cpp
  ===================================================================
  /*
   * Copyright 2004 The Apache Software Foundation.
   *
   * Licensed 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 "xmlfilenamefilter.h"
  
  using namespace log4cxx;
  using namespace log4cxx::helpers;
  
  XMLFilenameFilter::XMLFilenameFilter(const char* actual, const char* expected)
      : pattern(" file=\""),
        replacement(" file=\"") {
      pattern += actual;
      pattern += "\"";
  
      replacement += expected;
      replacement += "\"";
  }
  
  String XMLFilenameFilter::filter(const String& in)
  	const throw(UnexpectedFormatException)
  {
  	return merge(pattern, in, replacement);
  }
  
  
  
  
  
  1.1                  logging-log4cxx/tests/src/util/xmlfilenamefilter.h
  
  Index: xmlfilenamefilter.h
  ===================================================================
  /*
   * Copyright 2004 The Apache Software Foundation.
   *
   * Licensed 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.
   */
  
  #ifndef _LOG4CXX_TESTS_UTIL_XML_FILENAME_FILTER_H
  #define _LOG4CXX_TESTS_UTIL_XML_FILENAME_FILTER_H
  
  #include "filter.h"
  
  namespace log4cxx
  {
  	class XMLFilenameFilter : public Filter
  	{
  	public:
                  XMLFilenameFilter(const char* actual, const char* expected);
  		String filter(const String& in) const throw(UnexpectedFormatException);
  
          private:
                 String pattern;
                 String replacement;
  	};
  }
  
  
  #endif //_LOG4CXX_TESTS_UTIL_XML_FILENAME_FILTER_H
  
  
  
  1.3       +29 -24    logging-log4cxx/tests/src/xml/xmllayouttestcase.cpp
  
  Index: xmllayouttestcase.cpp
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/src/xml/xmllayouttestcase.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- xmllayouttestcase.cpp	22 Apr 2004 21:21:38 -0000	1.2
  +++ xmllayouttestcase.cpp	14 Oct 2004 17:50:53 -0000	1.3
  @@ -1,12 +1,12 @@
   /*
    * Copyright 2003,2004 The Apache Software Foundation.
  - * 
  + *
    * Licensed 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.
  @@ -27,6 +27,7 @@
   #include "../util/xmltimestampfilter.h"
   #include "../util/xmllineattributefilter.h"
   #include "../util/xmlthreadfilter.h"
  +#include "../util/xmlfilenamefilter.h"
   
   using namespace log4cxx;
   using namespace log4cxx::helpers;
  @@ -35,12 +36,12 @@
   #define FILTERED _T("output/filtered")
   #define TEMP _T("output/temp")
   
  -class X 
  +class X
   {
   public:
   	X()
   	{
  -		LoggerPtr logger = 
  +		LoggerPtr logger =
   			Logger::getLogger(_T("org.apache.log4j.xml.XMLLayoutTestCase$X"));
   		LOG4CXX_INFO(logger, _T("in X() constructor"));
   	}
  @@ -96,23 +97,25 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/xmlLayout.1")));
   	}
  -	
  +
   	void locationInfo()
   	{
   		XMLLayoutPtr xmlLayout = new XMLLayout();
   		xmlLayout->setLocationInfo(true);
   		root->addAppender(new FileAppender(xmlLayout, TEMP, false));
   		common();
  -		
  +
   		XMLTimestampFilter xmlTimestampFilter;
   		XMLLineAttributeFilter xmlLineAttributeFilter;
   		XMLThreadFilter xmlThreadFilter;
  +                XMLFilenameFilter xmlFilenameFilter(__FILE__, "xmllayouttestcase.cpp");
   
   		std::vector<Filter *> filters;
   		filters.push_back(&xmlTimestampFilter);
   		filters.push_back(&xmlLineAttributeFilter);
   		filters.push_back(&xmlThreadFilter);
  -		
  +                filters.push_back(&xmlFilenameFilter);
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -125,25 +128,27 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/xmlLayout.2")));
   	}
  -	
  +
   	void testCDATA()
   	{
   		XMLLayoutPtr xmlLayout = new XMLLayout();
   		xmlLayout->setLocationInfo(true);
   		root->addAppender(new FileAppender(xmlLayout, TEMP, false));
  -		
  +
   		LOG4CXX_DEBUG(logger,
   			_T("Message with embedded <![CDATA[<hello>hi</hello>]]>."));
  -		
  +
   		XMLTimestampFilter xmlTimestampFilter;
   		XMLLineAttributeFilter xmlLineAttributeFilter;
   		XMLThreadFilter xmlThreadFilter;
  +                XMLFilenameFilter xmlFilenameFilter(__FILE__, "xmllayouttestcase.cpp");
   
   		std::vector<Filter *> filters;
   		filters.push_back(&xmlTimestampFilter);
   		filters.push_back(&xmlLineAttributeFilter);
   		filters.push_back(&xmlThreadFilter);
  -		
  +                filters.push_back(&xmlFilenameFilter);
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -161,17 +166,17 @@
   	{
   		XMLLayoutPtr xmlLayout = new XMLLayout();
   		root->addAppender(new FileAppender(xmlLayout, TEMP, false));
  -		
  +
   		LOG4CXX_DEBUG(logger, _T("hi"));
   		LOG4CXX_DEBUG(logger, _T(""));
  -		
  +
   		XMLTimestampFilter xmlTimestampFilter;
   		XMLThreadFilter xmlThreadFilter;
   
   		std::vector<Filter *> filters;
   		filters.push_back(&xmlTimestampFilter);
   		filters.push_back(&xmlThreadFilter);
  -		
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -184,18 +189,18 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/xmlLayout.null")));
   	}
  -	
  +
   	void testMDC()
   	{
   		XMLLayoutPtr xmlLayout = new XMLLayout();
   		root->addAppender(new FileAppender(xmlLayout, TEMP, false));
  -		
  +
   		MDC::clear();
   		MDC::put(_T("key1"), _T("val1"));
   		MDC::put(_T("key2"), _T("val2"));
   
   		LOG4CXX_DEBUG(logger, _T("Hello"));
  -		
  +
   		MDC::clear();
   
   		XMLTimestampFilter xmlTimestampFilter;
  @@ -204,7 +209,7 @@
   		std::vector<Filter *> filters;
   		filters.push_back(&xmlTimestampFilter);
   		filters.push_back(&xmlThreadFilter);
  -		
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -217,19 +222,19 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/xmlLayout.mdc.1")));
   	}
  -	
  +
   	// not incuded in the tests for the moment !
   	void holdTestMDCEscaped()
   	{
   		XMLLayoutPtr xmlLayout = new XMLLayout();
   		root->addAppender(new FileAppender(xmlLayout, TEMP, false));
  -		
  +
   		MDC::clear();
   		MDC::put(_T("blahAttribute"), _T("<blah value=\"blah\">"));
   		MDC::put(_T("<blahKey value=\"blah\"/>"), _T("blahValue"));
   
   		LOG4CXX_DEBUG(logger, _T("Hello"));
  -		
  +
   		MDC::clear();
   
   		XMLTimestampFilter xmlTimestampFilter;
  @@ -238,7 +243,7 @@
   		std::vector<Filter *> filters;
   		filters.push_back(&xmlTimestampFilter);
   		filters.push_back(&xmlThreadFilter);
  -		
  +
   		try
   		{
   			Transformer::transform(TEMP, FILTERED, filters);
  @@ -251,7 +256,7 @@
   
   		CPPUNIT_ASSERT(Compare::compare(FILTERED, _T("witness/xmlLayout.mdc.2")));
   	}
  -	
  +
   	void common()
   	{
   		int i = -1;
  
  
  
  1.2       +11 -11    logging-log4cxx/tests/witness/xmlLayout.2
  
  Index: xmlLayout.2
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/xmlLayout.2,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- xmlLayout.2	4 Feb 2004 00:52:12 -0000	1.1
  +++ xmlLayout.2	14 Oct 2004 17:50:53 -0000	1.2
  @@ -1,44 +1,44 @@
   <log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase$X" timestamp="XXX" level="INFO" thread="main">
   <log4j:message><![CDATA[in X() constructor]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Message 0]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="root" timestamp="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Message 0]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="INFO" thread="main">
   <log4j:message><![CDATA[Message 1]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="root" timestamp="XXX" level="INFO" thread="main">
   <log4j:message><![CDATA[Message 1]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="WARN" thread="main">
   <log4j:message><![CDATA[Message 2]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="root" timestamp="XXX" level="WARN" thread="main">
   <log4j:message><![CDATA[Message 2]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="ERROR" thread="main">
   <log4j:message><![CDATA[Message 3]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="root" timestamp="XXX" level="ERROR" thread="main">
   <log4j:message><![CDATA[Message 3]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="FATAL" thread="main">
   <log4j:message><![CDATA[Message 4]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
   <log4j:event logger="root" timestamp="XXX" level="FATAL" thread="main">
   <log4j:message><![CDATA[Message 4]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>
  
  
  
  1.2       +1 -1      logging-log4cxx/tests/witness/xmlLayout.3
  
  Index: xmlLayout.3
  ===================================================================
  RCS file: /home/cvs/logging-log4cxx/tests/witness/xmlLayout.3,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- xmlLayout.3	4 Feb 2004 00:52:12 -0000	1.1
  +++ xmlLayout.3	14 Oct 2004 17:50:53 -0000	1.2
  @@ -1,4 +1,4 @@
   <log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Message with embedded <![CDATA[<hello>hi</hello>]]>]]&gt;<![CDATA[.]]></log4j:message>
  -<log4j:locationInfo file="xmllayouttestcase.cpp" line="X"/>
  +<log4j:locationInfo class="" method="" file="xmllayouttestcase.cpp" line="X"/>
   </log4j:event>