Merge branch 'prepare-for-release' of https://github.com/stephen-webb/logging-log4cxx into ghpr_14_replace-ant-build-with-cmake
diff --git a/.astylerc b/.astylerc
index 5459711..eee1b59 100644
--- a/.astylerc
+++ b/.astylerc
@@ -10,6 +10,7 @@
# Example invocation:
#
# astyle --project src/main/include/*.h src/main/cpp/*.cpp
+# astyle --project src/test/cpp/*.h src/test/cpp/*.cpp
#
--add-braces
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2809445..51a9c5a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -61,3 +61,44 @@
NAMESPACE log4cxx::
DESTINATION share/cmake/log4cxx
)
+
+#
+# Get the varaibles from the subdirectories
+#
+get_directory_property( HAS_LIBESMTP DIRECTORY src/main/include DEFINITION HAS_LIBESMTP )
+get_directory_property( HAS_ODBC DIRECTORY src/main/include DEFINITION HAS_ODBC )
+get_directory_property( HAS_SYSLOG DIRECTORY src/main/include DEFINITION HAS_SYSLOG )
+
+foreach(varName HAS_STD_LOCALE HAS_ODBC HAS_MBSRTOWCS HAS_WCSTOMBS HAS_FWIDE HAS_LIBESMTP HAS_SYSLOG)
+ if(${varName} EQUAL 0)
+ set(${varName} "OFF" )
+ elseif(${varName} EQUAL 1)
+ set(${varName} "ON" )
+ else()
+ set(${varName} "UNKNOWN" )
+ endif()
+endforeach()
+
+#
+# Output configuration information
+# Similar to APR CMake configuration
+#
+message(STATUS "")
+message(STATUS "")
+message(STATUS "log4cxx configuration summary:")
+message(STATUS "")
+
+message(STATUS " Build type ...................... : ${CMAKE_BUILD_TYPE}")
+message(STATUS " Build tests ..................... : ${BUILD_TESTING}")
+message(STATUS " Install prefix .................. : ${CMAKE_INSTALL_PREFIX}")
+message(STATUS " C++ compiler .................... : ${CMAKE_CXX_COMPILER}")
+message(STATUS " log4cxx char API ................ : ${LOG4CXX_CHAR}")
+message(STATUS " log4cxx wchar API ............... : ${LOG4CXX_WCHAR_T}")
+message(STATUS " log4cxx unichar API ............. : ${LOG4CXX_UNICHAR}")
+if(APPLE)
+message(STATUS " log4cxx cfstring API ............ : ${LOG4CXX_CFSTRING}")
+endif()
+message(STATUS " logchar type .................... : ${LOG4CXX_CHAR}")
+message(STATUS " Using libESMTP .................. : ${HAS_LIBESMTP}")
+message(STATUS " ODBC library .................... : ${HAS_ODBC}")
+message(STATUS " syslog .......................... : ${HAS_SYSLOG}")
diff --git a/pom.xml b/pom.xml
index 1e38b92..0413e80 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,7 +74,7 @@
<releaseVersion>${project.version}</releaseVersion>
<releaseManager>Matt Sicker</releaseManager>
<releaseKey>B62BABE8</releaseKey>
- <windowsArchitecture>x64</windowsArchitecture>
+ <windowsArchitecture>x64</windowsArchitecture>
</properties>
<organization>
@@ -180,56 +180,62 @@
<build>
<plugins>
- <plugin>
- <groupId>com.googlecode.cmake-maven-project</groupId>
- <artifactId>cmake-maven-plugin</artifactId>
- <version>3.16.3-b1</version>
- <executions>
- <execution>
- <id>cmake-generate</id>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <sourcePath>${project.basedir}</sourcePath>
- <targetPath>${project.build.directory}/${platform}</targetPath>
- <classifier>${cmake.classifier}</classifier>
- <options>${cmake.options}</options>
- <environmentVariables>
- <CMAKE_CLASSIFIER>${cmake.classifier}</CMAKE_CLASSIFIER>
- </environmentVariables>
- <downloadBinaries>${download.cmake}</downloadBinaries>
- </configuration>
- </execution>
- <execution>
- <id>cmake-compile</id>
- <phase>process-resources</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- <configuration>
- <projectDirectory>${project.build.directory}/${platform}</projectDirectory>
- <classifier>${cmake.classifier}</classifier>
- <config>${cmake.config}</config>
- <downloadBinaries>true</downloadBinaries>
- </configuration>
- </execution>
- <execution>
- <phase>test</phase>
- <id>cmake-run-tests</id>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <buildDirectory>${project.build.directory}/${platform}</buildDirectory>
- <testFailureIgnore>true</testFailureIgnore>
- <ctest.skip.tests>${maven.test.skip}</ctest.skip.tests>
- <config>${cmake.config}</config>
- <threadCount>1</threadCount>
- </configuration>
- </execution>
- </executions>
- </plugin>
+ <plugin>
+ <groupId>com.googlecode.cmake-maven-project</groupId>
+ <artifactId>cmake-maven-plugin</artifactId>
+ <version>3.16.3-b1</version>
+
+ <executions>
+ <execution>
+ <id>cmake-generate</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+
+ <configuration>
+ <sourcePath>${project.basedir}</sourcePath>
+ <targetPath>${project.build.directory}/${platform}</targetPath>
+ <classifier>${cmake.classifier}</classifier>
+ <options>${cmake.options}</options>
+ <environmentVariables>
+ <CMAKE_CLASSIFIER>${cmake.classifier}</CMAKE_CLASSIFIER>
+ </environmentVariables>
+ <downloadBinaries>${download.cmake}</downloadBinaries>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>cmake-compile</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+
+ <configuration>
+ <projectDirectory>${project.build.directory}/${platform}</projectDirectory>
+ <classifier>${cmake.classifier}</classifier>
+ <config>${cmake.config}</config>
+ <downloadBinaries>true</downloadBinaries>
+ </configuration>
+ </execution>
+
+ <execution>
+ <phase>test</phase>
+ <id>cmake-run-tests</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+
+ <configuration>
+ <buildDirectory>${project.build.directory}/${platform}</buildDirectory>
+ <testFailureIgnore>true</testFailureIgnore>
+ <ctest.skip.tests>${maven.test.skip}</ctest.skip.tests>
+ <config>${cmake.config}</config>
+ <threadCount>1</threadCount>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
@@ -480,5 +486,5 @@
<cmake.config>${build.type}</cmake.config>
</properties>
</profile>
- </profiles>
+ </profiles>
</project>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 52605a3..824b08e 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -30,8 +30,8 @@
<action issue="LOGCXX-503" type="update">Checksums/Signatures don't match for log4cxx binaries</action>
<action issue="LOGCXX-502" type="update">appenderattachable.h function doc formatted "incorrectly"</action>
<action issue="LOGCXX-500" type="update">Logging in Timing-Critical Applications</action>
- <action issue="LOGCXX-493" type="fix">Wrong usage of milli- vs. micro- and non- vs. milliseconds in some docs.</action>
<action issue="LOGCXX-494" type="fix">Provide a windows build environment for the project by replacing the ant build with a CMake build</action>
+ <action issue="LOGCXX-493" type="fix">Wrong usage of milli- vs. micro- and non- vs. milliseconds in some docs.</action>
<action issue="LOGCXX-488" type="fix">Space after log level hides messages</action>
<action issue="LOGCXX-484" type="fix">Spelling error s/excute/execute</action>
<action issue="LOGCXX-482" type="fix">Build failure with GCC-6</action>
diff --git a/src/site/apt/building/cmake.apt b/src/site/apt/building/cmake.apt
index 3585ea8..250324b 100644
--- a/src/site/apt/building/cmake.apt
+++ b/src/site/apt/building/cmake.apt
@@ -46,6 +46,8 @@
*------------------------+---------------------------------------------------------------------------------------------+
| -DLOG4CXX_CFSTRING=yes | Enable CFString API methods, requires Mac OS/X CoreFoundation, choice of yes, no (default). |
*------------------------+---------------------------------------------------------------------------------------------+
+| -DBUILD_TESTING=off | Disable tests. Tests are enabled by default |
+*------------------------+---------------------------------------------------------------------------------------------+
Building and testing log4cxx on a Microsoft Windows with APR, Expat and APR-Util built from source
extracted into apr-1.7.0, libexpat(from github) and apr-util-1.6.1 in %HOMEPATH%\Libraries.
diff --git a/src/test/cpp/abts.cpp b/src/test/cpp/abts.cpp
index 489e5dc..5524c9b 100644
--- a/src/test/cpp/abts.cpp
+++ b/src/test/cpp/abts.cpp
@@ -30,422 +30,584 @@
static int quiet = 0;
static int list_tests = 0;
-const char **testlist = NULL;
+const char** testlist = NULL;
// defined in logunit.cpp
abts_suite* abts_run_suites(abts_suite*);
-static int find_test_name(const char *testname) {
- int i;
- for (i = 0; testlist[i] != NULL; i++) {
- if (!strcmp(testlist[i], testname)) {
- return 1;
- }
- }
- return 0;
+static int find_test_name(const char* testname)
+{
+ int i;
+
+ for (i = 0; testlist[i] != NULL; i++)
+ {
+ if (!strcmp(testlist[i], testname))
+ {
+ return 1;
+ }
+ }
+
+ return 0;
}
/* Determine if the test should be run at all */
-static int should_test_run(const char *testname) {
- int found = 0;
- if (list_tests == 1) {
- return 0;
- }
- if (testlist == NULL) {
- return 1;
- }
- found = find_test_name(testname);
- if ((found && !exclude) || (!found && exclude)) {
- return 1;
- }
- return 0;
+static int should_test_run(const char* testname)
+{
+ int found = 0;
+
+ if (list_tests == 1)
+ {
+ return 0;
+ }
+
+ if (testlist == NULL)
+ {
+ return 1;
+ }
+
+ found = find_test_name(testname);
+
+ if ((found && !exclude) || (!found && exclude))
+ {
+ return 1;
+ }
+
+ return 0;
}
static void reset_status(void)
{
- curr_char = 0;
+ curr_char = 0;
}
static void update_status(void)
{
- if (!quiet) {
- curr_char = (curr_char + 1) % ABTS_STAT_SIZE;
- fprintf(stdout, "\b%c", status[curr_char]);
- fflush(stdout);
- }
+ if (!quiet)
+ {
+ curr_char = (curr_char + 1) % ABTS_STAT_SIZE;
+ fprintf(stdout, "\b%c", status[curr_char]);
+ fflush(stdout);
+ }
}
-static void end_suite(abts_suite *suite)
+static void end_suite(abts_suite* suite)
{
- if (suite != NULL) {
- sub_suite *last = suite->tail;
- if (!quiet) {
- fprintf(stdout, "\b");
- fflush(stdout);
- }
- if (last->failed == 0) {
- fprintf(stdout, "SUCCESS\n");
- fflush(stdout);
- }
- else {
- fprintf(stdout, "FAILED %d of %d\n", last->failed, last->num_test);
- fflush(stdout);
- }
- }
+ if (suite != NULL)
+ {
+ sub_suite* last = suite->tail;
+
+ if (!quiet)
+ {
+ fprintf(stdout, "\b");
+ fflush(stdout);
+ }
+
+ if (last->failed == 0)
+ {
+ fprintf(stdout, "SUCCESS\n");
+ fflush(stdout);
+ }
+ else
+ {
+ fprintf(stdout, "FAILED %d of %d\n", last->failed, last->num_test);
+ fflush(stdout);
+ }
+ }
}
-abts_suite *abts_add_suite(abts_suite *suite, const char *suite_name_full)
+abts_suite* abts_add_suite(abts_suite* suite, const char* suite_name_full)
{
- sub_suite *subsuite;
- const char *p;
- const char *suite_name;
- curr_char = 0;
-
- /* Only end the suite if we actually ran it */
- if (suite && suite->tail &&!suite->tail->not_run) {
- end_suite(suite);
- }
+ sub_suite* subsuite;
+ const char* p;
+ const char* suite_name;
+ curr_char = 0;
- subsuite = (sub_suite*) malloc(sizeof(*subsuite));
- subsuite->num_test = 0;
- subsuite->failed = 0;
- subsuite->next = NULL;
- /* suite_name_full may be an absolute path depending on __FILE__
- * expansion */
- suite_name = strrchr(suite_name_full, '/');
- if (suite_name) {
- suite_name++;
- } else {
- suite_name = suite_name_full;
- }
- p = strrchr(suite_name, '.');
- if (p) {
- subsuite->name = (const char*) memcpy(calloc(p - suite_name + 1, 1),
- suite_name, p - suite_name);
- }
- else {
- subsuite->name = suite_name;
- }
+ /* Only end the suite if we actually ran it */
+ if (suite && suite->tail && !suite->tail->not_run)
+ {
+ end_suite(suite);
+ }
- if (list_tests) {
- fprintf(stdout, "%s\n", subsuite->name);
- }
-
- subsuite->not_run = 0;
+ subsuite = (sub_suite*) malloc(sizeof(*subsuite));
+ subsuite->num_test = 0;
+ subsuite->failed = 0;
+ subsuite->next = NULL;
+ /* suite_name_full may be an absolute path depending on __FILE__
+ * expansion */
+ suite_name = strrchr(suite_name_full, '/');
- if (suite == NULL) {
- suite = (abts_suite*) malloc(sizeof(*suite));
- suite->head = subsuite;
- suite->tail = subsuite;
- }
- else {
- suite->tail->next = subsuite;
- suite->tail = subsuite;
- }
+ if (suite_name)
+ {
+ suite_name++;
+ }
+ else
+ {
+ suite_name = suite_name_full;
+ }
- if (!should_test_run(subsuite->name)) {
- subsuite->not_run = 1;
- return suite;
- }
+ p = strrchr(suite_name, '.');
- reset_status();
- fprintf(stdout, "%-20s: ", subsuite->name);
- update_status();
- fflush(stdout);
+ if (p)
+ {
+ subsuite->name = (const char*) memcpy(calloc(p - suite_name + 1, 1),
+ suite_name, p - suite_name);
+ }
+ else
+ {
+ subsuite->name = suite_name;
+ }
- return suite;
+ if (list_tests)
+ {
+ fprintf(stdout, "%s\n", subsuite->name);
+ }
+
+ subsuite->not_run = 0;
+
+ if (suite == NULL)
+ {
+ suite = (abts_suite*) malloc(sizeof(*suite));
+ suite->head = subsuite;
+ suite->tail = subsuite;
+ }
+ else
+ {
+ suite->tail->next = subsuite;
+ suite->tail = subsuite;
+ }
+
+ if (!should_test_run(subsuite->name))
+ {
+ subsuite->not_run = 1;
+ return suite;
+ }
+
+ reset_status();
+ fprintf(stdout, "%-20s: ", subsuite->name);
+ update_status();
+ fflush(stdout);
+
+ return suite;
}
-void abts_run_test(abts_suite *ts, test_func f, void *value)
+void abts_run_test(abts_suite* ts, test_func f, void* value)
{
- abts_case tc;
- sub_suite *ss;
+ abts_case tc;
+ sub_suite* ss;
- if (!should_test_run(ts->tail->name)) {
- return;
- }
- ss = ts->tail;
+ if (!should_test_run(ts->tail->name))
+ {
+ return;
+ }
- tc.failed = 0;
- tc.suite = ss;
-
- ss->num_test++;
- update_status();
+ ss = ts->tail;
- f(&tc, value);
-
- if (tc.failed) {
- ss->failed++;
- }
+ tc.failed = 0;
+ tc.suite = ss;
+
+ ss->num_test++;
+ update_status();
+
+ f(&tc, value);
+
+ if (tc.failed)
+ {
+ ss->failed++;
+ }
}
-static int report(abts_suite *suite)
+static int report(abts_suite* suite)
{
- int count = 0;
- sub_suite *dptr;
+ int count = 0;
+ sub_suite* dptr;
- if (suite && suite->tail &&!suite->tail->not_run) {
- end_suite(suite);
- }
+ if (suite && suite->tail && !suite->tail->not_run)
+ {
+ end_suite(suite);
+ }
- for (dptr = suite->head; dptr; dptr = dptr->next) {
- count += dptr->failed;
- }
+ for (dptr = suite->head; dptr; dptr = dptr->next)
+ {
+ count += dptr->failed;
+ }
- if (list_tests) {
- return 0;
- }
+ if (list_tests)
+ {
+ return 0;
+ }
- if (count == 0) {
- printf("All tests passed.\n");
- return 0;
- }
+ if (count == 0)
+ {
+ printf("All tests passed.\n");
+ return 0;
+ }
- dptr = suite->head;
- fprintf(stdout, "%-15s\t\tTotal\tFail\tFailed %%\n", "Failed Tests");
- fprintf(stdout, "===================================================\n");
- while (dptr != NULL) {
- if (dptr->failed != 0) {
- float percent = ((float)dptr->failed / (float)dptr->num_test);
- fprintf(stdout, "%-15s\t\t%5d\t%4d\t%6.2f%%\n", dptr->name,
- dptr->num_test, dptr->failed, percent * 100);
- }
- dptr = dptr->next;
- }
- return 1;
+ dptr = suite->head;
+ fprintf(stdout, "%-15s\t\tTotal\tFail\tFailed %%\n", "Failed Tests");
+ fprintf(stdout, "===================================================\n");
+
+ while (dptr != NULL)
+ {
+ if (dptr->failed != 0)
+ {
+ float percent = ((float)dptr->failed / (float)dptr->num_test);
+ fprintf(stdout, "%-15s\t\t%5d\t%4d\t%6.2f%%\n", dptr->name,
+ dptr->num_test, dptr->failed, percent * 100);
+ }
+
+ dptr = dptr->next;
+ }
+
+ return 1;
}
-void abts_log_message(const char *fmt, ...)
+void abts_log_message(const char* fmt, ...)
{
- va_list args;
- update_status();
+ va_list args;
+ update_status();
- if (verbose) {
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
- fprintf(stderr, "\n");
- fflush(stderr);
- }
+ if (verbose)
+ {
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ va_end(args);
+ fprintf(stderr, "\n");
+ fflush(stderr);
+ }
}
-void abts_int_equal(abts_case *tc, const int expected, const int actual, int lineno)
+void abts_int_equal(abts_case* tc, const int expected, const int actual, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- if (expected == actual) return;
+ if (tc->failed)
+ {
+ return;
+ }
- tc->failed = TRUE;
- if (verbose) {
- fprintf(stderr, "Line %d: expected <%d>, but saw <%d>\n", lineno, expected, actual);
- fflush(stderr);
- }
+ if (expected == actual)
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: expected <%d>, but saw <%d>\n", lineno, expected, actual);
+ fflush(stderr);
+ }
}
-void abts_int_nequal(abts_case *tc, const int expected, const int actual, int lineno)
+void abts_int_nequal(abts_case* tc, const int expected, const int actual, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- if (expected != actual) return;
+ if (tc->failed)
+ {
+ return;
+ }
- tc->failed = TRUE;
- if (verbose) {
- fprintf(stderr, "Line %d: expected <%d>, but saw <%d>\n", lineno, expected, actual);
- fflush(stderr);
- }
+ if (expected != actual)
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: expected <%d>, but saw <%d>\n", lineno, expected, actual);
+ fflush(stderr);
+ }
}
-void abts_size_equal(abts_case *tc, size_t expected, size_t actual, int lineno)
+void abts_size_equal(abts_case* tc, size_t expected, size_t actual, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- if (expected == actual) return;
+ if (tc->failed)
+ {
+ return;
+ }
- tc->failed = TRUE;
- if (verbose) {
- /* Note that the comparison is type-exact, reporting must be a best-fit */
- fprintf(stderr, "Line %d: expected %lu, but saw %lu\n", lineno,
- (unsigned long)expected, (unsigned long)actual);
- fflush(stderr);
- }
+ if (expected == actual)
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ /* Note that the comparison is type-exact, reporting must be a best-fit */
+ fprintf(stderr, "Line %d: expected %lu, but saw %lu\n", lineno,
+ (unsigned long)expected, (unsigned long)actual);
+ fflush(stderr);
+ }
}
-void abts_str_equal(abts_case *tc, const char *expected, const char *actual, int lineno)
+void abts_str_equal(abts_case* tc, const char* expected, const char* actual, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- if (!expected && !actual) return;
- if (expected && actual)
- if (!strcmp(expected, actual)) return;
+ if (tc->failed)
+ {
+ return;
+ }
- tc->failed = TRUE;
- if (verbose) {
- fprintf(stderr, "Line %d: expected <%s>, but saw <%s>\n", lineno, expected, actual);
- fflush(stderr);
- }
+ if (!expected && !actual)
+ {
+ return;
+ }
+
+ if (expected && actual)
+ if (!strcmp(expected, actual))
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: expected <%s>, but saw <%s>\n", lineno, expected, actual);
+ fflush(stderr);
+ }
}
-void abts_str_nequal(abts_case *tc, const char *expected, const char *actual,
- size_t n, int lineno)
+void abts_str_nequal(abts_case* tc, const char* expected, const char* actual,
+ size_t n, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- if (!strncmp(expected, actual, n)) return;
+ if (tc->failed)
+ {
+ return;
+ }
- tc->failed = TRUE;
- if (verbose) {
- fprintf(stderr, "Line %d: expected <%s>, but saw <%s>\n", lineno, expected, actual);
- fflush(stderr);
- }
+ if (!strncmp(expected, actual, n))
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: expected <%s>, but saw <%s>\n", lineno, expected, actual);
+ fflush(stderr);
+ }
}
-void abts_ptr_notnull(abts_case *tc, const void *ptr, int lineno)
+void abts_ptr_notnull(abts_case* tc, const void* ptr, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- if (ptr != NULL) return;
+ if (tc->failed)
+ {
+ return;
+ }
- tc->failed = TRUE;
- if (verbose) {
- fprintf(stderr, "Line %d: Expected NULL, but saw <%p>\n", lineno, ptr);
- fflush(stderr);
- }
+ if (ptr != NULL)
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: Expected NULL, but saw <%p>\n", lineno, ptr);
+ fflush(stderr);
+ }
}
-
-void abts_ptr_equal(abts_case *tc, const void *expected, const void *actual, int lineno)
+
+void abts_ptr_equal(abts_case* tc, const void* expected, const void* actual, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- if (expected == actual) return;
+ if (tc->failed)
+ {
+ return;
+ }
- tc->failed = TRUE;
- if (verbose) {
- fprintf(stderr, "Line %d: expected <%p>, but saw <%p>\n", lineno, expected, actual);
- fflush(stderr);
- }
+ if (expected == actual)
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: expected <%p>, but saw <%p>\n", lineno, expected, actual);
+ fflush(stderr);
+ }
}
-void abts_fail(abts_case *tc, const char *message, int lineno)
+void abts_fail(abts_case* tc, const char* message, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- tc->failed = TRUE;
- if (verbose) {
- fprintf(stderr, "Line %d: %s\n", lineno, message);
- fflush(stderr);
- }
+ if (tc->failed)
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: %s\n", lineno, message);
+ fflush(stderr);
+ }
}
-
-void abts_assert(abts_case *tc, const char *message, int condition, int lineno)
+
+void abts_assert(abts_case* tc, const char* message, int condition, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- if (condition) return;
+ if (tc->failed)
+ {
+ return;
+ }
- tc->failed = TRUE;
- if (verbose) {
- fprintf(stderr, "Line %d: %s\n", lineno, message);
- fflush(stderr);
- }
+ if (condition)
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: %s\n", lineno, message);
+ fflush(stderr);
+ }
}
-void abts_true(abts_case *tc, int condition, int lineno)
+void abts_true(abts_case* tc, int condition, int lineno)
{
- update_status();
- if (tc->failed) return;
+ update_status();
- if (condition) return;
+ if (tc->failed)
+ {
+ return;
+ }
- tc->failed = TRUE;
- if (verbose) {
- fprintf(stderr, "Line %d: Condition is false, but expected true\n", lineno);
- fflush(stderr);
- }
+ if (condition)
+ {
+ return;
+ }
+
+ tc->failed = TRUE;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: Condition is false, but expected true\n", lineno);
+ fflush(stderr);
+ }
}
-void abts_not_impl(abts_case *tc, const char *message, int lineno)
+void abts_not_impl(abts_case* tc, const char* message, int lineno)
{
- update_status();
+ update_status();
- tc->suite->not_impl++;
- if (verbose) {
- fprintf(stderr, "Line %d: %s\n", lineno, message);
- fflush(stderr);
- }
+ tc->suite->not_impl++;
+
+ if (verbose)
+ {
+ fprintf(stderr, "Line %d: %s\n", lineno, message);
+ fflush(stderr);
+ }
}
-int main(int argc, const char *const argv[]) {
- int i;
- int rv;
- int list_provided = 0;
- abts_suite *suite = NULL;
-
- initialize();
+int main(int argc, const char* const argv[])
+{
+ int i;
+ int rv;
+ int list_provided = 0;
+ abts_suite* suite = NULL;
+
+ initialize();
#if defined(_MSC_VER)
- quiet = 1;
+ quiet = 1;
#else
- quiet = !isatty(STDOUT_FILENO);
+ quiet = !isatty(STDOUT_FILENO);
#endif
- for (i = 1; i < argc; i++) {
- if (!strcmp(argv[i], "-v")) {
- verbose = 1;
- continue;
- }
- if (!strcmp(argv[i], "-x")) {
- exclude = 1;
- continue;
- }
- if (!strcmp(argv[i], "-l")) {
- list_tests = 1;
- continue;
- }
- if (!strcmp(argv[i], "-q")) {
- quiet = 1;
- continue;
- }
- if (argv[i][0] == '-') {
- fprintf(stderr, "Invalid option: `%s'\n", argv[i]);
- exit(1);
- }
- list_provided = 1;
- }
+ for (i = 1; i < argc; i++)
+ {
+ if (!strcmp(argv[i], "-v"))
+ {
+ verbose = 1;
+ continue;
+ }
- if (list_provided) {
- /* Waste a little space here, because it is easier than counting the
- * number of tests listed. Besides it is at most three char *.
- */
- testlist = (const char**) calloc(argc + 1, sizeof(char *));
- for (i = 1; i < argc; i++) {
- testlist[i - 1] = argv[i];
- }
- }
+ if (!strcmp(argv[i], "-x"))
+ {
+ exclude = 1;
+ continue;
+ }
- suite = abts_run_suites(suite);
+ if (!strcmp(argv[i], "-l"))
+ {
+ list_tests = 1;
+ continue;
+ }
- if (suite == 0) {
- fputs("No tests selected\n", stderr);
- } else {
- rv = report(suite);
- //
- // clean up suite
- //
- sub_suite* next;
- for(sub_suite* head = suite->head; head != NULL; head = next) {
- next = head->next;
- free((void*) head->name);
- free(head);
- }
- free(suite);
- }
- return rv;
+ if (!strcmp(argv[i], "-q"))
+ {
+ quiet = 1;
+ continue;
+ }
+
+ if (argv[i][0] == '-')
+ {
+ fprintf(stderr, "Invalid option: `%s'\n", argv[i]);
+ exit(1);
+ }
+
+ list_provided = 1;
+ }
+
+ if (list_provided)
+ {
+ /* Waste a little space here, because it is easier than counting the
+ * number of tests listed. Besides it is at most three char *.
+ */
+ testlist = (const char**) calloc(argc + 1, sizeof(char*));
+
+ for (i = 1; i < argc; i++)
+ {
+ testlist[i - 1] = argv[i];
+ }
+ }
+
+ suite = abts_run_suites(suite);
+
+ if (suite == 0)
+ {
+ fputs("No tests selected\n", stderr);
+ }
+ else
+ {
+ rv = report(suite);
+ //
+ // clean up suite
+ //
+ sub_suite* next;
+
+ for (sub_suite* head = suite->head; head != NULL; head = next)
+ {
+ next = head->next;
+ free((void*) head->name);
+ free(head);
+ }
+
+ free(suite);
+ }
+
+ return rv;
}
diff --git a/src/test/cpp/abts.h b/src/test/cpp/abts.h
index 340ab8a..616250b 100644
--- a/src/test/cpp/abts.h
+++ b/src/test/cpp/abts.h
@@ -21,63 +21,66 @@
#include <apr.h>
#ifdef WIN32
-#include <io.h>
+ #include <io.h>
#else
-#include <unistd.h>
+ #include <unistd.h>
#endif
#ifndef ABTS_H
#define ABTS_H
#ifndef FALSE
-#define FALSE 0
+ #define FALSE 0
#endif
#ifndef TRUE
-#define TRUE 1
+ #define TRUE 1
#endif
-struct sub_suite {
- const char *name;
- int num_test;
- int failed;
- int not_run;
- int not_impl;
- struct sub_suite *next;
+struct sub_suite
+{
+ const char* name;
+ int num_test;
+ int failed;
+ int not_run;
+ int not_impl;
+ struct sub_suite* next;
};
typedef struct sub_suite sub_suite;
-struct abts_suite {
- sub_suite *head;
- sub_suite *tail;
+struct abts_suite
+{
+ sub_suite* head;
+ sub_suite* tail;
};
typedef struct abts_suite abts_suite;
-struct abts_case {
- int failed;
- sub_suite *suite;
+struct abts_case
+{
+ int failed;
+ sub_suite* suite;
};
typedef struct abts_case abts_case;
-typedef void (*test_func)(abts_case *tc, void *data);
+typedef void (*test_func)(abts_case* tc, void* data);
#define ADD_SUITE(suite) abts_add_suite(suite, __FILE__);
-abts_suite *abts_add_suite(abts_suite *suite, const char *suite_name);
-void abts_run_test(abts_suite *ts, test_func f, void *value);
-void abts_log_message(const char *fmt, ...);
+abts_suite* abts_add_suite(abts_suite* suite, const char* suite_name);
+void abts_run_test(abts_suite* ts, test_func f, void* value);
+void abts_log_message(const char* fmt, ...);
-void abts_int_equal(abts_case *tc, const int expected, const int actual, int lineno);
-void abts_int_nequal(abts_case *tc, const int expected, const int actual, int lineno);
-void abts_str_equal(abts_case *tc, const char *expected, const char *actual, int lineno);
-void abts_str_nequal(abts_case *tc, const char *expected, const char *actual,
- size_t n, int lineno);
-void abts_ptr_notnull(abts_case *tc, const void *ptr, int lineno);
-void abts_ptr_equal(abts_case *tc, const void *expected, const void *actual, int lineno);
-void abts_true(abts_case *tc, int condition, int lineno);
-void abts_fail(abts_case *tc, const char *message, int lineno);
-void abts_not_impl(abts_case *tc, const char *message, int lineno);
-void abts_assert(abts_case *tc, const char *message, int condition, int lineno);
-void abts_size_equal(abts_case *tc, size_t expected, size_t actual, int lineno);
+void abts_int_equal(abts_case* tc, const int expected, const int actual, int lineno);
+void abts_int_nequal(abts_case* tc, const int expected, const int actual, int lineno);
+void abts_str_equal(abts_case* tc, const char* expected, const char* actual, int lineno);
+void abts_str_nequal(abts_case* tc, const char* expected, const char* actual,
+ size_t n, int lineno);
+void abts_ptr_notnull(abts_case* tc, const void* ptr, int lineno);
+void abts_ptr_equal(abts_case* tc, const void* expected, const void* actual, int lineno);
+void abts_true(abts_case* tc, int condition, int lineno);
+void abts_fail(abts_case* tc, const char* message, int lineno);
+void abts_not_impl(abts_case* tc, const char* message, int lineno);
+void abts_assert(abts_case* tc, const char* message, int condition, int lineno);
+void abts_size_equal(abts_case* tc, size_t expected, size_t actual, int lineno);
/* Convenience macros. Ryan hates these! */
#define ABTS_INT_EQUAL(a, b, c) abts_int_equal(a, b, c, __LINE__)
@@ -94,8 +97,8 @@
#define ABTS_SIZE_EQUAL(a, b, c) abts_size_equal(a, b, c, __LINE__)
-abts_suite *run_tests(abts_suite *suite);
-abts_suite *run_tests1(abts_suite *suite);
+abts_suite* run_tests(abts_suite* suite);
+abts_suite* run_tests1(abts_suite* suite);
#endif
diff --git a/src/test/cpp/appenderskeletontestcase.cpp b/src/test/cpp/appenderskeletontestcase.cpp
index 6406c42..631d633 100644
--- a/src/test/cpp/appenderskeletontestcase.cpp
+++ b/src/test/cpp/appenderskeletontestcase.cpp
@@ -25,15 +25,17 @@
using namespace log4cxx::helpers;
-void AppenderSkeletonTestCase::testDefaultThreshold() {
- ObjectPtrT<AppenderSkeleton> appender(createAppenderSkeleton());
- LevelPtr threshold(appender->getThreshold());
- LOGUNIT_ASSERT_EQUAL(Level::getAll()->toInt(), threshold->toInt());
+void AppenderSkeletonTestCase::testDefaultThreshold()
+{
+ ObjectPtrT<AppenderSkeleton> appender(createAppenderSkeleton());
+ LevelPtr threshold(appender->getThreshold());
+ LOGUNIT_ASSERT_EQUAL(Level::getAll()->toInt(), threshold->toInt());
}
-void AppenderSkeletonTestCase::testSetOptionThreshold() {
- ObjectPtrT<AppenderSkeleton> appender(createAppenderSkeleton());
- appender->setOption(LOG4CXX_STR("threshold"), LOG4CXX_STR("debug"));
- LevelPtr threshold(appender->getThreshold());
- LOGUNIT_ASSERT_EQUAL(Level::getDebug()->toInt(), threshold->toInt());
+void AppenderSkeletonTestCase::testSetOptionThreshold()
+{
+ ObjectPtrT<AppenderSkeleton> appender(createAppenderSkeleton());
+ appender->setOption(LOG4CXX_STR("threshold"), LOG4CXX_STR("debug"));
+ LevelPtr threshold(appender->getThreshold());
+ LOGUNIT_ASSERT_EQUAL(Level::getDebug()->toInt(), threshold->toInt());
}
diff --git a/src/test/cpp/appenderskeletontestcase.h b/src/test/cpp/appenderskeletontestcase.h
index 23b8b46..40b01d2 100644
--- a/src/test/cpp/appenderskeletontestcase.h
+++ b/src/test/cpp/appenderskeletontestcase.h
@@ -26,9 +26,9 @@
{
public:
- virtual log4cxx::AppenderSkeleton* createAppenderSkeleton() const = 0;
+ virtual log4cxx::AppenderSkeleton* createAppenderSkeleton() const = 0;
- void testDefaultThreshold();
+ void testDefaultThreshold();
- void testSetOptionThreshold();
+ void testSetOptionThreshold();
};
diff --git a/src/test/cpp/asyncappendertestcase.cpp b/src/test/cpp/asyncappendertestcase.cpp
index 61853d4..d2b4b41 100644
--- a/src/test/cpp/asyncappendertestcase.cpp
+++ b/src/test/cpp/asyncappendertestcase.cpp
@@ -36,63 +36,74 @@
using namespace log4cxx::helpers;
using namespace log4cxx::spi;
-class NullPointerAppender : public AppenderSkeleton {
-public:
- NullPointerAppender() {
- }
+class NullPointerAppender : public AppenderSkeleton
+{
+ public:
+ NullPointerAppender()
+ {
+ }
- /**
- * @{inheritDoc}
- */
- void append(const spi::LoggingEventPtr&, log4cxx::helpers::Pool&) {
- throw NullPointerException(LOG4CXX_STR("Intentional NullPointerException"));
- }
+ /**
+ * @{inheritDoc}
+ */
+ void append(const spi::LoggingEventPtr&, log4cxx::helpers::Pool&)
+ {
+ throw NullPointerException(LOG4CXX_STR("Intentional NullPointerException"));
+ }
- void close() {
- }
+ void close()
+ {
+ }
- bool requiresLayout() const {
- return false;
- }
+ bool requiresLayout() const
+ {
+ return false;
+ }
};
- /**
- * Vector appender that can be explicitly blocked.
- */
-class BlockableVectorAppender : public VectorAppender {
-private:
- Mutex blocker;
-public:
- /**
- * Create new instance.
- */
- BlockableVectorAppender() : blocker(pool) {
- }
+/**
+ * Vector appender that can be explicitly blocked.
+ */
+class BlockableVectorAppender : public VectorAppender
+{
+ private:
+ Mutex blocker;
+ public:
+ /**
+ * Create new instance.
+ */
+ BlockableVectorAppender() : blocker(pool)
+ {
+ }
- /**
- * {@inheritDoc}
- */
- void append(const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& p) {
- synchronized sync(blocker);
- VectorAppender::append(event, p);
- //
- // if fatal, echo messages for testLoggingInDispatcher
- //
- if (event->getLevel() == Level::getInfo()) {
- LoggerPtr logger = Logger::getLoggerLS(event->getLoggerName());
- LOG4CXX_LOGLS(logger, Level::getError(), event->getMessage());
- LOG4CXX_LOGLS(logger, Level::getWarn(), event->getMessage());
- LOG4CXX_LOGLS(logger, Level::getInfo(), event->getMessage());
- LOG4CXX_LOGLS(logger, Level::getDebug(), event->getMessage());
- }
- }
-
- Mutex& getBlocker() {
- return blocker;
- }
+ /**
+ * {@inheritDoc}
+ */
+ void append(const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& p)
+ {
+ synchronized sync(blocker);
+ VectorAppender::append(event, p);
- };
+ //
+ // if fatal, echo messages for testLoggingInDispatcher
+ //
+ if (event->getLevel() == Level::getInfo())
+ {
+ LoggerPtr logger = Logger::getLoggerLS(event->getLoggerName());
+ LOG4CXX_LOGLS(logger, Level::getError(), event->getMessage());
+ LOG4CXX_LOGLS(logger, Level::getWarn(), event->getMessage());
+ LOG4CXX_LOGLS(logger, Level::getInfo(), event->getMessage());
+ LOG4CXX_LOGLS(logger, Level::getDebug(), event->getMessage());
+ }
+ }
+
+ Mutex& getBlocker()
+ {
+ return blocker;
+ }
+
+};
typedef helpers::ObjectPtrT<BlockableVectorAppender> BlockableVectorAppenderPtr;
@@ -102,186 +113,201 @@
*/
class AsyncAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(AsyncAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
+ 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();
+ 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();
- }
+ public:
+ void setUp()
+ {
+ AppenderSkeletonTestCase::setUp();
+ }
- void tearDown()
- {
- LogManager::shutdown();
- AppenderSkeletonTestCase::tearDown();
- }
+ void tearDown()
+ {
+ LogManager::shutdown();
+ AppenderSkeletonTestCase::tearDown();
+ }
- AppenderSkeleton* createAppenderSkeleton() const {
- return new AsyncAppender();
- }
+ 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);
+ // 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"));
+ 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());
- }
+ 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);
+ // 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"));
+ 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());
- }
+ 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);
+ // 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);
- }
+ for (size_t i = 0; i < LEN; i++)
+ {
+ LOG4CXX_DEBUG(root, "message" << i);
+ }
- asyncAppender->close();
- root->debug(LOG4CXX_TEST_STR("m2"));
+ 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());
- }
+ 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_REGISTRATION(AsyncAppenderTestCase);
diff --git a/src/test/cpp/consoleappendertestcase.cpp b/src/test/cpp/consoleappendertestcase.cpp
index 2e7522e..5138386 100644
--- a/src/test/cpp/consoleappendertestcase.cpp
+++ b/src/test/cpp/consoleappendertestcase.cpp
@@ -27,31 +27,33 @@
*/
class ConsoleAppenderTestCase : public WriterAppenderTestCase
{
- LOGUNIT_TEST_SUITE(ConsoleAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST(testNoLayout);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(ConsoleAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST(testNoLayout);
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- WriterAppender* createWriterAppender() const {
- return new log4cxx::ConsoleAppender();
- }
-
- void testNoLayout() {
- Pool p;
- ConsoleAppenderPtr appender(new ConsoleAppender());
- appender->activateOptions(p);
- LoggerPtr logger(Logger::getRootLogger());
- logger->addAppender(appender);
- LOG4CXX_INFO(logger, "No layout specified for ConsoleAppender");
- logger->removeAppender(appender);
- }
+ WriterAppender* createWriterAppender() const
+ {
+ return new log4cxx::ConsoleAppender();
+ }
+
+ void testNoLayout()
+ {
+ Pool p;
+ ConsoleAppenderPtr appender(new ConsoleAppender());
+ appender->activateOptions(p);
+ LoggerPtr logger(Logger::getRootLogger());
+ logger->addAppender(appender);
+ LOG4CXX_INFO(logger, "No layout specified for ConsoleAppender");
+ logger->removeAppender(appender);
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(ConsoleAppenderTestCase);
diff --git a/src/test/cpp/customlogger/xlogger.cpp b/src/test/cpp/customlogger/xlogger.cpp
index a837509..84722b8 100644
--- a/src/test/cpp/customlogger/xlogger.cpp
+++ b/src/test/cpp/customlogger/xlogger.cpp
@@ -32,72 +32,72 @@
void XLogger::lethal(const LogString& message, const LocationInfo& locationInfo)
{
- if (repository->isDisabled(XLevel::LETHAL_INT))
- {
- return;
- }
+ if (repository->isDisabled(XLevel::LETHAL_INT))
+ {
+ return;
+ }
- if (XLevel::getLethal()->isGreaterOrEqual(this->getEffectiveLevel()))
- {
- forcedLog(XLevel::getLethal(), message, locationInfo);
- }
+ if (XLevel::getLethal()->isGreaterOrEqual(this->getEffectiveLevel()))
+ {
+ forcedLog(XLevel::getLethal(), message, locationInfo);
+ }
}
void XLogger::lethal(const LogString& message)
{
- if (repository->isDisabled(XLevel::LETHAL_INT))
- {
- return;
- }
+ if (repository->isDisabled(XLevel::LETHAL_INT))
+ {
+ return;
+ }
- if (XLevel::getLethal()->isGreaterOrEqual(this->getEffectiveLevel()))
- {
- forcedLog(XLevel::getLethal(), message, LocationInfo::getLocationUnavailable());
- }
+ if (XLevel::getLethal()->isGreaterOrEqual(this->getEffectiveLevel()))
+ {
+ forcedLog(XLevel::getLethal(), message, LocationInfo::getLocationUnavailable());
+ }
}
LoggerPtr XLogger::getLogger(const LogString& name)
{
- return LogManager::getLogger(name, factory);
+ return LogManager::getLogger(name, factory);
}
LoggerPtr XLogger::getLogger(const helpers::Class& clazz)
{
- return XLogger::getLogger(clazz.getName());
+ return XLogger::getLogger(clazz.getName());
}
void XLogger::trace(const LogString& message, const LocationInfo& locationInfo)
{
- if (repository->isDisabled(XLevel::TRACE_INT))
- {
- return;
- }
+ if (repository->isDisabled(XLevel::TRACE_INT))
+ {
+ return;
+ }
- if (XLevel::getTrace()->isGreaterOrEqual(this->getEffectiveLevel()))
- {
- forcedLog(XLevel::getTrace(), message, locationInfo);
- }
+ if (XLevel::getTrace()->isGreaterOrEqual(this->getEffectiveLevel()))
+ {
+ forcedLog(XLevel::getTrace(), message, locationInfo);
+ }
}
void XLogger::trace(const LogString& message)
{
- if (repository->isDisabled(XLevel::TRACE_INT))
- {
- return;
- }
+ if (repository->isDisabled(XLevel::TRACE_INT))
+ {
+ return;
+ }
- if (XLevel::getTrace()->isGreaterOrEqual(this->getEffectiveLevel()))
- {
- forcedLog(XLevel::getTrace(), message, LocationInfo::getLocationUnavailable());
- }
+ if (XLevel::getTrace()->isGreaterOrEqual(this->getEffectiveLevel()))
+ {
+ forcedLog(XLevel::getTrace(), message, LocationInfo::getLocationUnavailable());
+ }
}
XFactory::XFactory()
{
}
-LoggerPtr XFactory::makeNewLoggerInstance(log4cxx::helpers::Pool& pool,
- const LogString& name) const
+LoggerPtr XFactory::makeNewLoggerInstance(log4cxx::helpers::Pool& pool,
+ const LogString& name) const
{
- return new XLogger(pool, name);
+ return new XLogger(pool, name);
}
diff --git a/src/test/cpp/customlogger/xlogger.h b/src/test/cpp/customlogger/xlogger.h
index 0080f48..896e0bc 100644
--- a/src/test/cpp/customlogger/xlogger.h
+++ b/src/test/cpp/customlogger/xlogger.h
@@ -22,94 +22,100 @@
namespace log4cxx
{
- namespace spi {
- namespace location {
- class LocationInfo;
- }
- }
- // Any sub-class of Logger must also have its own implementation of
- // LoggerFactory.
- class XFactory :
- public virtual spi::LoggerFactory,
- public virtual helpers::ObjectImpl
- {
- public:
- DECLARE_ABSTRACT_LOG4CXX_OBJECT(XFactory)
- BEGIN_LOG4CXX_CAST_MAP()
- LOG4CXX_CAST_ENTRY(XFactory)
- LOG4CXX_CAST_ENTRY(spi::LoggerFactory)
- END_LOG4CXX_CAST_MAP()
+namespace spi
+{
+namespace location
+{
+class LocationInfo;
+}
+}
+// Any sub-class of Logger must also have its own implementation of
+// LoggerFactory.
+class XFactory :
+ public virtual spi::LoggerFactory,
+ public virtual helpers::ObjectImpl
+{
+ public:
+ DECLARE_ABSTRACT_LOG4CXX_OBJECT(XFactory)
+ BEGIN_LOG4CXX_CAST_MAP()
+ LOG4CXX_CAST_ENTRY(XFactory)
+ LOG4CXX_CAST_ENTRY(spi::LoggerFactory)
+ END_LOG4CXX_CAST_MAP()
- XFactory();
- virtual LoggerPtr makeNewLoggerInstance(
- log4cxx::helpers::Pool& pool,
- const LogString& name) const;
- };
+ XFactory();
+ virtual LoggerPtr makeNewLoggerInstance(
+ log4cxx::helpers::Pool& pool,
+ const LogString& name) const;
+};
- typedef helpers::ObjectPtrT<XFactory> XFactoryPtr;
+typedef helpers::ObjectPtrT<XFactory> XFactoryPtr;
- /**
- A simple example showing Logger sub-classing. It shows the
- minimum steps necessary to implement one's {@link LoggerFactory}.
- Note that sub-classes follow the hierarchy even if its loggers
- belong to different classes.
- */
- class XLogger : public Logger
- {
- // It's enough to instantiate a factory once and for all.
- static XFactoryPtr factory;
- LogString suffix;
+/**
+A simple example showing Logger sub-classing. It shows the
+minimum steps necessary to implement one's {@link LoggerFactory}.
+Note that sub-classes follow the hierarchy even if its loggers
+belong to different classes.
+*/
+class XLogger : public Logger
+{
+ // It's enough to instantiate a factory once and for all.
+ static XFactoryPtr factory;
+ LogString suffix;
- public:
- DECLARE_ABSTRACT_LOG4CXX_OBJECT(XLogger)
- BEGIN_LOG4CXX_CAST_MAP()
- LOG4CXX_CAST_ENTRY(XLogger)
- LOG4CXX_CAST_ENTRY_CHAIN(Logger)
- END_LOG4CXX_CAST_MAP()
+ public:
+ DECLARE_ABSTRACT_LOG4CXX_OBJECT(XLogger)
+ BEGIN_LOG4CXX_CAST_MAP()
+ LOG4CXX_CAST_ENTRY(XLogger)
+ LOG4CXX_CAST_ENTRY_CHAIN(Logger)
+ END_LOG4CXX_CAST_MAP()
- /**
- Just calls the parent constuctor.
- */
- XLogger(log4cxx::helpers::Pool& pool,
- const LogString& name1) : Logger(pool, name1) {}
+ /**
+ Just calls the parent constuctor.
+ */
+ XLogger(log4cxx::helpers::Pool& pool,
+ const LogString& name1) : Logger(pool, name1) {}
- /**
- Nothing to activate.
- */
- void activateOptions() {}
+ /**
+ Nothing to activate.
+ */
+ void activateOptions() {}
- /**
- We introduce a new printing method in order to support {@link
- XLevel#LETHAL}. */
- void lethal(const LogString& message, const log4cxx::spi::LocationInfo& location);
+ /**
+ We introduce a new printing method in order to support {@link
+ XLevel#LETHAL}. */
+ void lethal(const LogString& message, const log4cxx::spi::LocationInfo& location);
- /**
- We introduce a new printing method in order to support {@link
- XLevel#LETHAL}. */
- void lethal(const LogString& message);
+ /**
+ We introduce a new printing method in order to support {@link
+ XLevel#LETHAL}. */
+ void lethal(const LogString& message);
- static LoggerPtr getLogger(const LogString& name);
+ static LoggerPtr getLogger(const LogString& name);
- static LoggerPtr getLogger(const helpers::Class& clazz);
+ static LoggerPtr getLogger(const helpers::Class& clazz);
- LogString getSuffix() const
- { return suffix; }
+ LogString getSuffix() const
+ {
+ return suffix;
+ }
- void setSuffix(const LogString& suffix1)
- { this->suffix = suffix1; }
+ void setSuffix(const LogString& suffix1)
+ {
+ this->suffix = suffix1;
+ }
- /**
- We introduce a new printing method that takes the TRACE level.
- */
- void trace(const LogString& message, const log4cxx::spi::LocationInfo& location);
+ /**
+ We introduce a new printing method that takes the TRACE level.
+ */
+ void trace(const LogString& message, const log4cxx::spi::LocationInfo& location);
- /**
- We introduce a new printing method that takes the TRACE level.
- */
- void trace(const LogString& message);
- };
+ /**
+ We introduce a new printing method that takes the TRACE level.
+ */
+ void trace(const LogString& message);
+};
- typedef helpers::ObjectPtrT<XLogger> XLoggerPtr;
+typedef helpers::ObjectPtrT<XLogger> XLoggerPtr;
}
diff --git a/src/test/cpp/customlogger/xloggertestcase.cpp b/src/test/cpp/customlogger/xloggertestcase.cpp
index 15c3bcf..500820d 100644
--- a/src/test/cpp/customlogger/xloggertestcase.cpp
+++ b/src/test/cpp/customlogger/xloggertestcase.cpp
@@ -36,55 +36,61 @@
*/
LOGUNIT_CLASS(XLoggerTestCase)
{
- LOGUNIT_TEST_SUITE(XLoggerTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(XLoggerTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST_SUITE_END();
- XLoggerPtr logger;
+ XLoggerPtr logger;
public:
- void setUp()
- {
- logger = XLogger::getLogger(
- LOG4CXX_STR("org.apache.log4j.customLogger.XLoggerTestCase"));
- }
+ void setUp()
+ {
+ logger = XLogger::getLogger(
+ LOG4CXX_STR("org.apache.log4j.customLogger.XLoggerTestCase"));
+ }
- void tearDown()
- {
- logger->getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ logger->getLoggerRepository()->resetConfiguration();
+ }
- void test1() { common("1"); }
- void test2() { common("2"); }
+ void test1()
+ {
+ common("1");
+ }
+ void test2()
+ {
+ common("2");
+ }
- void common(const char* number)
- {
- std::string fn("input/xml/customLogger");
- fn.append(number);
- fn.append(".xml");
- DOMConfigurator::configure(fn);
+ void common(const char* number)
+ {
+ std::string fn("input/xml/customLogger");
+ fn.append(number);
+ fn.append(".xml");
+ DOMConfigurator::configure(fn);
- int i = 0;
- LOG4CXX_LOG(logger, log4cxx::XLevel::getTrace(), "Message " << i);
+ int i = 0;
+ LOG4CXX_LOG(logger, log4cxx::XLevel::getTrace(), "Message " << i);
- i++;
- LOG4CXX_DEBUG(logger, "Message " << i);
- i++;
- LOG4CXX_WARN(logger, "Message " << i);
- i++;
- LOG4CXX_ERROR(logger, "Message " << i);
- i++;
- LOG4CXX_FATAL(logger, "Message " << i);
- i++;
- LOG4CXX_DEBUG(logger, "Message " << i);
+ i++;
+ LOG4CXX_DEBUG(logger, "Message " << i);
+ i++;
+ LOG4CXX_WARN(logger, "Message " << i);
+ i++;
+ LOG4CXX_ERROR(logger, "Message " << i);
+ i++;
+ LOG4CXX_FATAL(logger, "Message " << i);
+ i++;
+ LOG4CXX_DEBUG(logger, "Message " << i);
- const File OUTPUT("output/temp");
- std::string witness("witness/customLogger.");
- witness.append(number);
- const File WITNESS(witness);
- LOGUNIT_ASSERT(Compare::compare(OUTPUT, WITNESS));
- }
+ const File OUTPUT("output/temp");
+ std::string witness("witness/customLogger.");
+ witness.append(number);
+ const File WITNESS(witness);
+ LOGUNIT_ASSERT(Compare::compare(OUTPUT, WITNESS));
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(XLoggerTestCase);
diff --git a/src/test/cpp/db/odbcappendertestcase.cpp b/src/test/cpp/db/odbcappendertestcase.cpp
index d0bef0a..155b393 100644
--- a/src/test/cpp/db/odbcappendertestcase.cpp
+++ b/src/test/cpp/db/odbcappendertestcase.cpp
@@ -32,21 +32,22 @@
*/
class ODBCAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(ODBCAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST_SUITE(ODBCAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- AppenderSkeleton* createAppenderSkeleton() const {
- return new log4cxx::db::ODBCAppender();
- }
+ AppenderSkeleton* createAppenderSkeleton() const
+ {
+ return new log4cxx::db::ODBCAppender();
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(ODBCAppenderTestCase);
diff --git a/src/test/cpp/decodingtest.cpp b/src/test/cpp/decodingtest.cpp
index 61f90b7..37c00a4 100644
--- a/src/test/cpp/decodingtest.cpp
+++ b/src/test/cpp/decodingtest.cpp
@@ -51,98 +51,106 @@
* @see LOGCXX-369
* @see LOGCXX-399
*/
-LOGUNIT_CLASS(DecodingTest) {
- LOGUNIT_TEST_SUITE(DecodingTest);
+LOGUNIT_CLASS(DecodingTest)
+{
+ LOGUNIT_TEST_SUITE(DecodingTest);
#if LOG4CXX_CHARSET_USASCII
- LOGUNIT_TEST(testASCII);
+ LOGUNIT_TEST(testASCII);
#elif LOG4CXX_CHARSET_ISO88591 || defined(_WIN32_WCE)
- LOGUNIT_TEST(testLatin1);
+ LOGUNIT_TEST(testLatin1);
#elif LOG4CXX_CHARSET_UTF8
- LOGUNIT_TEST(testUtf8);
+ LOGUNIT_TEST(testUtf8);
#elif LOG4CXX_LOGCHAR_IS_WCHAR && LOG4CXX_HAS_MBSRTOWCS
- LOGUNIT_TEST(testUtf16);
- LOGUNIT_TEST(testUtf16LE);
- LOGUNIT_TEST(testUtf16BE);
+ LOGUNIT_TEST(testUtf16);
+ LOGUNIT_TEST(testUtf16LE);
+ LOGUNIT_TEST(testUtf16BE);
#else
- // LocaleCharsetDecoder, so it's difficult to provide a file working for e.g. windows-1252
- // as well as something completely different.
- LOGUNIT_TEST(testASCII);
+ // LocaleCharsetDecoder, so it's difficult to provide a file working for e.g. windows-1252
+ // as well as something completely different.
+ LOGUNIT_TEST(testASCII);
#endif
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
public:
- /**
- * Test us-ascii decoding.
- */
- void testASCII() {
- const wchar_t witness[] = { L'A', 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x0020, 0x003F, 0 };
+ /**
+ * Test us-ascii decoding.
+ */
+ void testASCII()
+ {
+ const wchar_t witness[] = { L'A', 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x0020, 0x003F, 0 };
- testImpl(LOG4CXX_STR("ascii.txt"), witness);
+ testImpl(LOG4CXX_STR("ascii.txt"), witness);
- }
+ }
- /**
- * Test iso-8859-1 decoding.
- */
- void testLatin1() {
- const wchar_t witness[] = { L'A', 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x0020, 0x00B9, 0 };
+ /**
+ * Test iso-8859-1 decoding.
+ */
+ void testLatin1()
+ {
+ const wchar_t witness[] = { L'A', 0x003F, 0x003F, 0x003F, 0x003F, 0x003F, 0x0020, 0x00B9, 0 };
- testImpl(LOG4CXX_STR("latin1.txt"), witness);
- }
+ testImpl(LOG4CXX_STR("latin1.txt"), witness);
+ }
- /**
- * Test utf-8 decoding.
- */
- void testUtf8() {
- const wchar_t witness[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x0400, 0x0020, 0x00B9, 0 };
+ /**
+ * Test utf-8 decoding.
+ */
+ void testUtf8()
+ {
+ const wchar_t witness[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x0400, 0x0020, 0x00B9, 0 };
- testImpl(LOG4CXX_STR("UTF-8.txt"), witness);
- }
+ testImpl(LOG4CXX_STR("UTF-8.txt"), witness);
+ }
- /**
- * Test utf-16 decoding.
- */
- void testUtf16() {
- const wchar_t witness[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x0400, 0x0020, 0x00B9, 0 };
+ /**
+ * Test utf-16 decoding.
+ */
+ void testUtf16()
+ {
+ const wchar_t witness[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x0400, 0x0020, 0x00B9, 0 };
- testImpl(LOG4CXX_STR("UTF-16.txt"), witness);
- }
+ testImpl(LOG4CXX_STR("UTF-16.txt"), witness);
+ }
- /**
- * Test utf-16be decoding.
- */
- void testUtf16BE() {
- const wchar_t witness[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x0400, 0x0020, 0x00B9, 0 };
+ /**
+ * Test utf-16be decoding.
+ */
+ void testUtf16BE()
+ {
+ const wchar_t witness[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x0400, 0x0020, 0x00B9, 0 };
- testImpl(LOG4CXX_STR("UTF-16BE.txt"), witness);
- }
+ testImpl(LOG4CXX_STR("UTF-16BE.txt"), witness);
+ }
- /**
- * Test utf16-le decoding.
- */
- void testUtf16LE() {
- const wchar_t witness[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x0400, 0x0020, 0x00B9, 0 };
+ /**
+ * Test utf16-le decoding.
+ */
+ void testUtf16LE()
+ {
+ const wchar_t witness[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x0400, 0x0020, 0x00B9, 0 };
- testImpl(LOG4CXX_STR("UTF-16LE.txt"), witness);
- }
+ testImpl(LOG4CXX_STR("UTF-16LE.txt"), witness);
+ }
- private:
- void testImpl(
- const LogString& fileName,
- const wchar_t* witness) {
- CharsetDecoderPtr decoder(CharsetDecoder::getDefaultDecoder());
- LogString lsContent;
- std::wstring wsContent;
- LogString path(LOG4CXX_STR("input/decoding/") + fileName);
- Pool pool;
+private:
+ void testImpl(
+ const LogString & fileName,
+ const wchar_t* witness)
+ {
+ CharsetDecoderPtr decoder(CharsetDecoder::getDefaultDecoder());
+ LogString lsContent;
+ std::wstring wsContent;
+ LogString path(LOG4CXX_STR("input/decoding/") + fileName);
+ Pool pool;
- FileInputStreamPtr fis( new FileInputStream(path));
- InputStreamReaderPtr isReader(new InputStreamReader(fis, decoder));
+ FileInputStreamPtr fis( new FileInputStream(path));
+ InputStreamReaderPtr isReader(new InputStreamReader(fis, decoder));
- lsContent.assign(isReader->read(pool));
- Transcoder::encode(lsContent, wsContent);
+ lsContent.assign(isReader->read(pool));
+ Transcoder::encode(lsContent, wsContent);
- LOGUNIT_ASSERT_EQUAL((std::wstring) witness, wsContent);
- }
+ LOGUNIT_ASSERT_EQUAL((std::wstring) witness, wsContent);
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(DecodingTest);
diff --git a/src/test/cpp/defaultinit/testcase1.cpp b/src/test/cpp/defaultinit/testcase1.cpp
index b0059a4..2b56af6 100644
--- a/src/test/cpp/defaultinit/testcase1.cpp
+++ b/src/test/cpp/defaultinit/testcase1.cpp
@@ -5,9 +5,9 @@
* 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.
@@ -24,27 +24,27 @@
LOGUNIT_CLASS(TestCase1)
{
- LOGUNIT_TEST_SUITE(TestCase1);
- LOGUNIT_TEST(noneTest);
- LOGUNIT_TEST_SUITE_END();
-
-public:
- void setUp()
- {
- }
+ LOGUNIT_TEST_SUITE(TestCase1);
+ LOGUNIT_TEST(noneTest);
+ LOGUNIT_TEST_SUITE_END();
- void tearDown()
- {
- LogManager::shutdown();
- }
-
- void noneTest()
- {
- LoggerPtr root = Logger::getRootLogger();
- LOG4CXX_DEBUG(root, "Hello, world");
- bool rootIsConfigured = !root->getAllAppenders().empty();
- LOGUNIT_ASSERT(!rootIsConfigured);
- }
+public:
+ void setUp()
+ {
+ }
+
+ void tearDown()
+ {
+ LogManager::shutdown();
+ }
+
+ void noneTest()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ LOG4CXX_DEBUG(root, "Hello, world");
+ bool rootIsConfigured = !root->getAllAppenders().empty();
+ LOGUNIT_ASSERT(!rootIsConfigured);
+ }
};
diff --git a/src/test/cpp/defaultinit/testcase2.cpp b/src/test/cpp/defaultinit/testcase2.cpp
index 1c362c2..c6de497 100644
--- a/src/test/cpp/defaultinit/testcase2.cpp
+++ b/src/test/cpp/defaultinit/testcase2.cpp
@@ -30,35 +30,35 @@
LOGUNIT_CLASS(TestCase2)
{
- LOGUNIT_TEST_SUITE(TestCase2);
- LOGUNIT_TEST(xmlTest);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(TestCase2);
+ LOGUNIT_TEST(xmlTest);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp()
- {
- helpers::Pool p;
- apr_file_copy("input/xml/defaultInit.xml", "log4cxx.xml", APR_FPROT_UREAD|APR_FPROT_UWRITE, p.getAPRPool());
- }
+ void setUp()
+ {
+ helpers::Pool p;
+ apr_file_copy("input/xml/defaultInit.xml", "log4cxx.xml", APR_FPROT_UREAD | APR_FPROT_UWRITE, p.getAPRPool());
+ }
- void tearDown()
- {
- helpers::Pool p;
- apr_file_remove("log4cxx.xml", p.getAPRPool());
- LogManager::shutdown();
- }
+ void tearDown()
+ {
+ helpers::Pool p;
+ apr_file_remove("log4cxx.xml", p.getAPRPool());
+ LogManager::shutdown();
+ }
- void xmlTest()
- {
- LoggerPtr root = Logger::getRootLogger();
- LOG4CXX_DEBUG(root, "Hello, world");
- bool rootIsConfigured = !root->getAllAppenders().empty();
- LOGUNIT_ASSERT(rootIsConfigured);
+ void xmlTest()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ LOG4CXX_DEBUG(root, "Hello, world");
+ bool rootIsConfigured = !root->getAllAppenders().empty();
+ LOGUNIT_ASSERT(rootIsConfigured);
- AppenderList list = root->getAllAppenders();
- AppenderPtr appender = list.front();
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("D1"), appender->getName());
- }
+ AppenderList list = root->getAllAppenders();
+ AppenderPtr appender = list.front();
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("D1"), appender->getName());
+ }
};
diff --git a/src/test/cpp/defaultinit/testcase3.cpp b/src/test/cpp/defaultinit/testcase3.cpp
index 2b36f28..fd9a9ab 100644
--- a/src/test/cpp/defaultinit/testcase3.cpp
+++ b/src/test/cpp/defaultinit/testcase3.cpp
@@ -26,35 +26,35 @@
LOGUNIT_CLASS(TestCase3)
{
- LOGUNIT_TEST_SUITE(TestCase3);
- LOGUNIT_TEST(testProperties);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(TestCase3);
+ LOGUNIT_TEST(testProperties);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp()
- {
- helpers::Pool p;
- apr_file_copy("input/defaultInit3.properties", "log4cxx.properties", APR_FPROT_UREAD|APR_FPROT_UWRITE, p.getAPRPool());
- }
+ void setUp()
+ {
+ helpers::Pool p;
+ apr_file_copy("input/defaultInit3.properties", "log4cxx.properties", APR_FPROT_UREAD | APR_FPROT_UWRITE, p.getAPRPool());
+ }
- void tearDown()
- {
- helpers::Pool p;
- apr_file_remove("log4cxx.properties", p.getAPRPool());
- LogManager::shutdown();
- }
+ void tearDown()
+ {
+ helpers::Pool p;
+ apr_file_remove("log4cxx.properties", p.getAPRPool());
+ LogManager::shutdown();
+ }
- void testProperties()
- {
- LoggerPtr root = Logger::getRootLogger();
- LOG4CXX_DEBUG(root, "Hello, world");
- bool rootIsConfigured = !root->getAllAppenders().empty();
- LOGUNIT_ASSERT(rootIsConfigured);
+ void testProperties()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ LOG4CXX_DEBUG(root, "Hello, world");
+ bool rootIsConfigured = !root->getAllAppenders().empty();
+ LOGUNIT_ASSERT(rootIsConfigured);
- AppenderList list = root->getAllAppenders();
- AppenderPtr appender = list.front();
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("D3"), appender->getName());
- }
+ AppenderList list = root->getAllAppenders();
+ AppenderPtr appender = list.front();
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("D3"), appender->getName());
+ }
};
diff --git a/src/test/cpp/defaultinit/testcase4.cpp b/src/test/cpp/defaultinit/testcase4.cpp
index d22806a..21e7f37 100644
--- a/src/test/cpp/defaultinit/testcase4.cpp
+++ b/src/test/cpp/defaultinit/testcase4.cpp
@@ -30,36 +30,36 @@
LOGUNIT_CLASS(TestCase4)
{
- LOGUNIT_TEST_SUITE(TestCase4);
- LOGUNIT_TEST(combinedTest);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(TestCase4);
+ LOGUNIT_TEST(combinedTest);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp()
- {
- helpers::Pool p;
- apr_file_copy("input/xml/defaultInit.xml", "log4cxx.xml", APR_FPROT_UREAD|APR_FPROT_UWRITE, p.getAPRPool());
- }
+ void setUp()
+ {
+ helpers::Pool p;
+ apr_file_copy("input/xml/defaultInit.xml", "log4cxx.xml", APR_FPROT_UREAD | APR_FPROT_UWRITE, p.getAPRPool());
+ }
- void tearDown()
- {
- helpers::Pool p;
- apr_file_remove("log4cxx.xml", p.getAPRPool());
- LogManager::shutdown();
- }
+ void tearDown()
+ {
+ helpers::Pool p;
+ apr_file_remove("log4cxx.xml", p.getAPRPool());
+ LogManager::shutdown();
+ }
- void combinedTest()
- {
- LoggerPtr root = Logger::getRootLogger();
- LOG4CXX_DEBUG(root, "Hello, world");
- bool rootIsConfigured = !root->getAllAppenders().empty();
- LOGUNIT_ASSERT(rootIsConfigured);
+ void combinedTest()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ LOG4CXX_DEBUG(root, "Hello, world");
+ bool rootIsConfigured = !root->getAllAppenders().empty();
+ LOGUNIT_ASSERT(rootIsConfigured);
- AppenderList list = root->getAllAppenders();
- LOGUNIT_ASSERT_EQUAL((size_t) 1, list.size());
- AppenderPtr appender = list.front();
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("D1"), appender->getName());
- }
+ AppenderList list = root->getAllAppenders();
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, list.size());
+ AppenderPtr appender = list.front();
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("D1"), appender->getName());
+ }
};
diff --git a/src/test/cpp/encodingtest.cpp b/src/test/cpp/encodingtest.cpp
index 3b04011..b2db84c 100644
--- a/src/test/cpp/encodingtest.cpp
+++ b/src/test/cpp/encodingtest.cpp
@@ -42,151 +42,161 @@
*
*
*/
-LOGUNIT_CLASS(EncodingTest) {
- LOGUNIT_TEST_SUITE(EncodingTest);
- LOGUNIT_TEST(testASCII);
- LOGUNIT_TEST(testLatin1);
- LOGUNIT_TEST(testUtf8);
- LOGUNIT_TEST(testUtf16);
- LOGUNIT_TEST(testUtf16LE);
- LOGUNIT_TEST(testUtf16BE);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(EncodingTest)
+{
+ LOGUNIT_TEST_SUITE(EncodingTest);
+ LOGUNIT_TEST(testASCII);
+ LOGUNIT_TEST(testLatin1);
+ LOGUNIT_TEST(testUtf8);
+ LOGUNIT_TEST(testUtf16);
+ LOGUNIT_TEST(testUtf16LE);
+ LOGUNIT_TEST(testUtf16BE);
+ LOGUNIT_TEST_SUITE_END();
public:
- /**
- * Resets configuration after each test.
- */
- void tearDown() {
- Logger::getRootLogger()->getLoggerRepository()->resetConfiguration();
- }
+ /**
+ * Resets configuration after each test.
+ */
+ void tearDown()
+ {
+ Logger::getRootLogger()->getLoggerRepository()->resetConfiguration();
+ }
- /**
- * Test us-ascii encoding.
- */
- void testASCII() {
- LoggerPtr root(Logger::getRootLogger());
+ /**
+ * Test us-ascii encoding.
+ */
+ void testASCII()
+ {
+ LoggerPtr root(Logger::getRootLogger());
- configure(root, LOG4CXX_STR("output/encoding/ascii.log"),
- LOG4CXX_STR("US-ASCII"));
- common(root);
+ configure(root, LOG4CXX_STR("output/encoding/ascii.log"),
+ LOG4CXX_STR("US-ASCII"));
+ common(root);
- BinaryCompare::compare( "output/encoding/ascii.log",
- "witness/encoding/ascii.log");
- }
+ BinaryCompare::compare( "output/encoding/ascii.log",
+ "witness/encoding/ascii.log");
+ }
- /**
- * Test iso-8859-1 encoding.
- */
- void testLatin1() {
- LoggerPtr root(Logger::getRootLogger());
+ /**
+ * Test iso-8859-1 encoding.
+ */
+ void testLatin1()
+ {
+ LoggerPtr root(Logger::getRootLogger());
- configure(root, LOG4CXX_STR("output/encoding/latin1.log"),
- LOG4CXX_STR("iso-8859-1"));
- common(root);
+ configure(root, LOG4CXX_STR("output/encoding/latin1.log"),
+ LOG4CXX_STR("iso-8859-1"));
+ common(root);
- BinaryCompare::compare( "output/encoding/latin1.log",
- "witness/encoding/latin1.log");
- }
+ BinaryCompare::compare( "output/encoding/latin1.log",
+ "witness/encoding/latin1.log");
+ }
- /**
- * Test utf-8 encoding.
- */
- void testUtf8() {
- LoggerPtr root(Logger::getRootLogger());
+ /**
+ * Test utf-8 encoding.
+ */
+ void testUtf8()
+ {
+ LoggerPtr root(Logger::getRootLogger());
- configure(root, LOG4CXX_STR("output/encoding/UTF-8.log"),
- LOG4CXX_STR("UTF-8"));
- common(root);
+ configure(root, LOG4CXX_STR("output/encoding/UTF-8.log"),
+ LOG4CXX_STR("UTF-8"));
+ common(root);
- BinaryCompare::compare( "output/encoding/UTF-8.log",
- "witness/encoding/UTF-8.log");
- }
+ BinaryCompare::compare( "output/encoding/UTF-8.log",
+ "witness/encoding/UTF-8.log");
+ }
- /**
- * Test utf-16 encoding.
- */
- void testUtf16() {
- LoggerPtr root(Logger::getRootLogger());
+ /**
+ * Test utf-16 encoding.
+ */
+ void testUtf16()
+ {
+ LoggerPtr root(Logger::getRootLogger());
- configure(root, LOG4CXX_STR("output/encoding/UTF-16.log"),
- LOG4CXX_STR("UTF-16"));
- common(root);
+ configure(root, LOG4CXX_STR("output/encoding/UTF-16.log"),
+ LOG4CXX_STR("UTF-16"));
+ common(root);
- BinaryCompare::compare( "output/encoding/UTF-16.log",
- "witness/encoding/UTF-16.log");
- }
+ BinaryCompare::compare( "output/encoding/UTF-16.log",
+ "witness/encoding/UTF-16.log");
+ }
- /**
- * Test utf-16be encoding.
- */
- void testUtf16BE() {
- LoggerPtr root(Logger::getRootLogger());
+ /**
+ * Test utf-16be encoding.
+ */
+ void testUtf16BE()
+ {
+ LoggerPtr root(Logger::getRootLogger());
- configure(root, LOG4CXX_STR("output/encoding/UTF-16BE.log"),
- LOG4CXX_STR("UTF-16BE"));
- common(root);
+ configure(root, LOG4CXX_STR("output/encoding/UTF-16BE.log"),
+ LOG4CXX_STR("UTF-16BE"));
+ common(root);
- BinaryCompare::compare( "output/encoding/UTF-16BE.log",
- "witness/encoding/UTF-16BE.log");
- }
+ BinaryCompare::compare( "output/encoding/UTF-16BE.log",
+ "witness/encoding/UTF-16BE.log");
+ }
- /**
- * Test utf16-le encoding.
- */
- void testUtf16LE() {
- LoggerPtr root(Logger::getRootLogger());
+ /**
+ * Test utf16-le encoding.
+ */
+ void testUtf16LE()
+ {
+ LoggerPtr root(Logger::getRootLogger());
- configure(root, LOG4CXX_STR("output/encoding/UTF-16LE.log"),
- LOG4CXX_STR("UTF-16LE"));
- common(root);
+ configure(root, LOG4CXX_STR("output/encoding/UTF-16LE.log"),
+ LOG4CXX_STR("UTF-16LE"));
+ common(root);
- BinaryCompare::compare( "output/encoding/UTF-16LE.log",
- "witness/encoding/UTF-16LE.log");
- }
+ BinaryCompare::compare( "output/encoding/UTF-16LE.log",
+ "witness/encoding/UTF-16LE.log");
+ }
- /**
- * Configure logging.
- * @param logger logger
- * @param filename logging file name
- * @param encoding encoding
- */
- private:
- void configure( LoggerPtr& logger,
- const LogString& filename,
- const LogString& encoding) {
- FileAppenderPtr appender(new FileAppender());
- PatternLayoutPtr layout(new PatternLayout());
- Pool p;
+ /**
+ * Configure logging.
+ * @param logger logger
+ * @param filename logging file name
+ * @param encoding encoding
+ */
+private:
+ void configure( LoggerPtr & logger,
+ const LogString & filename,
+ const LogString & encoding)
+ {
+ FileAppenderPtr appender(new FileAppender());
+ PatternLayoutPtr layout(new PatternLayout());
+ Pool p;
- layout->setConversionPattern(LOG4CXX_STR("%p - %m\n"));
- layout->activateOptions(p);
+ layout->setConversionPattern(LOG4CXX_STR("%p - %m\n"));
+ layout->activateOptions(p);
- appender->setAppend(false);
- appender->setEncoding(encoding);
- appender->setFile(filename);
- appender->setLayout(layout);
- appender->activateOptions(p);
+ appender->setAppend(false);
+ appender->setEncoding(encoding);
+ appender->setFile(filename);
+ appender->setLayout(layout);
+ appender->activateOptions(p);
- logger->addAppender(appender);
- logger->setLevel(Level::getInfo());
- }
+ logger->addAppender(appender);
+ logger->setLevel(Level::getInfo());
+ }
- /**
- * Common logging requests.
- * @param logger logger
- */
- void common(LoggerPtr& logger) {
- logger->info("Hello, World");
+ /**
+ * Common logging requests.
+ * @param logger logger
+ */
+ void common(LoggerPtr & logger)
+ {
+ logger->info("Hello, World");
- // pi can be encoded in iso-8859-1
- const wchar_t pi[] = { 0x00B9, 0 };
- logger->info(pi);
+ // pi can be encoded in iso-8859-1
+ const wchar_t pi[] = { 0x00B9, 0 };
+ logger->info(pi);
- // arbitrary, hopefully meaningless, characters from
- // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
- const wchar_t greeting[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x400, 0 };
- logger->info(greeting);
- }
+ // arbitrary, hopefully meaningless, characters from
+ // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
+ const wchar_t greeting[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x400, 0 };
+ logger->info(greeting);
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(EncodingTest);
diff --git a/src/test/cpp/fileappendertest.cpp b/src/test/cpp/fileappendertest.cpp
index e16355a..30b99bf 100644
--- a/src/test/cpp/fileappendertest.cpp
+++ b/src/test/cpp/fileappendertest.cpp
@@ -27,56 +27,60 @@
*
* FileAppender tests.
*/
-LOGUNIT_CLASS(FileAppenderTest) {
- LOGUNIT_TEST_SUITE(FileAppenderTest);
- LOGUNIT_TEST(testDirectoryCreation);
- LOGUNIT_TEST(testgetSetThreshold);
- LOGUNIT_TEST(testIsAsSevereAsThreshold);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(FileAppenderTest)
+{
+ LOGUNIT_TEST_SUITE(FileAppenderTest);
+ LOGUNIT_TEST(testDirectoryCreation);
+ LOGUNIT_TEST(testgetSetThreshold);
+ LOGUNIT_TEST(testIsAsSevereAsThreshold);
+ LOGUNIT_TEST_SUITE_END();
public:
- /**
- * Tests that any necessary directories are attempted to
- * be created if they don't exist. See bug 9150.
- *
- */
- void testDirectoryCreation() {
- File newFile(LOG4CXX_STR("output/newdir/temp.log"));
- Pool p;
- newFile.deleteFile(p);
+ /**
+ * Tests that any necessary directories are attempted to
+ * be created if they don't exist. See bug 9150.
+ *
+ */
+ void testDirectoryCreation()
+ {
+ File newFile(LOG4CXX_STR("output/newdir/temp.log"));
+ Pool p;
+ newFile.deleteFile(p);
- File newDir(LOG4CXX_STR("output/newdir"));
- newDir.deleteFile(p);
+ File newDir(LOG4CXX_STR("output/newdir"));
+ newDir.deleteFile(p);
- FileAppenderPtr wa(new FileAppender());
- wa->setFile(LOG4CXX_STR("output/newdir/temp.log"));
- wa->setLayout(new PatternLayout(LOG4CXX_STR("%m%n")));
- wa->activateOptions(p);
+ FileAppenderPtr wa(new FileAppender());
+ wa->setFile(LOG4CXX_STR("output/newdir/temp.log"));
+ wa->setLayout(new PatternLayout(LOG4CXX_STR("%m%n")));
+ wa->activateOptions(p);
- LOGUNIT_ASSERT(File(LOG4CXX_STR("output/newdir/temp.log")).exists(p));
- }
+ LOGUNIT_ASSERT(File(LOG4CXX_STR("output/newdir/temp.log")).exists(p));
+ }
- /**
- * Tests getThreshold and setThreshold.
- */
- void testgetSetThreshold() {
- FileAppenderPtr appender = new FileAppender();
- LevelPtr debug = Level::getDebug();
- //
- // different from log4j where threshold is null.
- //
- LOGUNIT_ASSERT_EQUAL(Level::getAll(), appender->getThreshold());
- appender->setThreshold(debug);
- LOGUNIT_ASSERT_EQUAL(debug, appender->getThreshold());
- }
+ /**
+ * Tests getThreshold and setThreshold.
+ */
+ void testgetSetThreshold()
+ {
+ FileAppenderPtr appender = new FileAppender();
+ LevelPtr debug = Level::getDebug();
+ //
+ // different from log4j where threshold is null.
+ //
+ LOGUNIT_ASSERT_EQUAL(Level::getAll(), appender->getThreshold());
+ appender->setThreshold(debug);
+ LOGUNIT_ASSERT_EQUAL(debug, appender->getThreshold());
+ }
- /**
- * Tests isAsSevereAsThreshold.
- */
- void testIsAsSevereAsThreshold() {
- FileAppenderPtr appender = new FileAppender();
- LevelPtr debug = Level::getDebug();
- LOGUNIT_ASSERT(appender->isAsSevereAsThreshold(debug));
- }
+ /**
+ * Tests isAsSevereAsThreshold.
+ */
+ void testIsAsSevereAsThreshold()
+ {
+ FileAppenderPtr appender = new FileAppender();
+ LevelPtr debug = Level::getDebug();
+ LOGUNIT_ASSERT(appender->isAsSevereAsThreshold(debug));
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(FileAppenderTest);
diff --git a/src/test/cpp/fileappendertestcase.cpp b/src/test/cpp/fileappendertestcase.cpp
index dadf034..1e469db 100644
--- a/src/test/cpp/fileappendertestcase.cpp
+++ b/src/test/cpp/fileappendertestcase.cpp
@@ -23,8 +23,9 @@
using namespace log4cxx;
using namespace log4cxx::helpers;
-WriterAppender* FileAppenderAbstractTestCase::createWriterAppender() const {
- return createFileAppender();
+WriterAppender* FileAppenderAbstractTestCase::createWriterAppender() const
+{
+ return createFileAppender();
}
@@ -33,78 +34,82 @@
*/
class FileAppenderTestCase : public FileAppenderAbstractTestCase
{
- LOGUNIT_TEST_SUITE(FileAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST_SUITE(FileAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
- // tests defined here
- LOGUNIT_TEST(testSetDoubleBackslashes);
- LOGUNIT_TEST(testStripDuplicateBackslashes);
+ // tests defined here
+ LOGUNIT_TEST(testSetDoubleBackslashes);
+ LOGUNIT_TEST(testStripDuplicateBackslashes);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- FileAppender* createFileAppender() const {
- return new log4cxx::FileAppender();
- }
+ FileAppender* createFileAppender() const
+ {
+ return new log4cxx::FileAppender();
+ }
- void testSetDoubleBackslashes() {
- FileAppender appender;
- appender.setOption(LOG4CXX_STR("FILE"), LOG4CXX_STR("output\\\\temp"));
- const File& file = appender.getFile();
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("output\\temp"), file.getPath());
- }
+ void testSetDoubleBackslashes()
+ {
+ FileAppender appender;
+ appender.setOption(LOG4CXX_STR("FILE"), LOG4CXX_STR("output\\\\temp"));
+ const File& file = appender.getFile();
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("output\\temp"), file.getPath());
+ }
- /**
- * Tests that double backslashes in filespecs are stripped
- * on calls to setOption.
- *
- */
- void testStripDoubleBackslashes() {
+ /**
+ * Tests that double backslashes in filespecs are stripped
+ * on calls to setOption.
+ *
+ */
+ void testStripDoubleBackslashes()
+ {
- FileAppender appender;
- appender.setOption(LOG4CXX_STR("FILE"), LOG4CXX_STR("output\\\\temp"));
- const File& file = appender.getFile();
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("output\\temp"), file.getPath());
- }
+ FileAppender appender;
+ appender.setOption(LOG4CXX_STR("FILE"), LOG4CXX_STR("output\\\\temp"));
+ const File& file = appender.getFile();
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("output\\temp"), file.getPath());
+ }
- /**
- * Tests stripDuplicateBackslashes
- *
- *
- */
- void testStripDuplicateBackslashes() {
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\foo\\bar\\foo"),
- FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\foo\\bar\\foo")));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\foo\\bar\\foo\\"),
- FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\foo\\\\bar\\\\foo\\\\")));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\foo\\bar\\foo\\"),
- FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\foo\\bar\\foo\\")));
- //
- // UNC's should either start with two backslashes and contain additional singles
- // or four back slashes and addition doubles
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\\\foo\\bar\\foo"),
- FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\\\\\foo\\\\bar\\\\foo")));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\\\foo\\bar\\foo"),
- FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\foo\\bar\\foo")));
- //
- // it it starts with doubles but has no other path component
- // then it is a file path
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\foo.log"),
- FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\foo.log")));
- //
- // it it starts with quads but has no other path component
- // then it is a UNC
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\\\foo.log"),
- FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\\\\\foo.log")));
- }
+ /**
+ * Tests stripDuplicateBackslashes
+ *
+ *
+ */
+ void testStripDuplicateBackslashes()
+ {
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\foo\\bar\\foo"),
+ FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\foo\\bar\\foo")));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\foo\\bar\\foo\\"),
+ FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\foo\\\\bar\\\\foo\\\\")));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\foo\\bar\\foo\\"),
+ FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\foo\\bar\\foo\\")));
+ //
+ // UNC's should either start with two backslashes and contain additional singles
+ // or four back slashes and addition doubles
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\\\foo\\bar\\foo"),
+ FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\\\\\foo\\\\bar\\\\foo")));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\\\foo\\bar\\foo"),
+ FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\foo\\bar\\foo")));
+ //
+ // it it starts with doubles but has no other path component
+ // then it is a file path
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\foo.log"),
+ FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\foo.log")));
+ //
+ // it it starts with quads but has no other path component
+ // then it is a UNC
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("\\\\foo.log"),
+ FileAppender::stripDuplicateBackslashes(LOG4CXX_STR("\\\\\\\\foo.log")));
+ }
};
diff --git a/src/test/cpp/fileappendertestcase.h b/src/test/cpp/fileappendertestcase.h
index 4eabed3..f8caa49 100644
--- a/src/test/cpp/fileappendertestcase.h
+++ b/src/test/cpp/fileappendertestcase.h
@@ -26,9 +26,9 @@
class FileAppenderAbstractTestCase : public WriterAppenderTestCase
{
-public:
- log4cxx::WriterAppender* createWriterAppender() const;
+ public:
+ log4cxx::WriterAppender* createWriterAppender() const;
- virtual log4cxx::FileAppender* createFileAppender() const = 0;
+ virtual log4cxx::FileAppender* createFileAppender() const = 0;
};
diff --git a/src/test/cpp/filetestcase.cpp b/src/test/cpp/filetestcase.cpp
index 06efce2..70009a9 100644
--- a/src/test/cpp/filetestcase.cpp
+++ b/src/test/cpp/filetestcase.cpp
@@ -29,7 +29,7 @@
#include <log4cxx/helpers/fileinputstream.h>
#if LOG4CXX_CFSTRING_API
-#include <CoreFoundation/CFString.h>
+ #include <CoreFoundation/CFString.h>
#endif
using namespace log4cxx;
@@ -38,147 +38,164 @@
LOGUNIT_CLASS(FileTestCase)
{
- LOGUNIT_TEST_SUITE(FileTestCase);
- LOGUNIT_TEST(defaultConstructor);
- LOGUNIT_TEST(defaultExists);
- LOGUNIT_TEST(defaultRead);
- LOGUNIT_TEST(propertyRead);
- LOGUNIT_TEST(propertyExists);
- LOGUNIT_TEST(fileWrite1);
+ LOGUNIT_TEST_SUITE(FileTestCase);
+ LOGUNIT_TEST(defaultConstructor);
+ LOGUNIT_TEST(defaultExists);
+ LOGUNIT_TEST(defaultRead);
+ LOGUNIT_TEST(propertyRead);
+ LOGUNIT_TEST(propertyExists);
+ LOGUNIT_TEST(fileWrite1);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(wcharConstructor);
+ LOGUNIT_TEST(wcharConstructor);
#endif
#if LOG4CXX_UNICHAR_API
- LOGUNIT_TEST(unicharConstructor);
+ LOGUNIT_TEST(unicharConstructor);
#endif
#if LOG4CXX_CFSTRING_API
- LOGUNIT_TEST(cfstringConstructor);
+ LOGUNIT_TEST(cfstringConstructor);
#endif
- LOGUNIT_TEST(copyConstructor);
- LOGUNIT_TEST(assignment);
- LOGUNIT_TEST(deleteBackslashedFileName);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST(copyConstructor);
+ LOGUNIT_TEST(assignment);
+ LOGUNIT_TEST(deleteBackslashedFileName);
+ LOGUNIT_TEST_SUITE_END();
public:
- void defaultConstructor() {
- File defFile;
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR(""), defFile.getPath());
- }
+ void defaultConstructor()
+ {
+ File defFile;
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR(""), defFile.getPath());
+ }
- void defaultExists() {
- File defFile;
- Pool pool;
- bool exists = defFile.exists(pool);
- LOGUNIT_ASSERT_EQUAL(false, exists);
- }
+ void defaultExists()
+ {
+ File defFile;
+ Pool pool;
+ bool exists = defFile.exists(pool);
+ LOGUNIT_ASSERT_EQUAL(false, exists);
+ }
- // check default constructor. read() throws an exception
- // if no file name was given.
- void defaultRead() {
- File defFile;
- Pool pool;
- try {
- InputStreamPtr defInput = new FileInputStream(defFile);
- InputStreamReaderPtr inputReader = new InputStreamReader(defInput);
- LogString contents(inputReader->read(pool));
- LOGUNIT_ASSERT(false);
- } catch(IOException &ex) {
- }
- }
+ // check default constructor. read() throws an exception
+ // if no file name was given.
+ void defaultRead()
+ {
+ File defFile;
+ Pool pool;
+
+ try
+ {
+ InputStreamPtr defInput = new FileInputStream(defFile);
+ InputStreamReaderPtr inputReader = new InputStreamReader(defInput);
+ LogString contents(inputReader->read(pool));
+ LOGUNIT_ASSERT(false);
+ }
+ catch (IOException& ex)
+ {
+ }
+ }
#if LOG4CXX_WCHAR_T_API
- void wcharConstructor() {
- File propFile(L"input/patternLayout1.properties");
- Pool pool;
- bool exists = propFile.exists(pool);
- LOGUNIT_ASSERT_EQUAL(true, exists);
- }
+ void wcharConstructor()
+ {
+ File propFile(L"input/patternLayout1.properties");
+ Pool pool;
+ bool exists = propFile.exists(pool);
+ LOGUNIT_ASSERT_EQUAL(true, exists);
+ }
#endif
#if LOG4CXX_UNICHAR_API
- void unicharConstructor() {
- const log4cxx::UniChar filename[] = { 'i', 'n', 'p', 'u', 't', '/',
- 'p', 'a', 't', 't', 'e', 'r', 'n', 'L', 'a', 'y', 'o', 'u', 't', '1', '.',
- 'p', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's', 0 };
- File propFile(filename);
- Pool pool;
- bool exists = propFile.exists(pool);
- LOGUNIT_ASSERT_EQUAL(true, exists);
- }
+ void unicharConstructor()
+ {
+ const log4cxx::UniChar filename[] = { 'i', 'n', 'p', 'u', 't', '/',
+ 'p', 'a', 't', 't', 'e', 'r', 'n', 'L', 'a', 'y', 'o', 'u', 't', '1', '.',
+ 'p', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's', 0
+ };
+ File propFile(filename);
+ Pool pool;
+ bool exists = propFile.exists(pool);
+ LOGUNIT_ASSERT_EQUAL(true, exists);
+ }
#endif
#if LOG4CXX_CFSTRING_API
- void cfstringConstructor() {
- File propFile(CFSTR("input/patternLayout.properties"));
- Pool pool;
- bool exists = propFile.exists(pool);
- LOGUNIT_ASSERT_EQUAL(true, exists);
- }
+ void cfstringConstructor()
+ {
+ File propFile(CFSTR("input/patternLayout.properties"));
+ Pool pool;
+ bool exists = propFile.exists(pool);
+ LOGUNIT_ASSERT_EQUAL(true, exists);
+ }
#endif
- void copyConstructor() {
- File propFile("input/patternLayout1.properties");
- File copy(propFile);
- Pool pool;
- bool exists = copy.exists(pool);
- LOGUNIT_ASSERT_EQUAL(true, exists);
- }
+ void copyConstructor()
+ {
+ File propFile("input/patternLayout1.properties");
+ File copy(propFile);
+ Pool pool;
+ bool exists = copy.exists(pool);
+ LOGUNIT_ASSERT_EQUAL(true, exists);
+ }
- void assignment() {
- File propFile("input/patternLayout1.properties");
- File copy = propFile;
- Pool pool;
- bool exists = copy.exists(pool);
- LOGUNIT_ASSERT_EQUAL(true, exists);
- }
+ void assignment()
+ {
+ File propFile("input/patternLayout1.properties");
+ File copy = propFile;
+ Pool pool;
+ bool exists = copy.exists(pool);
+ LOGUNIT_ASSERT_EQUAL(true, exists);
+ }
- void propertyRead() {
- File propFile("input/patternLayout1.properties");
- Pool pool;
- InputStreamPtr propStream = new FileInputStream(propFile);
- InputStreamReaderPtr propReader = new InputStreamReader(propStream);
- LogString props(propReader->read(pool));
- LogString line1(LOG4CXX_STR("# Licensed to the Apache Software Foundation (ASF) under one or more"));
- LOGUNIT_ASSERT_EQUAL(line1, props.substr(0, line1.length()));
- }
+ void propertyRead()
+ {
+ File propFile("input/patternLayout1.properties");
+ Pool pool;
+ InputStreamPtr propStream = new FileInputStream(propFile);
+ InputStreamReaderPtr propReader = new InputStreamReader(propStream);
+ LogString props(propReader->read(pool));
+ LogString line1(LOG4CXX_STR("# Licensed to the Apache Software Foundation (ASF) under one or more"));
+ LOGUNIT_ASSERT_EQUAL(line1, props.substr(0, line1.length()));
+ }
- void propertyExists() {
- File propFile("input/patternLayout1.properties");
- Pool pool;
- bool exists = propFile.exists(pool);
- LOGUNIT_ASSERT_EQUAL(true, exists);
- }
+ void propertyExists()
+ {
+ File propFile("input/patternLayout1.properties");
+ Pool pool;
+ bool exists = propFile.exists(pool);
+ LOGUNIT_ASSERT_EQUAL(true, exists);
+ }
- void fileWrite1() {
- OutputStreamPtr fos =
- new FileOutputStream(LOG4CXX_STR("output/fileWrite1.txt"));
- OutputStreamWriterPtr osw = new OutputStreamWriter(fos);
+ void fileWrite1()
+ {
+ OutputStreamPtr fos =
+ new FileOutputStream(LOG4CXX_STR("output/fileWrite1.txt"));
+ OutputStreamWriterPtr osw = new OutputStreamWriter(fos);
- Pool pool;
- LogString greeting(LOG4CXX_STR("Hello, World"));
- greeting.append(LOG4CXX_EOL);
- osw->write(greeting, pool);
+ Pool pool;
+ LogString greeting(LOG4CXX_STR("Hello, World"));
+ greeting.append(LOG4CXX_EOL);
+ osw->write(greeting, pool);
- InputStreamPtr is =
- new FileInputStream(LOG4CXX_STR("output/fileWrite1.txt"));
- InputStreamReaderPtr isr = new InputStreamReader(is);
- LogString reply = isr->read(pool);
+ InputStreamPtr is =
+ new FileInputStream(LOG4CXX_STR("output/fileWrite1.txt"));
+ InputStreamReaderPtr isr = new InputStreamReader(is);
+ LogString reply = isr->read(pool);
- LOGUNIT_ASSERT_EQUAL(greeting, reply);
- }
+ LOGUNIT_ASSERT_EQUAL(greeting, reply);
+ }
- /**
- * Tests conversion of backslash containing file names.
- * Would cause infinite loop due to bug LOGCXX-105.
- */
- void deleteBackslashedFileName() {
- File file("output\\bogus.txt");
- Pool pool;
- /*bool deleted = */file.deleteFile(pool);
- }
+ /**
+ * Tests conversion of backslash containing file names.
+ * Would cause infinite loop due to bug LOGCXX-105.
+ */
+ void deleteBackslashedFileName()
+ {
+ File file("output\\bogus.txt");
+ Pool pool;
+ /*bool deleted = */file.deleteFile(pool);
+ }
};
diff --git a/src/test/cpp/filter/andfiltertest.cpp b/src/test/cpp/filter/andfiltertest.cpp
index aaee1cb..96defe4 100644
--- a/src/test/cpp/filter/andfiltertest.cpp
+++ b/src/test/cpp/filter/andfiltertest.cpp
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+
#include <log4cxx/filter/andfilter.h>
#include <log4cxx/logger.h>
#include <log4cxx/spi/filter.h>
@@ -26,152 +26,159 @@
using namespace log4cxx;
using namespace log4cxx::filter;
-using namespace log4cxx::spi;
+using namespace log4cxx::spi;
using namespace log4cxx::helpers;
/**
* Unit tests for AndFilter.
*/
-LOGUNIT_CLASS(AndFilterTest) {
- LOGUNIT_TEST_SUITE(AndFilterTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST_SUITE_END();
-
+LOGUNIT_CLASS(AndFilterTest)
+{
+ LOGUNIT_TEST_SUITE(AndFilterTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST_SUITE_END();
+
public:
-
- /**
- * Check that AndFilter.decide() returns Filter.ACCEPT if no filters added.
- */
- void test1() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- FilterPtr filter(new AndFilter());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
- }
-
- /**
- * Check that AndFilter.decide() returns Filter.ACCEPT if
- * only nested filter returns Filter.ACCEPT.
- */
- void test2() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- AndFilterPtr filter(new AndFilter());
- LevelMatchFilterPtr filter1(new LevelMatchFilter());
- filter1->setLevelToMatch(LOG4CXX_STR("info"));
- Pool p;
- filter1->activateOptions(p);
- filter->addFilter(filter1);
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
- }
- /**
- * Check that AndFilter.decide() returns Filter.ACCEPT if
- * two nested filters return Filter.ACCEPT.
- */
- void test3() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- AndFilterPtr filter(new AndFilter());
- LevelMatchFilterPtr filter1(new LevelMatchFilter());
- filter1->setLevelToMatch(LOG4CXX_STR("info"));
- Pool p;
- filter1->activateOptions(p);
- filter->addFilter(filter1);
- LevelMatchFilterPtr filter2(new LevelMatchFilter());
- filter2->setLevelToMatch(LOG4CXX_STR("info"));
- filter2->activateOptions(p);
- filter->addFilter(filter2);
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
- }
+ /**
+ * Check that AndFilter.decide() returns Filter.ACCEPT if no filters added.
+ */
+ void test1()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ FilterPtr filter(new AndFilter());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ }
- /**
- * Check that AndFilter.decide() returns Filter.DENY if
- * only nested filter returns Filter.ACCEPT
- * and acceptOnMatch is false.
- */
- void test4() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- AndFilterPtr filter(new AndFilter());
- LevelMatchFilterPtr filter1(new LevelMatchFilter());
- filter1->setLevelToMatch(LOG4CXX_STR("info"));
- Pool p;
- filter1->activateOptions(p);
- filter->addFilter(filter1);
- filter->setAcceptOnMatch(false);
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
- }
+ /**
+ * Check that AndFilter.decide() returns Filter.ACCEPT if
+ * only nested filter returns Filter.ACCEPT.
+ */
+ void test2()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ AndFilterPtr filter(new AndFilter());
+ LevelMatchFilterPtr filter1(new LevelMatchFilter());
+ filter1->setLevelToMatch(LOG4CXX_STR("info"));
+ Pool p;
+ filter1->activateOptions(p);
+ filter->addFilter(filter1);
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ }
- /**
- * Check that AndFilter.decide() returns Filter.NEUTRAL if
- * nested filters return Filter.ACCEPT and Filter.DENY.
- */
- void test5() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- AndFilterPtr filter(new AndFilter());
- LevelMatchFilterPtr filter1(new LevelMatchFilter());
- filter1->setLevelToMatch(LOG4CXX_STR("info"));
- Pool p;
- filter1->activateOptions(p);
- filter->addFilter(filter1);
- FilterPtr filter2(new DenyAllFilter());
- filter2->activateOptions(p);
- filter->addFilter(filter2);
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that AndFilter.decide() returns Filter.ACCEPT if
+ * two nested filters return Filter.ACCEPT.
+ */
+ void test3()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ AndFilterPtr filter(new AndFilter());
+ LevelMatchFilterPtr filter1(new LevelMatchFilter());
+ filter1->setLevelToMatch(LOG4CXX_STR("info"));
+ Pool p;
+ filter1->activateOptions(p);
+ filter->addFilter(filter1);
+ LevelMatchFilterPtr filter2(new LevelMatchFilter());
+ filter2->setLevelToMatch(LOG4CXX_STR("info"));
+ filter2->activateOptions(p);
+ filter->addFilter(filter2);
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ }
- /**
- * Check that AndFilter.decide() returns Filter.NEUTRAL if
- * nested filters return Filter.ACCEPT and Filter.NEUTRAL.
- */
- void test6() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- AndFilterPtr filter(new AndFilter());
- LevelMatchFilterPtr filter1(new LevelMatchFilter());
- filter1->setLevelToMatch(LOG4CXX_STR("info"));
- Pool p;
- filter1->activateOptions(p);
- filter->addFilter(filter1);
- FilterPtr filter2(new StringMatchFilter());
- filter2->activateOptions(p);
- filter->addFilter(filter2);
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that AndFilter.decide() returns Filter.DENY if
+ * only nested filter returns Filter.ACCEPT
+ * and acceptOnMatch is false.
+ */
+ void test4()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ AndFilterPtr filter(new AndFilter());
+ LevelMatchFilterPtr filter1(new LevelMatchFilter());
+ filter1->setLevelToMatch(LOG4CXX_STR("info"));
+ Pool p;
+ filter1->activateOptions(p);
+ filter->addFilter(filter1);
+ filter->setAcceptOnMatch(false);
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
+ }
+
+ /**
+ * Check that AndFilter.decide() returns Filter.NEUTRAL if
+ * nested filters return Filter.ACCEPT and Filter.DENY.
+ */
+ void test5()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ AndFilterPtr filter(new AndFilter());
+ LevelMatchFilterPtr filter1(new LevelMatchFilter());
+ filter1->setLevelToMatch(LOG4CXX_STR("info"));
+ Pool p;
+ filter1->activateOptions(p);
+ filter->addFilter(filter1);
+ FilterPtr filter2(new DenyAllFilter());
+ filter2->activateOptions(p);
+ filter->addFilter(filter2);
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
+
+ /**
+ * Check that AndFilter.decide() returns Filter.NEUTRAL if
+ * nested filters return Filter.ACCEPT and Filter.NEUTRAL.
+ */
+ void test6()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.AndFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ AndFilterPtr filter(new AndFilter());
+ LevelMatchFilterPtr filter1(new LevelMatchFilter());
+ filter1->setLevelToMatch(LOG4CXX_STR("info"));
+ Pool p;
+ filter1->activateOptions(p);
+ filter->addFilter(filter1);
+ FilterPtr filter2(new StringMatchFilter());
+ filter2->activateOptions(p);
+ filter->addFilter(filter2);
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
};
diff --git a/src/test/cpp/filter/denyallfiltertest.cpp b/src/test/cpp/filter/denyallfiltertest.cpp
index 785310f..1ff1f7b 100644
--- a/src/test/cpp/filter/denyallfiltertest.cpp
+++ b/src/test/cpp/filter/denyallfiltertest.cpp
@@ -22,33 +22,35 @@
using namespace log4cxx;
using namespace log4cxx::filter;
-using namespace log4cxx::spi;
+using namespace log4cxx::spi;
using namespace log4cxx::helpers;
/**
* Unit tests for DenyAllFilter.
*/
-LOGUNIT_CLASS(DenyAllFilterTest) {
- LOGUNIT_TEST_SUITE(DenyAllFilterTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST_SUITE_END();
-
+LOGUNIT_CLASS(DenyAllFilterTest)
+{
+ LOGUNIT_TEST_SUITE(DenyAllFilterTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST_SUITE_END();
+
public:
- /**
- * Check that DenyAllFilter.decide() returns Filter.DENY.
- */
- void test1() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.DenyAllFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- FilterPtr filter(new DenyAllFilter());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
- }
+ /**
+ * Check that DenyAllFilter.decide() returns Filter.DENY.
+ */
+ void test1()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.DenyAllFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ FilterPtr filter(new DenyAllFilter());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
+ }
};
diff --git a/src/test/cpp/filter/levelmatchfiltertest.cpp b/src/test/cpp/filter/levelmatchfiltertest.cpp
index 6dfb685..3acbb8f 100644
--- a/src/test/cpp/filter/levelmatchfiltertest.cpp
+++ b/src/test/cpp/filter/levelmatchfiltertest.cpp
@@ -22,106 +22,112 @@
using namespace log4cxx;
using namespace log4cxx::filter;
-using namespace log4cxx::spi;
+using namespace log4cxx::spi;
using namespace log4cxx::helpers;
/**
* Unit tests for LevelMatchFilter.
*/
-LOGUNIT_CLASS(LevelMatchFilterTest) {
- LOGUNIT_TEST_SUITE(LevelMatchFilterTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST_SUITE_END();
-
+LOGUNIT_CLASS(LevelMatchFilterTest)
+{
+ LOGUNIT_TEST_SUITE(LevelMatchFilterTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST_SUITE_END();
+
public:
- /**
- * Check that LevelMatchFilter.decide() returns Filter.ACCEPT when level matches.
- */
- void test1() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelMatchFilterPtr filter(new LevelMatchFilter());
- filter->setLevelToMatch(LOG4CXX_STR("info"));
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
- }
+ /**
+ * Check that LevelMatchFilter.decide() returns Filter.ACCEPT when level matches.
+ */
+ void test1()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelMatchFilterPtr filter(new LevelMatchFilter());
+ filter->setLevelToMatch(LOG4CXX_STR("info"));
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ }
- /**
- * Check that LevelMatchFilter.decide() returns Filter.DENY
- * when level matches and acceptOnMatch = false.
- */
- void test2() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelMatchFilterPtr filter(new LevelMatchFilter());
- filter->setLevelToMatch(LOG4CXX_STR("info"));
- filter->setAcceptOnMatch(false);
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
- }
+ /**
+ * Check that LevelMatchFilter.decide() returns Filter.DENY
+ * when level matches and acceptOnMatch = false.
+ */
+ void test2()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelMatchFilterPtr filter(new LevelMatchFilter());
+ filter->setLevelToMatch(LOG4CXX_STR("info"));
+ filter->setAcceptOnMatch(false);
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
+ }
- /**
- * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL
- * when levelToMatch is unspecified.
- */
- void test3() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelMatchFilterPtr filter(new LevelMatchFilter());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL
+ * when levelToMatch is unspecified.
+ */
+ void test3()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelMatchFilterPtr filter(new LevelMatchFilter());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
- /**
- * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL
- * when event level is higher than level to match.
- */
- void test4() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelMatchFilterPtr filter(new LevelMatchFilter());
- filter->setLevelToMatch(LOG4CXX_STR("debug"));
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL
+ * when event level is higher than level to match.
+ */
+ void test4()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelMatchFilterPtr filter(new LevelMatchFilter());
+ filter->setLevelToMatch(LOG4CXX_STR("debug"));
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
- /**
- * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL
- * when event level is lower than level to match.
- */
- void test5() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelMatchFilterPtr filter(new LevelMatchFilter());
- filter->setLevelToMatch(LOG4CXX_STR("warn"));
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that LevelMatchFilter.decide() returns Filter.NEUTRAL
+ * when event level is lower than level to match.
+ */
+ void test5()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.LevelMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelMatchFilterPtr filter(new LevelMatchFilter());
+ filter->setLevelToMatch(LOG4CXX_STR("warn"));
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(LevelMatchFilterTest);
diff --git a/src/test/cpp/filter/levelrangefiltertest.cpp b/src/test/cpp/filter/levelrangefiltertest.cpp
index a5c413f..f0971f6 100644
--- a/src/test/cpp/filter/levelrangefiltertest.cpp
+++ b/src/test/cpp/filter/levelrangefiltertest.cpp
@@ -22,127 +22,134 @@
using namespace log4cxx;
using namespace log4cxx::filter;
-using namespace log4cxx::spi;
+using namespace log4cxx::spi;
using namespace log4cxx::helpers;
/**
* Unit tests for LevelRangeFilter.
*/
-LOGUNIT_CLASS(LevelRangeFilterTest) {
- LOGUNIT_TEST_SUITE(LevelRangeFilterTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST_SUITE_END();
-
+LOGUNIT_CLASS(LevelRangeFilterTest)
+{
+ LOGUNIT_TEST_SUITE(LevelRangeFilterTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST_SUITE_END();
+
public:
- /**
- * Check that LevelRangefilter->decide() returns Filter::DENY
- * when event level is below min level.
- */
- void test1() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelRangeFilterPtr filter(new LevelRangeFilter());
- filter->setLevelMin(Level::getWarn());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
- }
+ /**
+ * Check that LevelRangefilter->decide() returns Filter::DENY
+ * when event level is below min level.
+ */
+ void test1()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelRangeFilterPtr filter(new LevelRangeFilter());
+ filter->setLevelMin(Level::getWarn());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
+ }
- /**
- * Check that LevelRangefilter->decide() returns Filter::DENY
- * when event level is above max level.
- */
- void test2() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelRangeFilterPtr filter(new LevelRangeFilter());
- filter->setLevelMax(Level::getDebug());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
- }
+ /**
+ * Check that LevelRangefilter->decide() returns Filter::DENY
+ * when event level is above max level.
+ */
+ void test2()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelRangeFilterPtr filter(new LevelRangeFilter());
+ filter->setLevelMax(Level::getDebug());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
+ }
- /**
- * Check that LevelRangefilter->decide() returns Filter::ACCEPT
- * when event level is above min level.
- */
- void test3() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelRangeFilterPtr filter(new LevelRangeFilter());
- filter->setLevelMin(Level::getDebug());
- filter->setAcceptOnMatch(true);
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
- }
+ /**
+ * Check that LevelRangefilter->decide() returns Filter::ACCEPT
+ * when event level is above min level.
+ */
+ void test3()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelRangeFilterPtr filter(new LevelRangeFilter());
+ filter->setLevelMin(Level::getDebug());
+ filter->setAcceptOnMatch(true);
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ }
- /**
- * Check that LevelRangefilter->decide() returns Filter::ACCEPT
- * when event level is below max level.
- */
- void test4() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelRangeFilterPtr filter(new LevelRangeFilter());
- filter->setLevelMax(Level::getError());
- filter->setAcceptOnMatch(true);
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
- }
+ /**
+ * Check that LevelRangefilter->decide() returns Filter::ACCEPT
+ * when event level is below max level.
+ */
+ void test4()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelRangeFilterPtr filter(new LevelRangeFilter());
+ filter->setLevelMax(Level::getError());
+ filter->setAcceptOnMatch(true);
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ }
- /**
- * Check that LevelRangeFilter::decide() returns Filter::NEUTRAL
- * when event level is above min level and accept on match is false.
- */
- void test5() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelRangeFilterPtr filter(new LevelRangeFilter());
- filter->setLevelMin(Level::getDebug());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that LevelRangeFilter::decide() returns Filter::NEUTRAL
+ * when event level is above min level and accept on match is false.
+ */
+ void test5()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelRangeFilterPtr filter(new LevelRangeFilter());
+ filter->setLevelMin(Level::getDebug());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
- /**
- * Check that LevelRangeFilter::decide() returns Filter::NEUTRAL
- * when event level is below max level and accept on match is false.
- */
- void test6() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LevelRangeFilterPtr filter(new LevelRangeFilter());
- filter->setLevelMax(Level::getError());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that LevelRangeFilter::decide() returns Filter::NEUTRAL
+ * when event level is below max level and accept on match is false.
+ */
+ void test6()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.Filter::LevelRangeFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LevelRangeFilterPtr filter(new LevelRangeFilter());
+ filter->setLevelMax(Level::getError());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(LevelRangeFilterTest);
diff --git a/src/test/cpp/filter/loggermatchfiltertest.cpp b/src/test/cpp/filter/loggermatchfiltertest.cpp
index 03d7768..88adb06 100644
--- a/src/test/cpp/filter/loggermatchfiltertest.cpp
+++ b/src/test/cpp/filter/loggermatchfiltertest.cpp
@@ -22,87 +22,92 @@
using namespace log4cxx;
using namespace log4cxx::filter;
-using namespace log4cxx::spi;
+using namespace log4cxx::spi;
using namespace log4cxx::helpers;
/**
* Unit tests for LoggerMatchFilter.
*/
-LOGUNIT_CLASS(LoggerMatchFilterTest) {
- LOGUNIT_TEST_SUITE(LoggerMatchFilterTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST_SUITE_END();
-
+LOGUNIT_CLASS(LoggerMatchFilterTest)
+{
+ LOGUNIT_TEST_SUITE(LoggerMatchFilterTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST_SUITE_END();
+
public:
- /**
- * Check that LoggerMatchFilter::decide() with unspecified level
- * returns Filter::ACCEPT for root logger.
- */
- void test1() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("root"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- FilterPtr filter(new LoggerMatchFilter());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
- }
+ /**
+ * Check that LoggerMatchFilter::decide() with unspecified level
+ * returns Filter::ACCEPT for root logger.
+ */
+ void test1()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("root"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ FilterPtr filter(new LoggerMatchFilter());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ }
- /**
- * Check that LoggerMatchFilter::decide() with unspecified level
- * returns Filter::DENY for root logger when accept on match is false.
- */
- void test2() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("root"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LoggerMatchFilterPtr filter(new LoggerMatchFilter());
- filter->setAcceptOnMatch(false);
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
- }
+ /**
+ * Check that LoggerMatchFilter::decide() with unspecified level
+ * returns Filter::DENY for root logger when accept on match is false.
+ */
+ void test2()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("root"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LoggerMatchFilterPtr filter(new LoggerMatchFilter());
+ filter->setAcceptOnMatch(false);
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
+ }
- /**
- * Check that LoggerMatchFilter::decide() with unspecified level
- * returns Filter::NEUTRAL for non-root logger.
- */
- void test3() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.LoggerMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- FilterPtr filter(new LoggerMatchFilter());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that LoggerMatchFilter::decide() with unspecified level
+ * returns Filter::NEUTRAL for non-root logger.
+ */
+ void test3()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.LoggerMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ FilterPtr filter(new LoggerMatchFilter());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
- /**
- * Check that LoggerMatchFilter::decide()
- * returns Filter::ACCEPT for matching logger.
- */
- void test4() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.LoggerMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- LoggerMatchFilterPtr filter(new LoggerMatchFilter());
- filter->setLoggerToMatch(LOG4CXX_STR("org.apache.log4j.filter.LoggerMatchFilterTest"));
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
- }
+ /**
+ * Check that LoggerMatchFilter::decide()
+ * returns Filter::ACCEPT for matching logger.
+ */
+ void test4()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.LoggerMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ LoggerMatchFilterPtr filter(new LoggerMatchFilter());
+ filter->setLoggerToMatch(LOG4CXX_STR("org.apache.log4j.filter.LoggerMatchFilterTest"));
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ }
};
diff --git a/src/test/cpp/filter/stringmatchfiltertest.cpp b/src/test/cpp/filter/stringmatchfiltertest.cpp
index e3a81f5..131d0ed 100644
--- a/src/test/cpp/filter/stringmatchfiltertest.cpp
+++ b/src/test/cpp/filter/stringmatchfiltertest.cpp
@@ -22,108 +22,114 @@
using namespace log4cxx;
using namespace log4cxx::filter;
-using namespace log4cxx::spi;
+using namespace log4cxx::spi;
using namespace log4cxx::helpers;
/**
* Unit tests for StringMatchFilter.
*/
-LOGUNIT_CLASS(StringMatchFilterTest) {
- LOGUNIT_TEST_SUITE(StringMatchFilterTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST_SUITE_END();
-
+LOGUNIT_CLASS(StringMatchFilterTest)
+{
+ LOGUNIT_TEST_SUITE(StringMatchFilterTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST_SUITE_END();
+
public:
- /**
- * Check that StringMatchFilter.decide() returns Filter.NEUTRAL
- * when string to match is unspecified.
- */
- void test1() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- FilterPtr filter(new StringMatchFilter());
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that StringMatchFilter.decide() returns Filter.NEUTRAL
+ * when string to match is unspecified.
+ */
+ void test1()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ FilterPtr filter(new StringMatchFilter());
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
- /**
- * Check that StringMatchFilter.decide() returns Filter.NEUTRAL
- * when string to match does not appear in message.
- */
- void test2() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- StringMatchFilterPtr filter(new StringMatchFilter());
- filter->setStringToMatch(LOG4CXX_STR("Monde"));
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that StringMatchFilter.decide() returns Filter.NEUTRAL
+ * when string to match does not appear in message.
+ */
+ void test2()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ StringMatchFilterPtr filter(new StringMatchFilter());
+ filter->setStringToMatch(LOG4CXX_STR("Monde"));
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
- /**
- * Check that StringMatchFilter.decide() returns Filter.ACCEPT
- * when string to match does appear in message.
- */
- void test3() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- StringMatchFilterPtr filter(new StringMatchFilter());
- filter->setStringToMatch(LOG4CXX_STR("World"));
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
- }
+ /**
+ * Check that StringMatchFilter.decide() returns Filter.ACCEPT
+ * when string to match does appear in message.
+ */
+ void test3()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ StringMatchFilterPtr filter(new StringMatchFilter());
+ filter->setStringToMatch(LOG4CXX_STR("World"));
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ }
- /**
- * Check that StringMatchFilter.decide() returns Filter.DENY
- * when string to match does appear in message and
- * accept on match is false.
- */
- void test4() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- StringMatchFilterPtr filter(new StringMatchFilter());
- filter->setStringToMatch(LOG4CXX_STR("World"));
- filter->setAcceptOnMatch(false);
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
- }
+ /**
+ * Check that StringMatchFilter.decide() returns Filter.DENY
+ * when string to match does appear in message and
+ * accept on match is false.
+ */
+ void test4()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ StringMatchFilterPtr filter(new StringMatchFilter());
+ filter->setStringToMatch(LOG4CXX_STR("World"));
+ filter->setAcceptOnMatch(false);
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
+ }
- /**
- * Check that StringMatchFilter.decide() returns Filter.NEUTRAL
- * when string to match does appear in message but differs in case.
- */
- void test5() {
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
- Level::getInfo(),
- LOG4CXX_STR("Hello, World"),
- LOG4CXX_LOCATION));
- StringMatchFilterPtr filter(new StringMatchFilter());
- filter->setStringToMatch(LOG4CXX_STR("world"));
- Pool p;
- filter->activateOptions(p);
- LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
- }
+ /**
+ * Check that StringMatchFilter.decide() returns Filter.NEUTRAL
+ * when string to match does appear in message but differs in case.
+ */
+ void test5()
+ {
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.apache.log4j.filter.StringMatchFilterTest"),
+ Level::getInfo(),
+ LOG4CXX_STR("Hello, World"),
+ LOG4CXX_LOCATION));
+ StringMatchFilterPtr filter(new StringMatchFilter());
+ filter->setStringToMatch(LOG4CXX_STR("world"));
+ Pool p;
+ filter->activateOptions(p);
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
+ }
};
diff --git a/src/test/cpp/helpers/absolutetimedateformattestcase.cpp b/src/test/cpp/helpers/absolutetimedateformattestcase.cpp
index 8f19117..d88b0a5 100644
--- a/src/test/cpp/helpers/absolutetimedateformattestcase.cpp
+++ b/src/test/cpp/helpers/absolutetimedateformattestcase.cpp
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#include "../logunit.h"
+#include "../logunit.h"
#include <log4cxx/logstring.h>
#include <log4cxx/helpers/absolutetimedateformat.h>
#include "../insertwide.h"
@@ -24,7 +24,7 @@
//Define INT64_C for compilers that don't have it
#if (!defined(INT64_C))
-#define INT64_C(value) value ## LL
+ #define INT64_C(value) value ## LL
#endif
@@ -35,143 +35,153 @@
/**
Unit test {@link AbsoluteTimeDateFormat}.
-
- */
-LOGUNIT_CLASS(AbsoluteTimeDateFormatTestCase) {
- LOGUNIT_TEST_SUITE(AbsoluteTimeDateFormatTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST(test7);
- LOGUNIT_TEST(test8);
- LOGUNIT_TEST_SUITE_END();
- public:
-
- /**
- * Asserts that formatting the provided date results
- * in the expected string.
- *
- * @param date Date date
- * @param timeZone TimeZone timezone for conversion
- * @param expected String expected string
*/
- private:
- void assertFormattedTime(apr_time_t date,
- const TimeZonePtr& timeZone,
- const LogString& expected) {
- AbsoluteTimeDateFormat formatter;
- formatter.setTimeZone(timeZone);
- LogString actual;
- Pool p;
- formatter.format(actual, date, p);
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+LOGUNIT_CLASS(AbsoluteTimeDateFormatTestCase)
+{
+ LOGUNIT_TEST_SUITE(AbsoluteTimeDateFormatTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST(test7);
+ LOGUNIT_TEST(test8);
+ LOGUNIT_TEST_SUITE_END();
+
+public:
+
+ /**
+ * Asserts that formatting the provided date results
+ * in the expected string.
+ *
+ * @param date Date date
+ * @param timeZone TimeZone timezone for conversion
+ * @param expected String expected string
+ */
+private:
+ void assertFormattedTime(apr_time_t date,
+ const TimeZonePtr & timeZone,
+ const LogString & expected)
+ {
+ AbsoluteTimeDateFormat formatter;
+ formatter.setTimeZone(timeZone);
+ LogString actual;
+ Pool p;
+ formatter.format(actual, date, p);
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
#define MICROSECONDS_PER_DAY APR_INT64_C(86400000000)
- public:
- /**
- * Convert 02 Jan 2004 00:00:00 GMT for GMT.
- */
- void test1() {
- //
- // 02 Jan 2004 00:00 GMT
- //
- apr_time_t jan2 = MICROSECONDS_PER_DAY * 12419;
- assertFormattedTime(jan2, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
- }
+public:
+ /**
+ * Convert 02 Jan 2004 00:00:00 GMT for GMT.
+ */
+ void test1()
+ {
+ //
+ // 02 Jan 2004 00:00 GMT
+ //
+ apr_time_t jan2 = MICROSECONDS_PER_DAY * 12419;
+ assertFormattedTime(jan2, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
+ }
- /**
- * Convert 03 Jan 2004 00:00:00 GMT for America/Chicago.
- */
- void test2() {
- //
- // 03 Jan 2004 00:00 GMT
- // (asking for the same time at a different timezone
- // will ignore the change of timezone)
- apr_time_t jan2 = MICROSECONDS_PER_DAY * 12420;
- assertFormattedTime(jan2, TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")), LOG4CXX_STR("18:00:00,000"));
- }
+ /**
+ * Convert 03 Jan 2004 00:00:00 GMT for America/Chicago.
+ */
+ void test2()
+ {
+ //
+ // 03 Jan 2004 00:00 GMT
+ // (asking for the same time at a different timezone
+ // will ignore the change of timezone)
+ apr_time_t jan2 = MICROSECONDS_PER_DAY * 12420;
+ assertFormattedTime(jan2, TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")), LOG4CXX_STR("18:00:00,000"));
+ }
- /**
- * Convert 29 Jun 2004 00:00:00 GMT for GMT.
- */
- void test3() {
- apr_time_t jun29 = MICROSECONDS_PER_DAY * 12599;
- assertFormattedTime(jun29, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
- }
+ /**
+ * Convert 29 Jun 2004 00:00:00 GMT for GMT.
+ */
+ void test3()
+ {
+ apr_time_t jun29 = MICROSECONDS_PER_DAY * 12599;
+ assertFormattedTime(jun29, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
+ }
- /**
- * Convert 29 Jun 2004 00:00:00 GMT for Chicago, daylight savings in effect.
- */
- void test4() {
- apr_time_t jun30 = MICROSECONDS_PER_DAY * 12600;
- //
- // log4cxx doesn't support non-fixed timezones at this time
- // passing the fixed equivalent to Chicago's Daylight Savings Time
- //
- assertFormattedTime(jun30, TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")), LOG4CXX_STR("19:00:00,000"));
- }
+ /**
+ * Convert 29 Jun 2004 00:00:00 GMT for Chicago, daylight savings in effect.
+ */
+ void test4()
+ {
+ apr_time_t jun30 = MICROSECONDS_PER_DAY * 12600;
+ //
+ // log4cxx doesn't support non-fixed timezones at this time
+ // passing the fixed equivalent to Chicago's Daylight Savings Time
+ //
+ assertFormattedTime(jun30, TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")), LOG4CXX_STR("19:00:00,000"));
+ }
- /**
- * Test multiple calls in close intervals.
- */
- void test5() {
- // subsequent calls within one minute
- // are optimized to reuse previous formatted value
- // make a couple of nearly spaced calls
- apr_time_t ticks = MICROSECONDS_PER_DAY * 12601;
- assertFormattedTime(ticks, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
- assertFormattedTime(ticks + 8000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,008"));
- assertFormattedTime(ticks + 17000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,017"));
- assertFormattedTime(ticks + 237000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,237"));
- assertFormattedTime(ticks + 1415000, TimeZone::getGMT(), LOG4CXX_STR("00:00:01,415"));
- }
+ /**
+ * Test multiple calls in close intervals.
+ */
+ void test5()
+ {
+ // subsequent calls within one minute
+ // are optimized to reuse previous formatted value
+ // make a couple of nearly spaced calls
+ apr_time_t ticks = MICROSECONDS_PER_DAY * 12601;
+ assertFormattedTime(ticks, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
+ assertFormattedTime(ticks + 8000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,008"));
+ assertFormattedTime(ticks + 17000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,017"));
+ assertFormattedTime(ticks + 237000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,237"));
+ assertFormattedTime(ticks + 1415000, TimeZone::getGMT(), LOG4CXX_STR("00:00:01,415"));
+ }
- /**
- * Check that caching does not disregard timezone.
- * This test would fail for revision 1.4 of AbsoluteTimeDateFormat.java.
- */
- void test6() {
- apr_time_t jul2 = MICROSECONDS_PER_DAY * 12602;
- assertFormattedTime(jul2, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
- assertFormattedTime(jul2, TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")), LOG4CXX_STR("19:00:00,000"));
- }
+ /**
+ * Check that caching does not disregard timezone.
+ * This test would fail for revision 1.4 of AbsoluteTimeDateFormat.java.
+ */
+ void test6()
+ {
+ apr_time_t jul2 = MICROSECONDS_PER_DAY * 12602;
+ assertFormattedTime(jul2, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
+ assertFormattedTime(jul2, TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")), LOG4CXX_STR("19:00:00,000"));
+ }
- /**
- * Test multiple calls in close intervals predating 1 Jan 1970.
- */
- void test7() {
- // subsequent calls within one minute
- // are optimized to reuse previous formatted value
- // make a couple of nearly spaced calls
- apr_time_t ticks = MICROSECONDS_PER_DAY * -7;
- assertFormattedTime(ticks, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
+ /**
+ * Test multiple calls in close intervals predating 1 Jan 1970.
+ */
+ void test7()
+ {
+ // subsequent calls within one minute
+ // are optimized to reuse previous formatted value
+ // make a couple of nearly spaced calls
+ apr_time_t ticks = MICROSECONDS_PER_DAY * -7;
+ assertFormattedTime(ticks, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,000"));
#if defined(_WIN32)
- //
- // These tests fail on Unix due to bug in APR's explode_time
- //
-// assertFormattedTime(ticks + 8000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,008"));
-// assertFormattedTime(ticks + 17000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,017"));
-// assertFormattedTime(ticks + 237000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,237"));
-// assertFormattedTime(ticks + 1415000, TimeZone::getGMT(), LOG4CXX_STR("00:00:01,415"));
+ //
+ // These tests fail on Unix due to bug in APR's explode_time
+ //
+ // assertFormattedTime(ticks + 8000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,008"));
+ // assertFormattedTime(ticks + 17000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,017"));
+ // assertFormattedTime(ticks + 237000, TimeZone::getGMT(), LOG4CXX_STR("00:00:00,237"));
+ // assertFormattedTime(ticks + 1415000, TimeZone::getGMT(), LOG4CXX_STR("00:00:01,415"));
#endif
- }
+ }
- /**
- * Checks that numberFormat works as expected.
- */
- void test8() {
- Pool p;
- LogString numb;
- AbsoluteTimeDateFormat formatter;
- formatter.numberFormat(numb, 87, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("87"), numb);
- }
+ /**
+ * Checks that numberFormat works as expected.
+ */
+ void test8()
+ {
+ Pool p;
+ LogString numb;
+ AbsoluteTimeDateFormat formatter;
+ formatter.numberFormat(numb, 87, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("87"), numb);
+ }
};
diff --git a/src/test/cpp/helpers/cacheddateformattestcase.cpp b/src/test/cpp/helpers/cacheddateformattestcase.cpp
index 74d180e..d29ff51 100644
--- a/src/test/cpp/helpers/cacheddateformattestcase.cpp
+++ b/src/test/cpp/helpers/cacheddateformattestcase.cpp
@@ -33,15 +33,15 @@
#define LOCALE_US "C"
#if defined(_WIN32)
-#define LOCALE_JP "Japanese_japan"
+ #define LOCALE_JP "Japanese_japan"
#else
-#define LOCALE_JP "ja_JP"
+ #define LOCALE_JP "ja_JP"
#endif
//Define INT64_C for compilers that don't have it
#if (!defined(INT64_C))
-#define INT64_C(value) value ##LL
+ #define INT64_C(value) value ##LL
#endif
#define LOG4CXX_TEST 1
@@ -52,625 +52,649 @@
* Unit test {@link CachedDateFormat}.
*/
LOGUNIT_CLASS(CachedDateFormatTestCase)
- {
- LOGUNIT_TEST_SUITE( CachedDateFormatTestCase );
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
+{
+ LOGUNIT_TEST_SUITE( CachedDateFormatTestCase );
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
#if LOG4CXX_HAS_STD_LOCALE
- LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test5);
#endif
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST(test8);
-// Gump doesn't like this test
-// LOGUNIT_TEST(test9);
- LOGUNIT_TEST(test10);
- LOGUNIT_TEST(test11);
- LOGUNIT_TEST(test12);
- LOGUNIT_TEST(test13);
- LOGUNIT_TEST(test14);
- LOGUNIT_TEST(test15);
- LOGUNIT_TEST(test16);
- LOGUNIT_TEST(test17);
- LOGUNIT_TEST(test18);
- LOGUNIT_TEST(test19);
- LOGUNIT_TEST(test20);
- LOGUNIT_TEST(test21);
- LOGUNIT_TEST(test22);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST(test8);
+ // Gump doesn't like this test
+ // LOGUNIT_TEST(test9);
+ LOGUNIT_TEST(test10);
+ LOGUNIT_TEST(test11);
+ LOGUNIT_TEST(test12);
+ LOGUNIT_TEST(test13);
+ LOGUNIT_TEST(test14);
+ LOGUNIT_TEST(test15);
+ LOGUNIT_TEST(test16);
+ LOGUNIT_TEST(test17);
+ LOGUNIT_TEST(test18);
+ LOGUNIT_TEST(test19);
+ LOGUNIT_TEST(test20);
+ LOGUNIT_TEST(test21);
+ LOGUNIT_TEST(test22);
+ LOGUNIT_TEST_SUITE_END();
#define MICROSECONDS_PER_DAY APR_INT64_C(86400000000)
- public:
+public:
- /**
- * Test multiple calls in close intervals.
- */
- void test1() {
- // subsequent calls within one minute
- // are optimized to reuse previous formatted value
- // make a couple of nearly spaced calls
- DateFormatPtr baseFormatter(new AbsoluteTimeDateFormat());
- CachedDateFormat gmtFormat(baseFormatter, 1000000);
- gmtFormat.setTimeZone(TimeZone::getGMT());
+ /**
+ * Test multiple calls in close intervals.
+ */
+ void test1()
+ {
+ // subsequent calls within one minute
+ // are optimized to reuse previous formatted value
+ // make a couple of nearly spaced calls
+ DateFormatPtr baseFormatter(new AbsoluteTimeDateFormat());
+ CachedDateFormat gmtFormat(baseFormatter, 1000000);
+ gmtFormat.setTimeZone(TimeZone::getGMT());
- apr_time_t jul1 = MICROSECONDS_PER_DAY * 12601L;
- Pool p;
+ apr_time_t jul1 = MICROSECONDS_PER_DAY * 12601L;
+ Pool p;
- LogString actual;
+ LogString actual;
- gmtFormat.format(actual, jul1, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000"), actual);
- actual.erase(actual.begin(), actual.end());
+ gmtFormat.format(actual, jul1, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000"), actual);
+ actual.erase(actual.begin(), actual.end());
- gmtFormat.format(actual, jul1 + 8000, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,008"), actual);
- actual.erase(actual.begin(), actual.end());
+ gmtFormat.format(actual, jul1 + 8000, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,008"), actual);
+ actual.erase(actual.begin(), actual.end());
- gmtFormat.format(actual, jul1 + 17000, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,017"), actual);
- actual.erase(actual.begin(), actual.end());
+ gmtFormat.format(actual, jul1 + 17000, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,017"), actual);
+ actual.erase(actual.begin(), actual.end());
- gmtFormat.format(actual, jul1 + 237000, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,237"), actual);
- actual.erase(actual.begin(), actual.end());
+ gmtFormat.format(actual, jul1 + 237000, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,237"), actual);
+ actual.erase(actual.begin(), actual.end());
- gmtFormat.format(actual, jul1 + 1415000, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:01,415"), actual);
- actual.erase(actual.begin(), actual.end());
+ gmtFormat.format(actual, jul1 + 1415000, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:01,415"), actual);
+ actual.erase(actual.begin(), actual.end());
- }
+ }
- /**
- * Check for interaction between caches.
- */
+ /**
+ * Check for interaction between caches.
+ */
- void test2() {
- apr_time_t jul2 = MICROSECONDS_PER_DAY * 12602;
- DateFormatPtr baseFormatter(new AbsoluteTimeDateFormat());
- CachedDateFormat gmtFormat(baseFormatter, 1000000);
- gmtFormat.setTimeZone(TimeZone::getGMT());
+ void test2()
+ {
+ apr_time_t jul2 = MICROSECONDS_PER_DAY * 12602;
+ DateFormatPtr baseFormatter(new AbsoluteTimeDateFormat());
+ CachedDateFormat gmtFormat(baseFormatter, 1000000);
+ gmtFormat.setTimeZone(TimeZone::getGMT());
- DateFormatPtr chicagoBase(new AbsoluteTimeDateFormat());
- CachedDateFormat chicagoFormat(chicagoBase, 1000000);
- chicagoFormat.setTimeZone(TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")));
+ DateFormatPtr chicagoBase(new AbsoluteTimeDateFormat());
+ CachedDateFormat chicagoFormat(chicagoBase, 1000000);
+ chicagoFormat.setTimeZone(TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")));
- Pool p;
- LogString actual;
- gmtFormat.format(actual, jul2, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000"), actual);
+ Pool p;
+ LogString actual;
+ gmtFormat.format(actual, jul2, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000"), actual);
- actual.erase(actual.begin(), actual.end());
- chicagoFormat.format(actual, jul2, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("19:00:00,000"), actual);
+ actual.erase(actual.begin(), actual.end());
+ chicagoFormat.format(actual, jul2, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("19:00:00,000"), actual);
- actual.erase(actual.begin(), actual.end());
- gmtFormat.format(actual, jul2, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000"), actual);
- }
+ actual.erase(actual.begin(), actual.end());
+ gmtFormat.format(actual, jul2, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000"), actual);
+ }
- /**
- * Test multiple calls in close intervals prior to 1 Jan 1970.
- */
- void test3() {
- // subsequent calls within one minute
- // are optimized to reuse previous formatted value
- // make a couple of nearly spaced calls
- DateFormatPtr baseFormatter(new AbsoluteTimeDateFormat());
- CachedDateFormat gmtFormat(baseFormatter, 1000000);
- gmtFormat.setTimeZone(TimeZone::getGMT());
+ /**
+ * Test multiple calls in close intervals prior to 1 Jan 1970.
+ */
+ void test3()
+ {
+ // subsequent calls within one minute
+ // are optimized to reuse previous formatted value
+ // make a couple of nearly spaced calls
+ DateFormatPtr baseFormatter(new AbsoluteTimeDateFormat());
+ CachedDateFormat gmtFormat(baseFormatter, 1000000);
+ gmtFormat.setTimeZone(TimeZone::getGMT());
- apr_time_t ticks = MICROSECONDS_PER_DAY * -7;
+ apr_time_t ticks = MICROSECONDS_PER_DAY * -7;
- Pool p;
+ Pool p;
- LogString actual;
+ LogString actual;
- gmtFormat.format(actual, ticks, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000"), actual);
- actual.erase(actual.begin(), actual.end());
+ gmtFormat.format(actual, ticks, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000"), actual);
+ actual.erase(actual.begin(), actual.end());
- //
- // APR's explode_time method does not properly calculate tm_usec
- // prior to 1 Jan 1970 on Unix
- gmtFormat.format(actual, ticks + 8000, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,008"), actual);
- actual.erase(actual.begin(), actual.end());
+ //
+ // APR's explode_time method does not properly calculate tm_usec
+ // prior to 1 Jan 1970 on Unix
+ gmtFormat.format(actual, ticks + 8000, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,008"), actual);
+ actual.erase(actual.begin(), actual.end());
- gmtFormat.format(actual, ticks + 17000, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,017"), actual);
- actual.erase(actual.begin(), actual.end());
+ gmtFormat.format(actual, ticks + 17000, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,017"), actual);
+ actual.erase(actual.begin(), actual.end());
- gmtFormat.format(actual, ticks + 237000, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,237"), actual);
- actual.erase(actual.begin(), actual.end());
+ gmtFormat.format(actual, ticks + 237000, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,237"), actual);
+ actual.erase(actual.begin(), actual.end());
- gmtFormat.format(actual, ticks + 1423000, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:01,423"), actual);
- }
+ gmtFormat.format(actual, ticks + 1423000, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:01,423"), actual);
+ }
- void assertFormattedEquals(
- const DateFormatPtr& baseFormat,
- const CachedDateFormat& cachedFormat,
- apr_time_t date,
- Pool& p) {
- LogString expected;
- LogString actual;
+ void assertFormattedEquals(
+ const DateFormatPtr & baseFormat,
+ const CachedDateFormat & cachedFormat,
+ apr_time_t date,
+ Pool & p)
+ {
+ LogString expected;
+ LogString actual;
- baseFormat->format(expected, date, p);
- cachedFormat.format(actual, date, p);
+ baseFormat->format(expected, date, p);
+ cachedFormat.format(actual, date, p);
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
- void test4() {
- // subsequent calls within one minute
- // are optimized to reuse previous formatted value
- // make a couple of nearly spaced calls
+ void test4()
+ {
+ // subsequent calls within one minute
+ // are optimized to reuse previous formatted value
+ // make a couple of nearly spaced calls
#if LOG4CXX_HAS_STD_LOCALE
- std::locale loco(LOCALE_US);
- std::locale* localeEN = &loco;
+ std::locale loco(LOCALE_US);
+ std::locale* localeEN = &loco;
#else
- std::locale* localeEN = NULL;
+ std::locale* localeEN = NULL;
#endif
- DateFormatPtr baseFormat(
- new SimpleDateFormat(LOG4CXX_STR("EEE, MMM dd, HH:mm:ss.SSS Z"), localeEN));
- CachedDateFormat cachedFormat(baseFormat, 1000000);
- //
- // use a date in 2000 to attempt to confuse the millisecond locator
- apr_time_t ticks = MICROSECONDS_PER_DAY * 11141;
+ DateFormatPtr baseFormat(
+ new SimpleDateFormat(LOG4CXX_STR("EEE, MMM dd, HH:mm:ss.SSS Z"), localeEN));
+ CachedDateFormat cachedFormat(baseFormat, 1000000);
+ //
+ // use a date in 2000 to attempt to confuse the millisecond locator
+ apr_time_t ticks = MICROSECONDS_PER_DAY * 11141;
- Pool p;
+ Pool p;
- assertFormattedEquals(baseFormat, cachedFormat, ticks, p);
- assertFormattedEquals(baseFormat, cachedFormat, ticks + 8000, p);
- assertFormattedEquals(baseFormat, cachedFormat, ticks + 17000, p);
- assertFormattedEquals(baseFormat, cachedFormat, ticks + 237000, p);
- assertFormattedEquals(baseFormat, cachedFormat, ticks + 1415000, p);
- }
+ assertFormattedEquals(baseFormat, cachedFormat, ticks, p);
+ assertFormattedEquals(baseFormat, cachedFormat, ticks + 8000, p);
+ assertFormattedEquals(baseFormat, cachedFormat, ticks + 17000, p);
+ assertFormattedEquals(baseFormat, cachedFormat, ticks + 237000, p);
+ assertFormattedEquals(baseFormat, cachedFormat, ticks + 1415000, p);
+ }
#if LOG4CXX_HAS_STD_LOCALE
- void test5() {
- // subsequent calls within one minute
- // are optimized to reuse previous formatted value
- // make a couple of nearly spaced calls
- LocaleChanger localeChange(LOCALE_JP);
- if (localeChange.isEffective()) {
- DateFormatPtr baseFormat(new SimpleDateFormat(
- LOG4CXX_STR("EEE, MMM dd, HH:mm:ss.SSS Z")));
- CachedDateFormat cachedFormat(baseFormat, 1000000);
- //
- // use a date in 2000 to attempt to confuse the millisecond locator
- apr_time_t ticks = MICROSECONDS_PER_DAY * 11141;
+ void test5()
+ {
+ // subsequent calls within one minute
+ // are optimized to reuse previous formatted value
+ // make a couple of nearly spaced calls
+ LocaleChanger localeChange(LOCALE_JP);
- Pool p;
+ if (localeChange.isEffective())
+ {
+ DateFormatPtr baseFormat(new SimpleDateFormat(
+ LOG4CXX_STR("EEE, MMM dd, HH:mm:ss.SSS Z")));
+ CachedDateFormat cachedFormat(baseFormat, 1000000);
+ //
+ // use a date in 2000 to attempt to confuse the millisecond locator
+ apr_time_t ticks = MICROSECONDS_PER_DAY * 11141;
- assertFormattedEquals(baseFormat, cachedFormat, ticks, p);
- assertFormattedEquals(baseFormat, cachedFormat, ticks + 8000, p);
- assertFormattedEquals(baseFormat, cachedFormat, ticks + 17000, p);
- assertFormattedEquals(baseFormat, cachedFormat, ticks + 237000, p);
- assertFormattedEquals(baseFormat, cachedFormat, ticks + 1415000, p);
- }
- }
+ Pool p;
+
+ assertFormattedEquals(baseFormat, cachedFormat, ticks, p);
+ assertFormattedEquals(baseFormat, cachedFormat, ticks + 8000, p);
+ assertFormattedEquals(baseFormat, cachedFormat, ticks + 17000, p);
+ assertFormattedEquals(baseFormat, cachedFormat, ticks + 237000, p);
+ assertFormattedEquals(baseFormat, cachedFormat, ticks + 1415000, p);
+ }
+ }
#endif
- /**
- * Checks that numberFormat works as expected.
- */
- void test6() {
- LogString numb;
- Pool p;
- AbsoluteTimeDateFormat formatter;
- formatter.numberFormat(numb, 87, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("87"), numb);
- }
+ /**
+ * Checks that numberFormat works as expected.
+ */
+ void test6()
+ {
+ LogString numb;
+ Pool p;
+ AbsoluteTimeDateFormat formatter;
+ formatter.numberFormat(numb, 87, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("87"), numb);
+ }
- /**
- * Set time zone on cached and check that it is effective.
- */
- void test8() {
- DateFormatPtr baseFormat(new SimpleDateFormat(LOG4CXX_STR("yyyy-MM-dd HH:mm:ss,SSS")));
- baseFormat->setTimeZone(TimeZone::getGMT());
- CachedDateFormat cachedFormat(baseFormat, 1000000);
- apr_time_t jul4 = MICROSECONDS_PER_DAY * 12603;
+ /**
+ * Set time zone on cached and check that it is effective.
+ */
+ void test8()
+ {
+ DateFormatPtr baseFormat(new SimpleDateFormat(LOG4CXX_STR("yyyy-MM-dd HH:mm:ss,SSS")));
+ baseFormat->setTimeZone(TimeZone::getGMT());
+ CachedDateFormat cachedFormat(baseFormat, 1000000);
+ apr_time_t jul4 = MICROSECONDS_PER_DAY * 12603;
- Pool p;
+ Pool p;
- LogString actual;
- cachedFormat.format(actual, jul4, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("2004-07-04 00:00:00,000"), actual);
+ LogString actual;
+ cachedFormat.format(actual, jul4, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("2004-07-04 00:00:00,000"), actual);
- cachedFormat.setTimeZone(TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")));
- actual.erase(actual.begin(), actual.end());
- cachedFormat.format(actual, jul4, p);
+ cachedFormat.setTimeZone(TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")));
+ actual.erase(actual.begin(), actual.end());
+ cachedFormat.format(actual, jul4, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("2004-07-03 18:00:00,000"), actual);
- }
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("2004-07-03 18:00:00,000"), actual);
+ }
-/**
- * Test of caching when less than three millisecond digits are specified.
- */
-void test9() {
- std::locale localeUS(LOCALE_US);
+ /**
+ * Test of caching when less than three millisecond digits are specified.
+ */
+ void test9()
+ {
+ std::locale localeUS(LOCALE_US);
- DateFormatPtr baseFormat = new SimpleDateFormat(
- LOG4CXX_STR("yyyy-MMMM-dd HH:mm:ss,SS Z"), &localeUS);
- DateFormatPtr cachedFormat = new CachedDateFormat(baseFormat, 1000000);
- TimeZonePtr cet = TimeZone::getTimeZone(LOG4CXX_STR("GMT+1"));
- cachedFormat->setTimeZone(cet);
+ DateFormatPtr baseFormat = new SimpleDateFormat(
+ LOG4CXX_STR("yyyy-MMMM-dd HH:mm:ss,SS Z"), &localeUS);
+ DateFormatPtr cachedFormat = new CachedDateFormat(baseFormat, 1000000);
+ TimeZonePtr cet = TimeZone::getTimeZone(LOG4CXX_STR("GMT+1"));
+ cachedFormat->setTimeZone(cet);
- apr_time_exp_t c;
- memset(&c, 0, sizeof(c));
- c.tm_year = 104;
- c.tm_mon = 11;
- c.tm_mday = 12;
- c.tm_hour = 19;
- c.tm_sec = 37;
- c.tm_usec = 23000;
+ apr_time_exp_t c;
+ memset(&c, 0, sizeof(c));
+ c.tm_year = 104;
+ c.tm_mon = 11;
+ c.tm_mday = 12;
+ c.tm_hour = 19;
+ c.tm_sec = 37;
+ c.tm_usec = 23000;
- apr_time_t dec12;
- apr_status_t stat = apr_time_exp_gmt_get(&dec12, &c);
- const apr_status_t statOK = 0;
- LOGUNIT_ASSERT_EQUAL(statOK, stat);
+ apr_time_t dec12;
+ apr_status_t stat = apr_time_exp_gmt_get(&dec12, &c);
+ const apr_status_t statOK = 0;
+ LOGUNIT_ASSERT_EQUAL(statOK, stat);
- Pool p;
+ Pool p;
- LogString s;
- cachedFormat->format(s, dec12, p);
+ LogString s;
+ cachedFormat->format(s, dec12, p);
- LOGUNIT_ASSERT_EQUAL(
- (LogString) LOG4CXX_STR("2004-December-12 20:00:37,23 +0100"), s);
+ LOGUNIT_ASSERT_EQUAL(
+ (LogString) LOG4CXX_STR("2004-December-12 20:00:37,23 +0100"), s);
- memset(&c, 0, sizeof(c));
- c.tm_year = 104;
- c.tm_mon = 11;
- c.tm_mday = 31;
- c.tm_hour = 23;
- c.tm_sec = 13;
- c.tm_usec = 905000;
+ memset(&c, 0, sizeof(c));
+ c.tm_year = 104;
+ c.tm_mon = 11;
+ c.tm_mday = 31;
+ c.tm_hour = 23;
+ c.tm_sec = 13;
+ c.tm_usec = 905000;
- apr_time_t jan1;
- stat = apr_time_exp_gmt_get(&jan1, &c);
- LOGUNIT_ASSERT_EQUAL(statOK, stat);
+ apr_time_t jan1;
+ stat = apr_time_exp_gmt_get(&jan1, &c);
+ LOGUNIT_ASSERT_EQUAL(statOK, stat);
- s.erase(s.begin(), s.end());
- cachedFormat->format(s, jan1, p);
+ s.erase(s.begin(), s.end());
+ cachedFormat->format(s, jan1, p);
- LOGUNIT_ASSERT_EQUAL(
- (LogString) LOG4CXX_STR("2005-January-01 00:00:13,905 +0100"), s);
-}
+ LOGUNIT_ASSERT_EQUAL(
+ (LogString) LOG4CXX_STR("2005-January-01 00:00:13,905 +0100"), s);
+ }
-/**
- * Test when millisecond position moves but length remains constant.
- */
-void test10() {
+ /**
+ * Test when millisecond position moves but length remains constant.
+ */
+ void test10()
+ {
#if LOG4CXX_HAS_STD_LOCALE
- std::locale loco("C");
- std::locale* localeUS = &loco;
+ std::locale loco("C");
+ std::locale* localeUS = &loco;
#else
- std::locale* localeUS = NULL;
+ std::locale* localeUS = NULL;
#endif
- DateFormatPtr baseFormat = new SimpleDateFormat(
- LOG4CXX_STR("MMMM SSS EEEEEE"), localeUS);
- DateFormatPtr cachedFormat = new CachedDateFormat(baseFormat, 1000000);
- TimeZonePtr cet = TimeZone::getTimeZone(LOG4CXX_STR("GMT+1"));
- cachedFormat->setTimeZone(cet);
+ DateFormatPtr baseFormat = new SimpleDateFormat(
+ LOG4CXX_STR("MMMM SSS EEEEEE"), localeUS);
+ DateFormatPtr cachedFormat = new CachedDateFormat(baseFormat, 1000000);
+ TimeZonePtr cet = TimeZone::getTimeZone(LOG4CXX_STR("GMT+1"));
+ cachedFormat->setTimeZone(cet);
- apr_time_exp_t c;
- memset(&c, 0, sizeof(c));
- c.tm_year = 104;
- c.tm_mon = 9;
- c.tm_mday = 5;
- c.tm_hour = 21;
- c.tm_sec = 37;
- c.tm_usec = 23000;
+ apr_time_exp_t c;
+ memset(&c, 0, sizeof(c));
+ c.tm_year = 104;
+ c.tm_mon = 9;
+ c.tm_mday = 5;
+ c.tm_hour = 21;
+ c.tm_sec = 37;
+ c.tm_usec = 23000;
- apr_time_t oct5;
- apr_status_t stat = apr_time_exp_gmt_get(&oct5, &c);
- const apr_status_t statOK = 0;
- LOGUNIT_ASSERT_EQUAL(statOK, stat);
+ apr_time_t oct5;
+ apr_status_t stat = apr_time_exp_gmt_get(&oct5, &c);
+ const apr_status_t statOK = 0;
+ LOGUNIT_ASSERT_EQUAL(statOK, stat);
- Pool p;
+ Pool p;
- LogString s;
- cachedFormat->format(s, oct5, p);
+ LogString s;
+ cachedFormat->format(s, oct5, p);
- LOGUNIT_ASSERT_EQUAL(
- (LogString) LOG4CXX_STR("October 023 Tuesday"), s);
+ LOGUNIT_ASSERT_EQUAL(
+ (LogString) LOG4CXX_STR("October 023 Tuesday"), s);
- memset(&c, 0, sizeof(c));
- c.tm_year = 104;
- c.tm_mon = 10;
- c.tm_mday = 1;
- c.tm_usec = 23000;
+ memset(&c, 0, sizeof(c));
+ c.tm_year = 104;
+ c.tm_mon = 10;
+ c.tm_mday = 1;
+ c.tm_usec = 23000;
- apr_time_t nov1;
- stat = apr_time_exp_gmt_get(&nov1, &c);
- LOGUNIT_ASSERT_EQUAL(statOK, stat);
+ apr_time_t nov1;
+ stat = apr_time_exp_gmt_get(&nov1, &c);
+ LOGUNIT_ASSERT_EQUAL(statOK, stat);
- s.erase(s.begin(), s.end());
- cachedFormat->format(s, nov1, p);
+ s.erase(s.begin(), s.end());
+ cachedFormat->format(s, nov1, p);
- LOGUNIT_ASSERT_EQUAL(
- (LogString) LOG4CXX_STR("November 023 Monday"), s);
+ LOGUNIT_ASSERT_EQUAL(
+ (LogString) LOG4CXX_STR("November 023 Monday"), s);
- nov1 += 961000;
- s.erase(s.begin(), s.end());
- cachedFormat->format(s, nov1, p);
+ nov1 += 961000;
+ s.erase(s.begin(), s.end());
+ cachedFormat->format(s, nov1, p);
- LOGUNIT_ASSERT_EQUAL(
- (LogString) LOG4CXX_STR("November 984 Monday"), s);
-}
+ LOGUNIT_ASSERT_EQUAL(
+ (LogString) LOG4CXX_STR("November 984 Monday"), s);
+ }
-/**
- * Test that tests if caching is skipped if only "SS"
- * is specified.
- */
-void test11() {
- //
- // Earlier versions could be tricked by "SS0" patterns.
- //
- LogString badPattern(LOG4CXX_STR("ss,SS0"));
- DateFormatPtr simpleFormat = new SimpleDateFormat(badPattern);
- DateFormatPtr gmtFormat = new CachedDateFormat(simpleFormat, 1000000);
- gmtFormat->setTimeZone(TimeZone::getGMT());
+ /**
+ * Test that tests if caching is skipped if only "SS"
+ * is specified.
+ */
+ void test11()
+ {
+ //
+ // Earlier versions could be tricked by "SS0" patterns.
+ //
+ LogString badPattern(LOG4CXX_STR("ss,SS0"));
+ DateFormatPtr simpleFormat = new SimpleDateFormat(badPattern);
+ DateFormatPtr gmtFormat = new CachedDateFormat(simpleFormat, 1000000);
+ gmtFormat->setTimeZone(TimeZone::getGMT());
- //
- // The first request has to 100 ms after an ordinal second
- // to push the literal zero out of the pattern check
- apr_time_t ticks = MICROSECONDS_PER_DAY * 11142L;
- apr_time_t jul2 = ticks + 120000;
+ //
+ // The first request has to 100 ms after an ordinal second
+ // to push the literal zero out of the pattern check
+ apr_time_t ticks = MICROSECONDS_PER_DAY * 11142L;
+ apr_time_t jul2 = ticks + 120000;
- Pool p;
+ Pool p;
- LogString s;
- gmtFormat->format(s, jul2, p);
+ LogString s;
+ gmtFormat->format(s, jul2, p);
- LOGUNIT_ASSERT_EQUAL(
- (LogString) LOG4CXX_STR("00,1200"), s);
+ LOGUNIT_ASSERT_EQUAL(
+ (LogString) LOG4CXX_STR("00,1200"), s);
- jul2 = ticks + 87000;
+ jul2 = ticks + 87000;
- s.erase(s.begin(), s.end());
- gmtFormat->format(s, jul2, p);
+ s.erase(s.begin(), s.end());
+ gmtFormat->format(s, jul2, p);
- LOGUNIT_ASSERT_EQUAL(
- (LogString) LOG4CXX_STR("00,870"), s);
-}
+ LOGUNIT_ASSERT_EQUAL(
+ (LogString) LOG4CXX_STR("00,870"), s);
+ }
-/**
- * Check pattern location for ISO8601
- */
-void test12() {
- DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("yyyy-MM-dd HH:mm:ss,SSS"));
- apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
- Pool p;
- LogString formatted;
+ /**
+ * Check pattern location for ISO8601
+ */
+ void test12()
+ {
+ DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("yyyy-MM-dd HH:mm:ss,SSS"));
+ apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
+ Pool p;
+ LogString formatted;
- df->format(formatted, ticks, p);
- int msStart = CachedDateFormat::findMillisecondStart(ticks, formatted, df, p);
- LOGUNIT_ASSERT_EQUAL(20, msStart);
+ df->format(formatted, ticks, p);
+ int msStart = CachedDateFormat::findMillisecondStart(ticks, formatted, df, p);
+ LOGUNIT_ASSERT_EQUAL(20, msStart);
- // Test for for milliseconds overlapping with the magic ones as per LOGCXX-420.
- apr_time_exp_t c;
- memset(&c, 0, sizeof(c));
- c.tm_year = 110;
- c.tm_mon = 7;
- c.tm_mday = 12;
- c.tm_hour = 9;
- c.tm_min = 4;
- c.tm_sec = 50;
- c.tm_usec = 406000;
+ // Test for for milliseconds overlapping with the magic ones as per LOGCXX-420.
+ apr_time_exp_t c;
+ memset(&c, 0, sizeof(c));
+ c.tm_year = 110;
+ c.tm_mon = 7;
+ c.tm_mday = 12;
+ c.tm_hour = 9;
+ c.tm_min = 4;
+ c.tm_sec = 50;
+ c.tm_usec = 406000;
- LOGUNIT_ASSERT_EQUAL(0, apr_time_exp_gmt_get(&ticks, &c));
+ LOGUNIT_ASSERT_EQUAL(0, apr_time_exp_gmt_get(&ticks, &c));
- formatted.clear();
- df->format(formatted, ticks, p);
- msStart = CachedDateFormat::findMillisecondStart(ticks, formatted, df, p);
- LOGUNIT_ASSERT_EQUAL(20, msStart);
+ formatted.clear();
+ df->format(formatted, ticks, p);
+ msStart = CachedDateFormat::findMillisecondStart(ticks, formatted, df, p);
+ LOGUNIT_ASSERT_EQUAL(20, msStart);
- c.tm_usec = 609000;
- LOGUNIT_ASSERT_EQUAL(0, apr_time_exp_gmt_get(&ticks, &c));
+ c.tm_usec = 609000;
+ LOGUNIT_ASSERT_EQUAL(0, apr_time_exp_gmt_get(&ticks, &c));
- formatted.clear();
- df->format(formatted, ticks, p);
- msStart = CachedDateFormat::findMillisecondStart(ticks, formatted, df, p);
- LOGUNIT_ASSERT_EQUAL(20, msStart);
-}
+ formatted.clear();
+ df->format(formatted, ticks, p);
+ msStart = CachedDateFormat::findMillisecondStart(ticks, formatted, df, p);
+ LOGUNIT_ASSERT_EQUAL(20, msStart);
+ }
-/**
- * Check pattern location for DATE
- */
-void test13() {
- DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("yyyy-MM-dd"));
- apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
+ /**
+ * Check pattern location for DATE
+ */
+ void test13()
+ {
+ DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("yyyy-MM-dd"));
+ apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
- Pool p;
+ Pool p;
- LogString formatted;
- df->format(formatted, ticks, p);
+ LogString formatted;
+ df->format(formatted, ticks, p);
- int millisecondStart = CachedDateFormat::findMillisecondStart(ticks,
- formatted, df, p);
- LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::NO_MILLISECONDS, millisecondStart);
-}
+ int millisecondStart = CachedDateFormat::findMillisecondStart(ticks,
+ formatted, df, p);
+ LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::NO_MILLISECONDS, millisecondStart);
+ }
-/**
- * Check pattern location for ABSOLUTE
- */
-void test14() {
- DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("HH:mm:ss,SSS"));
- apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
+ /**
+ * Check pattern location for ABSOLUTE
+ */
+ void test14()
+ {
+ DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("HH:mm:ss,SSS"));
+ apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
- Pool p;
- LogString formatted;
- df->format(formatted, ticks, p);
+ Pool p;
+ LogString formatted;
+ df->format(formatted, ticks, p);
- int millisecondStart = CachedDateFormat::findMillisecondStart(ticks,
- formatted, df, p);
- LOGUNIT_ASSERT_EQUAL(9, millisecondStart);
-}
+ int millisecondStart = CachedDateFormat::findMillisecondStart(ticks,
+ formatted, df, p);
+ LOGUNIT_ASSERT_EQUAL(9, millisecondStart);
+ }
-/**
- * Check pattern location for single S
- */
-void test15() {
- DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("HH:mm:ss,S"));
- apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
+ /**
+ * Check pattern location for single S
+ */
+ void test15()
+ {
+ DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("HH:mm:ss,S"));
+ apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
- Pool p;
- LogString formatted;
- df->format(formatted, ticks, p);
+ Pool p;
+ LogString formatted;
+ df->format(formatted, ticks, p);
- int millisecondStart = CachedDateFormat::findMillisecondStart(ticks,
- formatted, df, p);
- LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, millisecondStart);
-}
+ int millisecondStart = CachedDateFormat::findMillisecondStart(ticks,
+ formatted, df, p);
+ LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, millisecondStart);
+ }
-/**
- * Check pattern location for single SS
- */
-void test16() {
- DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("HH:mm:ss,SS"));
- apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
+ /**
+ * Check pattern location for single SS
+ */
+ void test16()
+ {
+ DateFormatPtr df = new SimpleDateFormat(LOG4CXX_STR("HH:mm:ss,SS"));
+ apr_time_t ticks = 11142L * MICROSECONDS_PER_DAY;
- Pool p;
- LogString formatted;
- df->format(formatted, ticks, p);
+ Pool p;
+ LogString formatted;
+ df->format(formatted, ticks, p);
- int millisecondStart =
- CachedDateFormat::findMillisecondStart(ticks, formatted, df, p);
- LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, millisecondStart);
-}
+ int millisecondStart =
+ CachedDateFormat::findMillisecondStart(ticks, formatted, df, p);
+ LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, millisecondStart);
+ }
-/**
- * Check caching when multiple SSS appear in pattern
- */
-void test17() {
- apr_time_t jul2 = 12602L * MICROSECONDS_PER_DAY;
- LogString badPattern(LOG4CXX_STR("HH:mm:ss,SSS HH:mm:ss,SSS"));
- DateFormatPtr simpleFormat = new SimpleDateFormat(badPattern);
- simpleFormat->setTimeZone(TimeZone::getGMT());
- DateFormatPtr cachedFormat = new CachedDateFormat(simpleFormat, 1000000);
+ /**
+ * Check caching when multiple SSS appear in pattern
+ */
+ void test17()
+ {
+ apr_time_t jul2 = 12602L * MICROSECONDS_PER_DAY;
+ LogString badPattern(LOG4CXX_STR("HH:mm:ss,SSS HH:mm:ss,SSS"));
+ DateFormatPtr simpleFormat = new SimpleDateFormat(badPattern);
+ simpleFormat->setTimeZone(TimeZone::getGMT());
+ DateFormatPtr cachedFormat = new CachedDateFormat(simpleFormat, 1000000);
- Pool p;
- LogString s;
- cachedFormat->format(s, jul2, p);
+ Pool p;
+ LogString s;
+ cachedFormat->format(s, jul2, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000 00:00:00,000"), s);
- jul2 += 120000;
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,000 00:00:00,000"), s);
+ jul2 += 120000;
- s.erase(s.begin(), s.end());
- simpleFormat->format(s, jul2, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,120 00:00:00,120"), s);
+ s.erase(s.begin(), s.end());
+ simpleFormat->format(s, jul2, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,120 00:00:00,120"), s);
- s.erase(s.begin(), s.end());
- int msStart = CachedDateFormat::findMillisecondStart(jul2, s, simpleFormat, p);
- LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, msStart);
+ s.erase(s.begin(), s.end());
+ int msStart = CachedDateFormat::findMillisecondStart(jul2, s, simpleFormat, p);
+ LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, msStart);
- cachedFormat->format(s, jul2, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,120 00:00:00,120"), s) ;
+ cachedFormat->format(s, jul2, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("00:00:00,120 00:00:00,120"), s) ;
- int maxValid = CachedDateFormat::getMaximumCacheValidity(badPattern);
- LOGUNIT_ASSERT_EQUAL(1000, maxValid);
+ int maxValid = CachedDateFormat::getMaximumCacheValidity(badPattern);
+ LOGUNIT_ASSERT_EQUAL(1000, maxValid);
- // Test overlapping millis with a magic string from CachedDateFormat for LOGCXX-420.
- s.clear();
- jul2 += 286000;
- cachedFormat->format(s, jul2, p);
- msStart = CachedDateFormat::findMillisecondStart(jul2, s, simpleFormat, p);
- LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, msStart);
+ // Test overlapping millis with a magic string from CachedDateFormat for LOGCXX-420.
+ s.clear();
+ jul2 += 286000;
+ cachedFormat->format(s, jul2, p);
+ msStart = CachedDateFormat::findMillisecondStart(jul2, s, simpleFormat, p);
+ LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, msStart);
- s.clear();
- jul2 += 203000;
- cachedFormat->format(s, jul2, p);
- msStart = CachedDateFormat::findMillisecondStart(jul2, s, simpleFormat, p);
- LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, msStart);
-}
+ s.clear();
+ jul2 += 203000;
+ cachedFormat->format(s, jul2, p);
+ msStart = CachedDateFormat::findMillisecondStart(jul2, s, simpleFormat, p);
+ LOGUNIT_ASSERT_EQUAL((int) CachedDateFormat::UNRECOGNIZED_MILLISECONDS, msStart);
+ }
-/**
- * Check that patterns not containing microseconds
- * are reported as being able to be cached for a full second.
- */
-void test18() {
+ /**
+ * Check that patterns not containing microseconds
+ * are reported as being able to be cached for a full second.
+ */
+ void test18()
+ {
- int maxValid =
- CachedDateFormat::getMaximumCacheValidity(
- LOG4CXX_STR("yyyy-MM-dd"));
- LOGUNIT_ASSERT_EQUAL(1000000, maxValid);
-}
+ int maxValid =
+ CachedDateFormat::getMaximumCacheValidity(
+ LOG4CXX_STR("yyyy-MM-dd"));
+ LOGUNIT_ASSERT_EQUAL(1000000, maxValid);
+ }
-/**
- * Check that patterns not containing 3 microseconds
- * are reported as being able to be cached for a full second.
- */
-void test19() {
+ /**
+ * Check that patterns not containing 3 microseconds
+ * are reported as being able to be cached for a full second.
+ */
+ void test19()
+ {
- int maxValid =
- CachedDateFormat::getMaximumCacheValidity(
- LOG4CXX_STR("yyyy-MM-dd SSS"));
- LOGUNIT_ASSERT_EQUAL(1000000, maxValid);
-}
+ int maxValid =
+ CachedDateFormat::getMaximumCacheValidity(
+ LOG4CXX_STR("yyyy-MM-dd SSS"));
+ LOGUNIT_ASSERT_EQUAL(1000000, maxValid);
+ }
-/**
- * Check that patterns not containing 2 S's
- * are reported as being able to be cached for only a millisecond.
- */
-void test20() {
+ /**
+ * Check that patterns not containing 2 S's
+ * are reported as being able to be cached for only a millisecond.
+ */
+ void test20()
+ {
- int maxValid =
- CachedDateFormat::getMaximumCacheValidity(
- LOG4CXX_STR("yyyy-MM-dd SS"));
- LOGUNIT_ASSERT_EQUAL(1000, maxValid);
-}
+ int maxValid =
+ CachedDateFormat::getMaximumCacheValidity(
+ LOG4CXX_STR("yyyy-MM-dd SS"));
+ LOGUNIT_ASSERT_EQUAL(1000, maxValid);
+ }
-/**
- * Check that patterns not containing multi S groups
- * are reported as being able to be cached for only a millisecond.
- */
-void test21() {
+ /**
+ * Check that patterns not containing multi S groups
+ * are reported as being able to be cached for only a millisecond.
+ */
+ void test21()
+ {
- int maxValid =
- CachedDateFormat::getMaximumCacheValidity(
- LOG4CXX_STR("yyyy-MM-dd SSS SSS"));
- LOGUNIT_ASSERT_EQUAL(1000, maxValid);
-}
+ int maxValid =
+ CachedDateFormat::getMaximumCacheValidity(
+ LOG4CXX_STR("yyyy-MM-dd SSS SSS"));
+ LOGUNIT_ASSERT_EQUAL(1000, maxValid);
+ }
-/**
- * Check that findMillisecondStart correctly handles timestamps
- * which use the magic millisecond value 654.
- */
-void test22() {
- DateFormatPtr baseFormatter(new ISO8601DateFormat());
- CachedDateFormat isoFormat(baseFormatter, 1000000);
- isoFormat.setTimeZone(TimeZone::getGMT());
+ /**
+ * Check that findMillisecondStart correctly handles timestamps
+ * which use the magic millisecond value 654.
+ */
+ void test22()
+ {
+ DateFormatPtr baseFormatter(new ISO8601DateFormat());
+ CachedDateFormat isoFormat(baseFormatter, 1000000);
+ isoFormat.setTimeZone(TimeZone::getGMT());
- Pool p;
- LogString formatted;
+ Pool p;
+ LogString formatted;
- isoFormat.format(formatted, 654000, p);
- LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("1970-01-01 00:00:00,654"), formatted);
+ isoFormat.format(formatted, 654000, p);
+ LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("1970-01-01 00:00:00,654"), formatted);
- formatted.clear();
- isoFormat.format(formatted, 999000, p);
- LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("1970-01-01 00:00:00,999"), formatted);
+ formatted.clear();
+ isoFormat.format(formatted, 999000, p);
+ LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("1970-01-01 00:00:00,999"), formatted);
- formatted.clear();
- isoFormat.format(formatted, 1654010, p);
- LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("1970-01-01 00:00:01,654"), formatted);
+ formatted.clear();
+ isoFormat.format(formatted, 1654010, p);
+ LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("1970-01-01 00:00:01,654"), formatted);
- formatted.clear();
- isoFormat.format(formatted, 1999010, p);
- LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("1970-01-01 00:00:01,999"), formatted);
-}
+ formatted.clear();
+ isoFormat.format(formatted, 1999010, p);
+ LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("1970-01-01 00:00:01,999"), formatted);
+ }
};
diff --git a/src/test/cpp/helpers/charsetdecodertestcase.cpp b/src/test/cpp/helpers/charsetdecodertestcase.cpp
index 22a485f..0493ba2 100644
--- a/src/test/cpp/helpers/charsetdecodertestcase.cpp
+++ b/src/test/cpp/helpers/charsetdecodertestcase.cpp
@@ -30,78 +30,81 @@
LOGUNIT_CLASS(CharsetDecoderTestCase)
{
- LOGUNIT_TEST_SUITE(CharsetDecoderTestCase);
- LOGUNIT_TEST(decode1);
- LOGUNIT_TEST(decode2);
- LOGUNIT_TEST(decode8);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(CharsetDecoderTestCase);
+ LOGUNIT_TEST(decode1);
+ LOGUNIT_TEST(decode2);
+ LOGUNIT_TEST(decode8);
+ LOGUNIT_TEST_SUITE_END();
- enum { BUFSIZE = 256 };
+ enum { BUFSIZE = 256 };
public:
- void decode1() {
- char buf[] = "Hello, World";
- ByteBuffer src(buf, strlen(buf));
+ void decode1()
+ {
+ char buf[] = "Hello, World";
+ ByteBuffer src(buf, strlen(buf));
- CharsetDecoderPtr dec(CharsetDecoder::getDefaultDecoder());
- LogString greeting;
- log4cxx_status_t stat = dec->decode(src, greeting);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ CharsetDecoderPtr dec(CharsetDecoder::getDefaultDecoder());
+ LogString greeting;
+ log4cxx_status_t stat = dec->decode(src, greeting);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- stat = dec->decode(src, greeting);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT_EQUAL((size_t) 12, src.position());
+ stat = dec->decode(src, greeting);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT_EQUAL((size_t) 12, src.position());
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("Hello, World"), greeting);
- }
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("Hello, World"), greeting);
+ }
- void decode2() {
- char buf[BUFSIZE + 6];
- memset(buf, 'A', BUFSIZE);
- buf[BUFSIZE - 3] = 0;
+ void decode2()
+ {
+ char buf[BUFSIZE + 6];
+ memset(buf, 'A', BUFSIZE);
+ buf[BUFSIZE - 3] = 0;
#if defined(__STDC_LIB_EXT1__) || defined(__STDC_SECURE_LIB__)
- strcat_s(buf, sizeof buf, "Hello");
+ strcat_s(buf, sizeof buf, "Hello");
#else
- strcat(buf, "Hello");
+ strcat(buf, "Hello");
#endif
- ByteBuffer src(buf, strlen(buf));
+ ByteBuffer src(buf, strlen(buf));
- CharsetDecoderPtr dec(CharsetDecoder::getDefaultDecoder());
+ CharsetDecoderPtr dec(CharsetDecoder::getDefaultDecoder());
- LogString greeting;
- log4cxx_status_t stat = dec->decode(src, greeting);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT_EQUAL((size_t) 0, src.remaining());
+ LogString greeting;
+ log4cxx_status_t stat = dec->decode(src, greeting);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT_EQUAL((size_t) 0, src.remaining());
- stat = dec->decode(src, greeting);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ stat = dec->decode(src, greeting);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LogString manyAs(BUFSIZE - 3, LOG4CXX_STR('A'));
- LOGUNIT_ASSERT_EQUAL(manyAs, greeting.substr(0, BUFSIZE - 3));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("Hello")), greeting.substr(BUFSIZE - 3));
- }
+ LogString manyAs(BUFSIZE - 3, LOG4CXX_STR('A'));
+ LOGUNIT_ASSERT_EQUAL(manyAs, greeting.substr(0, BUFSIZE - 3));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("Hello")), greeting.substr(BUFSIZE - 3));
+ }
- void decode8() {
- char buf[] = { 'H', 'e', 'l', 'l', 'o', ',', 0, 'W', 'o', 'r', 'l', 'd'};
- ByteBuffer src(buf, 12);
+ void decode8()
+ {
+ char buf[] = { 'H', 'e', 'l', 'l', 'o', ',', 0, 'W', 'o', 'r', 'l', 'd'};
+ ByteBuffer src(buf, 12);
- CharsetDecoderPtr dec(CharsetDecoder::getDefaultDecoder());
- LogString greeting;
- log4cxx_status_t stat = dec->decode(src, greeting);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ CharsetDecoderPtr dec(CharsetDecoder::getDefaultDecoder());
+ LogString greeting;
+ log4cxx_status_t stat = dec->decode(src, greeting);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- stat = dec->decode(src, greeting);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT_EQUAL((size_t) 12, src.position());
+ stat = dec->decode(src, greeting);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT_EQUAL((size_t) 12, src.position());
- const logchar expected[] = { 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x2C, 0x00, 0x57, 0x6F, 0x72, 0x6C, 0x64 };
- LOGUNIT_ASSERT_EQUAL(LogString(expected, 12), greeting);
- }
+ const logchar expected[] = { 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x2C, 0x00, 0x57, 0x6F, 0x72, 0x6C, 0x64 };
+ LOGUNIT_ASSERT_EQUAL(LogString(expected, 12), greeting);
+ }
diff --git a/src/test/cpp/helpers/charsetencodertestcase.cpp b/src/test/cpp/helpers/charsetencodertestcase.cpp
index 74af926..5677820 100644
--- a/src/test/cpp/helpers/charsetencodertestcase.cpp
+++ b/src/test/cpp/helpers/charsetencodertestcase.cpp
@@ -33,268 +33,312 @@
LOGUNIT_CLASS(CharsetEncoderTestCase)
{
- LOGUNIT_TEST_SUITE(CharsetEncoderTestCase);
- LOGUNIT_TEST(encode1);
- LOGUNIT_TEST(encode2);
- LOGUNIT_TEST(encode3);
- LOGUNIT_TEST(encode4);
-#if APR_HAS_THREADS
- LOGUNIT_TEST(thread1);
-#endif
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(CharsetEncoderTestCase);
+ LOGUNIT_TEST(encode1);
+ LOGUNIT_TEST(encode2);
+ LOGUNIT_TEST(encode3);
+ LOGUNIT_TEST(encode4);
+#if APR_HAS_THREADS
+ LOGUNIT_TEST(thread1);
+#endif
+ LOGUNIT_TEST_SUITE_END();
- enum { BUFSIZE = 256 };
+ enum { BUFSIZE = 256 };
public:
- void encode1() {
- const LogString greeting(LOG4CXX_STR("Hello, World"));
- CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("US-ASCII")));
- char buf[BUFSIZE];
- ByteBuffer out(buf, BUFSIZE);
- LogString::const_iterator iter = greeting.begin();
- log4cxx_status_t stat = enc->encode(greeting, iter, out);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT(iter == greeting.end());
+ void encode1()
+ {
+ const LogString greeting(LOG4CXX_STR("Hello, World"));
+ CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("US-ASCII")));
+ char buf[BUFSIZE];
+ ByteBuffer out(buf, BUFSIZE);
+ LogString::const_iterator iter = greeting.begin();
+ log4cxx_status_t stat = enc->encode(greeting, iter, out);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT(iter == greeting.end());
- stat = enc->encode(greeting, iter, out);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT_EQUAL((size_t) 12, out.position());
+ stat = enc->encode(greeting, iter, out);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT_EQUAL((size_t) 12, out.position());
- out.flip();
- std::string encoded((const char*) out.data(), out.limit());
- LOGUNIT_ASSERT_EQUAL((std::string) "Hello, World", encoded);
- LOGUNIT_ASSERT(iter == greeting.end());
- }
+ out.flip();
+ std::string encoded((const char*) out.data(), out.limit());
+ LOGUNIT_ASSERT_EQUAL((std::string) "Hello, World", encoded);
+ LOGUNIT_ASSERT(iter == greeting.end());
+ }
- void encode2() {
- LogString greeting(BUFSIZE - 3, LOG4CXX_STR('A'));
- greeting.append(LOG4CXX_STR("Hello"));
+ void encode2()
+ {
+ LogString greeting(BUFSIZE - 3, LOG4CXX_STR('A'));
+ greeting.append(LOG4CXX_STR("Hello"));
- CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("US-ASCII")));
+ CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("US-ASCII")));
- char buf[BUFSIZE];
- ByteBuffer out(buf, BUFSIZE);
- LogString::const_iterator iter = greeting.begin();
- log4cxx_status_t stat = enc->encode(greeting, iter, out);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT_EQUAL((size_t) 0, out.remaining());
- LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR('o'), *(iter+1));
+ char buf[BUFSIZE];
+ ByteBuffer out(buf, BUFSIZE);
+ LogString::const_iterator iter = greeting.begin();
+ log4cxx_status_t stat = enc->encode(greeting, iter, out);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT_EQUAL((size_t) 0, out.remaining());
+ LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR('o'), *(iter + 1));
- out.flip();
- std::string encoded((char*) out.data(), out.limit());
- out.clear();
+ out.flip();
+ std::string encoded((char*) out.data(), out.limit());
+ out.clear();
- stat = enc->encode(greeting, iter, out);
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT_EQUAL((size_t) 2, out.position());
- LOGUNIT_ASSERT(iter == greeting.end());
+ stat = enc->encode(greeting, iter, out);
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT_EQUAL((size_t) 2, out.position());
+ LOGUNIT_ASSERT(iter == greeting.end());
- stat = enc->encode(greeting, iter, out);
- out.flip();
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- encoded.append(out.data(), out.limit());
+ stat = enc->encode(greeting, iter, out);
+ out.flip();
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ encoded.append(out.data(), out.limit());
- std::string manyAs(BUFSIZE - 3, 'A');
- LOGUNIT_ASSERT_EQUAL(manyAs, encoded.substr(0, BUFSIZE - 3));
- LOGUNIT_ASSERT_EQUAL(std::string("Hello"), encoded.substr(BUFSIZE - 3));
- }
+ std::string manyAs(BUFSIZE - 3, 'A');
+ LOGUNIT_ASSERT_EQUAL(manyAs, encoded.substr(0, BUFSIZE - 3));
+ LOGUNIT_ASSERT_EQUAL(std::string("Hello"), encoded.substr(BUFSIZE - 3));
+ }
- void encode3() {
+ void encode3()
+ {
#if LOG4CXX_LOGCHAR_IS_WCHAR || LOG4CXX_LOGCHAR_IS_UNICHAR
- // arbitrary, hopefully meaningless, characters from
- // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
- const logchar greet[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x400, 0 };
+ // arbitrary, hopefully meaningless, characters from
+ // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
+ const logchar greet[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x400, 0 };
#endif
#if LOG4CXX_LOGCHAR_IS_UTF8
- const char greet[] = { 'A',
- (char) 0xD8, (char) 0x85,
- (char) 0xD4, (char) 0xB0,
- (char) 0xE0, (char) 0xA6, (char) 0x86,
- (char) 0xE4, (char) 0xB8, (char) 0x83,
- (char) 0xD0, (char) 0x80,
- 0 };
+ const char greet[] = { 'A',
+ (char) 0xD8, (char) 0x85,
+ (char) 0xD4, (char) 0xB0,
+ (char) 0xE0, (char) 0xA6, (char) 0x86,
+ (char) 0xE4, (char) 0xB8, (char) 0x83,
+ (char) 0xD0, (char) 0x80,
+ 0
+ };
#endif
- LogString greeting(greet);
+ LogString greeting(greet);
- CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("US-ASCII")));
+ CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("US-ASCII")));
- char buf[BUFSIZE];
- ByteBuffer out(buf, BUFSIZE);
+ char buf[BUFSIZE];
+ ByteBuffer out(buf, BUFSIZE);
- LogString::const_iterator iter = greeting.begin();
- log4cxx_status_t stat = enc->encode(greeting, iter, out);
- out.flip();
- LOGUNIT_ASSERT_EQUAL(true, CharsetEncoder::isError(stat));
- LOGUNIT_ASSERT_EQUAL((size_t) 1, out.limit());
- LOGUNIT_ASSERT_EQUAL(greet[1], *iter);
- LOGUNIT_ASSERT_EQUAL('A', out.data()[0]);
- }
+ LogString::const_iterator iter = greeting.begin();
+ log4cxx_status_t stat = enc->encode(greeting, iter, out);
+ out.flip();
+ LOGUNIT_ASSERT_EQUAL(true, CharsetEncoder::isError(stat));
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, out.limit());
+ LOGUNIT_ASSERT_EQUAL(greet[1], *iter);
+ LOGUNIT_ASSERT_EQUAL('A', out.data()[0]);
+ }
- void encode4() {
- const char utf8_greet[] = { 'A',
- (char) 0xD8, (char) 0x85,
- (char) 0xD4, (char) 0xB0,
- (char) 0xE0, (char) 0xA6, (char) 0x86,
- (char) 0xE4, (char) 0xB8, (char) 0x83,
- (char) 0xD0, (char) 0x80,
- 0 };
+ void encode4()
+ {
+ const char utf8_greet[] = { 'A',
+ (char) 0xD8, (char) 0x85,
+ (char) 0xD4, (char) 0xB0,
+ (char) 0xE0, (char) 0xA6, (char) 0x86,
+ (char) 0xE4, (char) 0xB8, (char) 0x83,
+ (char) 0xD0, (char) 0x80,
+ 0
+ };
#if LOG4CXX_LOGCHAR_IS_WCHAR || LOG4CXX_LOGCHAR_IS_UNICHAR
- // arbitrary, hopefully meaningless, characters from
- // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
- const logchar greet[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x400, 0 };
+ // arbitrary, hopefully meaningless, characters from
+ // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
+ const logchar greet[] = { L'A', 0x0605, 0x0530, 0x986, 0x4E03, 0x400, 0 };
#endif
#if LOG4CXX_LOGCHAR_IS_UTF8
- const logchar *greet = utf8_greet;
+ const logchar* greet = utf8_greet;
#endif
- LogString greeting(greet);
+ LogString greeting(greet);
- CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("UTF-8")));
+ CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("UTF-8")));
- char buf[BUFSIZE];
- ByteBuffer out(buf, BUFSIZE);
- LogString::const_iterator iter = greeting.begin();
- log4cxx_status_t stat = enc->encode(greeting, iter, out);
- LOGUNIT_ASSERT_EQUAL(false, CharsetEncoder::isError(stat));
- stat = enc->encode(greeting, iter, out);
- LOGUNIT_ASSERT_EQUAL(false, CharsetEncoder::isError(stat));
+ char buf[BUFSIZE];
+ ByteBuffer out(buf, BUFSIZE);
+ LogString::const_iterator iter = greeting.begin();
+ log4cxx_status_t stat = enc->encode(greeting, iter, out);
+ LOGUNIT_ASSERT_EQUAL(false, CharsetEncoder::isError(stat));
+ stat = enc->encode(greeting, iter, out);
+ LOGUNIT_ASSERT_EQUAL(false, CharsetEncoder::isError(stat));
- out.flip();
- LOGUNIT_ASSERT_EQUAL((size_t) 13, out.limit());
- for(size_t i = 0; i < out.limit(); i++) {
- LOGUNIT_ASSERT_EQUAL((int) utf8_greet[i], (int) out.data()[i]);
- }
- LOGUNIT_ASSERT(iter == greeting.end());
- }
-
-#if APR_HAS_THREADS
- class ThreadPackage {
- public:
- ThreadPackage(CharsetEncoderPtr& enc, int repetitions) :
- p(), lock(p), condition(p), passCount(0), failCount(0), enc(enc), repetitions(repetitions) {
- }
-
- void await() {
- synchronized sync(lock);
- condition.await(lock);
- }
-
- void signalAll() {
- synchronized sync(lock);
- condition.signalAll();
- }
-
- void fail() {
- apr_atomic_inc32(&failCount);
- }
-
- void pass() {
- apr_atomic_inc32(&passCount);
- }
-
- apr_uint32_t getFail() {
- return apr_atomic_read32(&failCount);
- }
-
- apr_uint32_t getPass() {
- return apr_atomic_read32(&passCount);
- }
-
- int getRepetitions() {
- return repetitions;
- }
-
- CharsetEncoderPtr& getEncoder() {
- return enc;
- }
-
- private:
- ThreadPackage(const ThreadPackage&);
- ThreadPackage& operator=(ThreadPackage&);
- Pool p;
- Mutex lock;
- Condition condition;
- volatile apr_uint32_t passCount;
- volatile apr_uint32_t failCount;
- CharsetEncoderPtr enc;
- int repetitions;
- };
-
- static void* LOG4CXX_THREAD_FUNC thread1Action(apr_thread_t* /* thread */, void* data) {
- ThreadPackage* package = (ThreadPackage*) data;
+ out.flip();
+ LOGUNIT_ASSERT_EQUAL((size_t) 13, out.limit());
+
+ for (size_t i = 0; i < out.limit(); i++)
+ {
+ LOGUNIT_ASSERT_EQUAL((int) utf8_greet[i], (int) out.data()[i]);
+ }
+
+ LOGUNIT_ASSERT(iter == greeting.end());
+ }
+
+#if APR_HAS_THREADS
+ class ThreadPackage
+ {
+ public:
+ ThreadPackage(CharsetEncoderPtr& enc, int repetitions) :
+ p(), lock(p), condition(p), passCount(0), failCount(0), enc(enc), repetitions(repetitions)
+ {
+ }
+
+ void await()
+ {
+ synchronized sync(lock);
+ condition.await(lock);
+ }
+
+ void signalAll()
+ {
+ synchronized sync(lock);
+ condition.signalAll();
+ }
+
+ void fail()
+ {
+ apr_atomic_inc32(&failCount);
+ }
+
+ void pass()
+ {
+ apr_atomic_inc32(&passCount);
+ }
+
+ apr_uint32_t getFail()
+ {
+ return apr_atomic_read32(&failCount);
+ }
+
+ apr_uint32_t getPass()
+ {
+ return apr_atomic_read32(&passCount);
+ }
+
+ int getRepetitions()
+ {
+ return repetitions;
+ }
+
+ CharsetEncoderPtr& getEncoder()
+ {
+ return enc;
+ }
+
+ private:
+ ThreadPackage(const ThreadPackage&);
+ ThreadPackage& operator=(ThreadPackage&);
+ Pool p;
+ Mutex lock;
+ Condition condition;
+ volatile apr_uint32_t passCount;
+ volatile apr_uint32_t failCount;
+ CharsetEncoderPtr enc;
+ int repetitions;
+ };
+
+ static void* LOG4CXX_THREAD_FUNC thread1Action(apr_thread_t* /* thread */, void* data)
+ {
+ ThreadPackage* package = (ThreadPackage*) data;
#if LOG4CXX_LOGCHAR_IS_UTF8
- const logchar greet[] = { 'H', 'e', 'l', 'l', 'o', ' ',
- (char) 0xC2, (char) 0xA2, // cent sign
- (char) 0xC2, (char) 0xA9, // copyright
- (char) 0xc3, (char) 0xb4, // latin small letter o with circumflex
- 0 };
+ const logchar greet[] = { 'H', 'e', 'l', 'l', 'o', ' ',
+ (char) 0xC2, (char) 0xA2, // cent sign
+ (char) 0xC2, (char) 0xA9, // copyright
+ (char) 0xc3, (char) 0xb4, // latin small letter o with circumflex
+ 0
+ };
#endif
#if LOG4CXX_LOGCHAR_IS_WCHAR || LOG4CXX_LOGCHAR_IS_UNICHAR
- // arbitrary, hopefully meaningless, characters from
- // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
- const logchar greet[] = { L'H', L'e', L'l', L'l', L'o', L' ',
- 0x00A2, 0x00A9, 0x00F4 , 0 };
+ // arbitrary, hopefully meaningless, characters from
+ // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
+ const logchar greet[] = { L'H', L'e', L'l', L'l', L'o', L' ',
+ 0x00A2, 0x00A9, 0x00F4, 0
+ };
#endif
-
- const char expected[] = { 'H', 'e', 'l', 'l', 'o', ' ',
- (char) 0x00A2, (char) 0x00A9, (char) 0x00F4 };
- LogString greeting(greet);
+ const char expected[] = { 'H', 'e', 'l', 'l', 'o', ' ',
+ (char) 0x00A2, (char) 0x00A9, (char) 0x00F4
+ };
- package->await();
- for(int i = 0; i < package->getRepetitions(); i++) {
- bool pass = true;
- char buf[BUFSIZE];
- ByteBuffer out(buf, BUFSIZE);
- LogString::const_iterator iter = greeting.begin();
- log4cxx_status_t stat = package->getEncoder()->encode(greeting, iter, out);
- pass = (false == CharsetEncoder::isError(stat));
- if (pass) {
- stat = package->getEncoder()->encode(greeting, iter, out);
- pass = (false == CharsetEncoder::isError(stat));
- if (pass) {
- out.flip();
- pass = (sizeof(expected) == out.limit());
- for(size_t i = 0; i < out.limit() && pass; i++) {
- pass = (expected[i] == out.data()[i]);
- }
- pass = pass && (iter == greeting.end());
- }
- }
- if (pass) {
- package->pass();
- } else {
- package->fail();
- }
- }
- return 0;
- }
+ LogString greeting(greet);
- void thread1() {
- enum { THREAD_COUNT = 10, THREAD_REPS = 10000 };
- Thread threads[THREAD_COUNT];
- CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("ISO-8859-1")));
- ThreadPackage* package = new ThreadPackage(enc, THREAD_REPS);
- { for(int i = 0; i < THREAD_COUNT; i++) {
- threads[i].run(thread1Action, package);
- } }
- //
- // give time for all threads to be launched so
- // we don't signal before everybody is waiting.
- Thread::sleep(100);
- package->signalAll();
- for(int i = 0; i < THREAD_COUNT; i++) {
- threads[i].join();
- }
- LOGUNIT_ASSERT_EQUAL((apr_uint32_t) 0, package->getFail());
- LOGUNIT_ASSERT_EQUAL((apr_uint32_t) THREAD_COUNT * THREAD_REPS, package->getPass());
- delete package;
- }
+ package->await();
+
+ for (int i = 0; i < package->getRepetitions(); i++)
+ {
+ bool pass = true;
+ char buf[BUFSIZE];
+ ByteBuffer out(buf, BUFSIZE);
+ LogString::const_iterator iter = greeting.begin();
+ log4cxx_status_t stat = package->getEncoder()->encode(greeting, iter, out);
+ pass = (false == CharsetEncoder::isError(stat));
+
+ if (pass)
+ {
+ stat = package->getEncoder()->encode(greeting, iter, out);
+ pass = (false == CharsetEncoder::isError(stat));
+
+ if (pass)
+ {
+ out.flip();
+ pass = (sizeof(expected) == out.limit());
+
+ for (size_t i = 0; i < out.limit() && pass; i++)
+ {
+ pass = (expected[i] == out.data()[i]);
+ }
+
+ pass = pass && (iter == greeting.end());
+ }
+ }
+
+ if (pass)
+ {
+ package->pass();
+ }
+ else
+ {
+ package->fail();
+ }
+ }
+
+ return 0;
+ }
+
+ void thread1()
+ {
+ enum { THREAD_COUNT = 10, THREAD_REPS = 10000 };
+ Thread threads[THREAD_COUNT];
+ CharsetEncoderPtr enc(CharsetEncoder::getEncoder(LOG4CXX_STR("ISO-8859-1")));
+ ThreadPackage* package = new ThreadPackage(enc, THREAD_REPS);
+ {
+ for (int i = 0; i < THREAD_COUNT; i++)
+ {
+ threads[i].run(thread1Action, package);
+ }
+ }
+ //
+ // give time for all threads to be launched so
+ // we don't signal before everybody is waiting.
+ Thread::sleep(100);
+ package->signalAll();
+
+ for (int i = 0; i < THREAD_COUNT; i++)
+ {
+ threads[i].join();
+ }
+
+ LOGUNIT_ASSERT_EQUAL((apr_uint32_t) 0, package->getFail());
+ LOGUNIT_ASSERT_EQUAL((apr_uint32_t) THREAD_COUNT * THREAD_REPS, package->getPass());
+ delete package;
+ }
#endif
};
diff --git a/src/test/cpp/helpers/cyclicbuffertestcase.cpp b/src/test/cpp/helpers/cyclicbuffertestcase.cpp
index 05e9065..c644d55 100644
--- a/src/test/cpp/helpers/cyclicbuffertestcase.cpp
+++ b/src/test/cpp/helpers/cyclicbuffertestcase.cpp
@@ -32,138 +32,141 @@
LOGUNIT_CLASS(CyclicBufferTestCase)
{
- LOGUNIT_TEST_SUITE(CyclicBufferTestCase);
- LOGUNIT_TEST(test0);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(testResize);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(CyclicBufferTestCase);
+ LOGUNIT_TEST(test0);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(testResize);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr logger;
- std::vector<LoggingEventPtr> e;
+ LoggerPtr logger;
+ std::vector<LoggingEventPtr> e;
public:
- void setUp()
- {
- e.reserve(1000);
- LoggingEventPtr event;
- for (int i = 0; i < MAX; i++)
- {
- event = new LoggingEvent(LOG4CXX_STR("x"), Level::getDebug(), LOG4CXX_STR("e"),
- log4cxx::spi::LocationInfo::getLocationUnavailable());
- e.push_back(event);
- }
- }
+ void setUp()
+ {
+ e.reserve(1000);
+ LoggingEventPtr event;
- void tearDown()
- {
- LogManager::shutdown();
- }
+ for (int i = 0; i < MAX; i++)
+ {
+ event = new LoggingEvent(LOG4CXX_STR("x"), Level::getDebug(), LOG4CXX_STR("e"),
+ log4cxx::spi::LocationInfo::getLocationUnavailable());
+ e.push_back(event);
+ }
+ }
- void test0()
- {
- int size = 2;
+ void tearDown()
+ {
+ LogManager::shutdown();
+ }
- CyclicBuffer cb(size);
- LOGUNIT_ASSERT_EQUAL(size, cb.getMaxSize());
+ void test0()
+ {
+ int size = 2;
- cb.add(e[0]);
- LOGUNIT_ASSERT_EQUAL(1, cb.length());
- LOGUNIT_ASSERT_EQUAL(e[0], cb.get());
- LOGUNIT_ASSERT_EQUAL(0, cb.length());
- LOGUNIT_ASSERT(cb.get() == 0);
- LOGUNIT_ASSERT_EQUAL(0, cb.length());
+ CyclicBuffer cb(size);
+ LOGUNIT_ASSERT_EQUAL(size, cb.getMaxSize());
- CyclicBuffer cb2(size);
- cb2.add(e[0]);
- cb2.add(e[1]);
- LOGUNIT_ASSERT_EQUAL(2, cb2.length());
- LOGUNIT_ASSERT_EQUAL(e[0], cb2.get());
- LOGUNIT_ASSERT_EQUAL(1, cb2.length());
- LOGUNIT_ASSERT_EQUAL(e[1], cb2.get());
- LOGUNIT_ASSERT_EQUAL(0, cb2.length());
- LOGUNIT_ASSERT(cb2.get() == 0);
- LOGUNIT_ASSERT_EQUAL(0, cb2.length());
- }
+ cb.add(e[0]);
+ LOGUNIT_ASSERT_EQUAL(1, cb.length());
+ LOGUNIT_ASSERT_EQUAL(e[0], cb.get());
+ LOGUNIT_ASSERT_EQUAL(0, cb.length());
+ LOGUNIT_ASSERT(cb.get() == 0);
+ LOGUNIT_ASSERT_EQUAL(0, cb.length());
- void test1()
- {
- for (int bufSize = 1; bufSize <= 128; bufSize *= 2)
- doTest1(bufSize);
- }
+ CyclicBuffer cb2(size);
+ cb2.add(e[0]);
+ cb2.add(e[1]);
+ LOGUNIT_ASSERT_EQUAL(2, cb2.length());
+ LOGUNIT_ASSERT_EQUAL(e[0], cb2.get());
+ LOGUNIT_ASSERT_EQUAL(1, cb2.length());
+ LOGUNIT_ASSERT_EQUAL(e[1], cb2.get());
+ LOGUNIT_ASSERT_EQUAL(0, cb2.length());
+ LOGUNIT_ASSERT(cb2.get() == 0);
+ LOGUNIT_ASSERT_EQUAL(0, cb2.length());
+ }
- void doTest1(int size)
- {
- //System.out.println("Doing test with size = "+size);
- CyclicBuffer cb(size);
+ void test1()
+ {
+ for (int bufSize = 1; bufSize <= 128; bufSize *= 2)
+ {
+ doTest1(bufSize);
+ }
+ }
- LOGUNIT_ASSERT_EQUAL(size, cb.getMaxSize());
+ void doTest1(int size)
+ {
+ //System.out.println("Doing test with size = "+size);
+ CyclicBuffer cb(size);
- int i;
+ LOGUNIT_ASSERT_EQUAL(size, cb.getMaxSize());
- for (i = -(size + 10); i < (size + 10); i++)
- {
- LOGUNIT_ASSERT(cb.get(i) == 0);
- }
+ int i;
- for (i = 0; i < MAX; i++)
- {
- cb.add(e[i]);
+ for (i = -(size + 10); i < (size + 10); i++)
+ {
+ LOGUNIT_ASSERT(cb.get(i) == 0);
+ }
- int limit = (i < (size - 1)) ? i : (size - 1);
+ for (i = 0; i < MAX; i++)
+ {
+ cb.add(e[i]);
- //System.out.println("\nLimit is " + limit + ", i="+i);
- for (int j = limit; j >= 0; j--)
- {
- //System.out.println("i= "+i+", j="+j);
- LOGUNIT_ASSERT_EQUAL(e[i - (limit - j)], cb.get(j));
- }
+ int limit = (i < (size - 1)) ? i : (size - 1);
- LOGUNIT_ASSERT(cb.get(-1) == 0);
- LOGUNIT_ASSERT(cb.get(limit + 1) == 0);
- }
- }
+ //System.out.println("\nLimit is " + limit + ", i="+i);
+ for (int j = limit; j >= 0; j--)
+ {
+ //System.out.println("i= "+i+", j="+j);
+ LOGUNIT_ASSERT_EQUAL(e[i - (limit - j)], cb.get(j));
+ }
- void testResize()
- {
- for (int isize = 1; isize <= 128; isize *= 2)
- {
- doTestResize(isize, (isize / 2) + 1, (isize / 2) + 1);
- doTestResize(isize, (isize / 2) + 1, isize + 10);
- doTestResize(isize, isize + 10, (isize / 2) + 1);
- doTestResize(isize, isize + 10, isize + 10);
- }
+ LOGUNIT_ASSERT(cb.get(-1) == 0);
+ LOGUNIT_ASSERT(cb.get(limit + 1) == 0);
+ }
+ }
- }
+ void testResize()
+ {
+ for (int isize = 1; isize <= 128; isize *= 2)
+ {
+ doTestResize(isize, (isize / 2) + 1, (isize / 2) + 1);
+ doTestResize(isize, (isize / 2) + 1, isize + 10);
+ doTestResize(isize, isize + 10, (isize / 2) + 1);
+ doTestResize(isize, isize + 10, isize + 10);
+ }
- void doTestResize(int initialSize, int numberOfAdds, int newSize)
- {
- //System.out.println("initialSize = "+initialSize+", numberOfAdds="
- // +numberOfAdds+", newSize="+newSize);
- CyclicBuffer cb(initialSize);
+ }
- for (int i = 0; i < numberOfAdds; i++)
- {
- cb.add(e[i]);
- }
+ void doTestResize(int initialSize, int numberOfAdds, int newSize)
+ {
+ //System.out.println("initialSize = "+initialSize+", numberOfAdds="
+ // +numberOfAdds+", newSize="+newSize);
+ CyclicBuffer cb(initialSize);
- cb.resize(newSize);
+ for (int i = 0; i < numberOfAdds; i++)
+ {
+ cb.add(e[i]);
+ }
- int offset = numberOfAdds - initialSize;
+ cb.resize(newSize);
- if (offset < 0)
- {
- offset = 0;
- }
+ int offset = numberOfAdds - initialSize;
- int len = (newSize < numberOfAdds) ? newSize : numberOfAdds;
- len = (len < initialSize) ? len : initialSize;
+ if (offset < 0)
+ {
+ offset = 0;
+ }
- //System.out.println("Len = "+len+", offset="+offset);
- for (int j = 0; j < len; j++)
- {
- LOGUNIT_ASSERT_EQUAL(e[offset + j], cb.get(j));
- }
- }
+ int len = (newSize < numberOfAdds) ? newSize : numberOfAdds;
+ len = (len < initialSize) ? len : initialSize;
+
+ //System.out.println("Len = "+len+", offset="+offset);
+ for (int j = 0; j < len; j++)
+ {
+ LOGUNIT_ASSERT_EQUAL(e[offset + j], cb.get(j));
+ }
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(CyclicBufferTestCase);
diff --git a/src/test/cpp/helpers/datetimedateformattestcase.cpp b/src/test/cpp/helpers/datetimedateformattestcase.cpp
index 0897bc1..e771404 100644
--- a/src/test/cpp/helpers/datetimedateformattestcase.cpp
+++ b/src/test/cpp/helpers/datetimedateformattestcase.cpp
@@ -31,9 +31,9 @@
#define LOCALE_US "C"
#if defined(_WIN32)
-#define LOCALE_FR "French_france"
+ #define LOCALE_FR "French_france"
#else
-#define LOCALE_FR "fr_FR"
+ #define LOCALE_FR "fr_FR"
#endif
#define LOG4CXX_TEST 1
@@ -44,33 +44,33 @@
#include <locale>
#include "localechanger.h"
#define MAKE_LOCALE(ptr, id) \
-std::locale loco(id); \
-std::locale* ptr = &loco;
+ std::locale loco(id); \
+ std::locale* ptr = &loco;
#else
#define MAKE_LOCALE(ptr, id) \
-std::locale* ptr = NULL;
+ std::locale* ptr = NULL;
#endif
/**
Unit test {@link DateTimeDateFormat}.
-
-
+
+
*/
LOGUNIT_CLASS(DateTimeDateFormatTestCase)
{
- LOGUNIT_TEST_SUITE( DateTimeDateFormatTestCase );
- LOGUNIT_TEST( test1 );
- LOGUNIT_TEST( test2 );
- LOGUNIT_TEST( test3 );
- LOGUNIT_TEST( test4 );
- LOGUNIT_TEST( test5 );
- LOGUNIT_TEST( test6 );
+ LOGUNIT_TEST_SUITE( DateTimeDateFormatTestCase );
+ LOGUNIT_TEST( test1 );
+ LOGUNIT_TEST( test2 );
+ LOGUNIT_TEST( test3 );
+ LOGUNIT_TEST( test4 );
+ LOGUNIT_TEST( test5 );
+ LOGUNIT_TEST( test6 );
#if LOG4CXX_HAS_STD_LOCALE
- LOGUNIT_TEST( test7 );
- LOGUNIT_TEST( test8 );
+ LOGUNIT_TEST( test7 );
+ LOGUNIT_TEST( test8 );
#endif
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
@@ -79,160 +79,165 @@
#define MICROSECONDS_PER_DAY APR_INT64_C(86400000000)
- /**
- Asserts that formatting the provided date results in the expected string.
+ /**
+ Asserts that formatting the provided date results in the expected string.
- @param date Date date
- @param timeZone TimeZone timezone for conversion
- @param expected String expected string
- */
- void assertFormattedTime( apr_time_t date, const std::locale* locale,
- const TimeZonePtr& timeZone, const LogString& expected )
- {
- DateTimeDateFormat formatter(locale);
- formatter.setTimeZone(timeZone);
- LogString actual;
- Pool p;
- formatter.format(actual, date, p);
- LOGUNIT_ASSERT_EQUAL( expected, actual );
- }
+ @param date Date date
+ @param timeZone TimeZone timezone for conversion
+ @param expected String expected string
+ */
+ void assertFormattedTime( apr_time_t date, const std::locale * locale,
+ const TimeZonePtr & timeZone, const LogString & expected )
+ {
+ DateTimeDateFormat formatter(locale);
+ formatter.setTimeZone(timeZone);
+ LogString actual;
+ Pool p;
+ formatter.format(actual, date, p);
+ LOGUNIT_ASSERT_EQUAL( expected, actual );
+ }
public:
- /** Convert 02 Jan 2004 00:00:00 GMT for GMT. */
- void test1()
- {
- //
- // 02 Jan 2004 00:00 GMT
- //
- apr_time_t jan2 = MICROSECONDS_PER_DAY * 12419;
- MAKE_LOCALE(localeUS, LOCALE_US);
- assertFormattedTime( jan2, localeUS, TimeZone::getGMT(), LOG4CXX_STR("02 Jan 2004 00:00:00,000"));
- }
+ /** Convert 02 Jan 2004 00:00:00 GMT for GMT. */
+ void test1()
+ {
+ //
+ // 02 Jan 2004 00:00 GMT
+ //
+ apr_time_t jan2 = MICROSECONDS_PER_DAY * 12419;
+ MAKE_LOCALE(localeUS, LOCALE_US);
+ assertFormattedTime( jan2, localeUS, TimeZone::getGMT(), LOG4CXX_STR("02 Jan 2004 00:00:00,000"));
+ }
- /** Convert 03 Jan 2004 00:00:00 GMT for America/Chicago. */
- void test2()
- {
- //
- // 03 Jan 2004 00:00 GMT
- apr_time_t jan3 = MICROSECONDS_PER_DAY * 12420;
- MAKE_LOCALE(localeUS, LOCALE_US);
- assertFormattedTime( jan3, localeUS,
- TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")),
- LOG4CXX_STR("02 Jan 2004 18:00:00,000"));
- }
+ /** Convert 03 Jan 2004 00:00:00 GMT for America/Chicago. */
+ void test2()
+ {
+ //
+ // 03 Jan 2004 00:00 GMT
+ apr_time_t jan3 = MICROSECONDS_PER_DAY * 12420;
+ MAKE_LOCALE(localeUS, LOCALE_US);
+ assertFormattedTime( jan3, localeUS,
+ TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")),
+ LOG4CXX_STR("02 Jan 2004 18:00:00,000"));
+ }
- /** Convert 30 Jun 2004 00:00:00 GMT for GMT. */
- void test3()
- {
- apr_time_t jun30 = MICROSECONDS_PER_DAY * 12599;
- MAKE_LOCALE(localeUS, LOCALE_US);
- assertFormattedTime( jun30, localeUS, TimeZone::getGMT(),
- LOG4CXX_STR("30 Jun 2004 00:00:00,000"));
- }
+ /** Convert 30 Jun 2004 00:00:00 GMT for GMT. */
+ void test3()
+ {
+ apr_time_t jun30 = MICROSECONDS_PER_DAY * 12599;
+ MAKE_LOCALE(localeUS, LOCALE_US);
+ assertFormattedTime( jun30, localeUS, TimeZone::getGMT(),
+ LOG4CXX_STR("30 Jun 2004 00:00:00,000"));
+ }
- /** Convert 29 Jun 2004 00:00:00 GMT for Chicago, daylight savings in effect. */
- void test4()
- {
- apr_time_t jul1 = MICROSECONDS_PER_DAY * 12600;
- MAKE_LOCALE(localeUS, LOCALE_US);
- assertFormattedTime( jul1, localeUS,
- TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")),
- LOG4CXX_STR("30 Jun 2004 19:00:00,000"));
- }
+ /** Convert 29 Jun 2004 00:00:00 GMT for Chicago, daylight savings in effect. */
+ void test4()
+ {
+ apr_time_t jul1 = MICROSECONDS_PER_DAY * 12600;
+ MAKE_LOCALE(localeUS, LOCALE_US);
+ assertFormattedTime( jul1, localeUS,
+ TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")),
+ LOG4CXX_STR("30 Jun 2004 19:00:00,000"));
+ }
- /** Test multiple calls in close intervals. */
- void test5()
- {
- // subsequent calls within one minute
- // are optimized to reuse previous formatted value
- // make a couple of nearly spaced calls
- apr_time_t ticks = MICROSECONDS_PER_DAY * 12601;
- MAKE_LOCALE(localeUS, LOCALE_US);
- assertFormattedTime( ticks, localeUS, TimeZone::getGMT(),
- LOG4CXX_STR("02 Jul 2004 00:00:00,000"));
- assertFormattedTime( ticks + 8000, localeUS, TimeZone::getGMT(),
- LOG4CXX_STR("02 Jul 2004 00:00:00,008"));
- assertFormattedTime( ticks + 17000, localeUS, TimeZone::getGMT(),
- LOG4CXX_STR("02 Jul 2004 00:00:00,017"));
- assertFormattedTime( ticks + 237000, localeUS, TimeZone::getGMT(),
- LOG4CXX_STR("02 Jul 2004 00:00:00,237"));
- assertFormattedTime( ticks + 1415000, localeUS, TimeZone::getGMT(),
- LOG4CXX_STR("02 Jul 2004 00:00:01,415"));
- }
+ /** Test multiple calls in close intervals. */
+ void test5()
+ {
+ // subsequent calls within one minute
+ // are optimized to reuse previous formatted value
+ // make a couple of nearly spaced calls
+ apr_time_t ticks = MICROSECONDS_PER_DAY * 12601;
+ MAKE_LOCALE(localeUS, LOCALE_US);
+ assertFormattedTime( ticks, localeUS, TimeZone::getGMT(),
+ LOG4CXX_STR("02 Jul 2004 00:00:00,000"));
+ assertFormattedTime( ticks + 8000, localeUS, TimeZone::getGMT(),
+ LOG4CXX_STR("02 Jul 2004 00:00:00,008"));
+ assertFormattedTime( ticks + 17000, localeUS, TimeZone::getGMT(),
+ LOG4CXX_STR("02 Jul 2004 00:00:00,017"));
+ assertFormattedTime( ticks + 237000, localeUS, TimeZone::getGMT(),
+ LOG4CXX_STR("02 Jul 2004 00:00:00,237"));
+ assertFormattedTime( ticks + 1415000, localeUS, TimeZone::getGMT(),
+ LOG4CXX_STR("02 Jul 2004 00:00:01,415"));
+ }
- /** Check that caching does not disregard timezone. This test would fail for revision 1.4 of DateTimeDateFormat.java. */
- void test6()
- {
- apr_time_t jul3 = MICROSECONDS_PER_DAY * 12602;
- MAKE_LOCALE(localeUS, LOCALE_US);
- assertFormattedTime( jul3, localeUS, TimeZone::getGMT(),
- LOG4CXX_STR("03 Jul 2004 00:00:00,000"));
- assertFormattedTime( jul3, localeUS,
- TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")),
- LOG4CXX_STR("02 Jul 2004 19:00:00,000"));
- assertFormattedTime( jul3, localeUS, TimeZone::getGMT(),
- LOG4CXX_STR("03 Jul 2004 00:00:00,000"));
- }
+ /** Check that caching does not disregard timezone. This test would fail for revision 1.4 of DateTimeDateFormat.java. */
+ void test6()
+ {
+ apr_time_t jul3 = MICROSECONDS_PER_DAY * 12602;
+ MAKE_LOCALE(localeUS, LOCALE_US);
+ assertFormattedTime( jul3, localeUS, TimeZone::getGMT(),
+ LOG4CXX_STR("03 Jul 2004 00:00:00,000"));
+ assertFormattedTime( jul3, localeUS,
+ TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")),
+ LOG4CXX_STR("02 Jul 2004 19:00:00,000"));
+ assertFormattedTime( jul3, localeUS, TimeZone::getGMT(),
+ LOG4CXX_STR("03 Jul 2004 00:00:00,000"));
+ }
#if LOG4CXX_HAS_STD_LOCALE
- LogString formatDate(const std::locale& locale, const tm& date, const LogString& fmt) {
- //
- // output the using STL
- //
- std::basic_ostringstream<logchar> buffer;
+ LogString formatDate(const std::locale & locale, const tm & date, const LogString & fmt)
+ {
+ //
+ // output the using STL
+ //
+ std::basic_ostringstream<logchar> buffer;
#if defined(_MSC_VER) && _MSC_VER < 1300
- _USEFAC(locale, std::time_put<logchar>)
- .put(buffer, buffer, &date, fmt.c_str(), fmt.c_str() + fmt.length());
+ _USEFAC(locale, std::time_put<logchar>)
+ .put(buffer, buffer, &date, fmt.c_str(), fmt.c_str() + fmt.length());
#else
#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE)
- const std::time_put<logchar>& facet = std::use_facet(locale, (std::time_put<logchar>*) 0);
+ const std::time_put<logchar>& facet = std::use_facet(locale, (std::time_put<logchar>*) 0);
#else
- const std::time_put<logchar>& facet = std::use_facet<std::time_put<logchar> >(locale);
+ const std::time_put<logchar>& facet = std::use_facet<std::time_put<logchar> >(locale);
#endif
- facet.put(buffer, buffer, buffer.fill(), &date, fmt.c_str(), fmt.c_str() + fmt.length());
+ facet.put(buffer, buffer, buffer.fill(), &date, fmt.c_str(), fmt.c_str() + fmt.length());
#endif
- return buffer.str();
- }
+ return buffer.str();
+ }
- /** Check that format is locale sensitive. */
- void test7()
- {
- apr_time_t avr11 = MICROSECONDS_PER_DAY * 12519;
- LocaleChanger localeChange(LOCALE_FR);
- if (localeChange.isEffective()) {
- LogString formatted;
- Pool p;
- SimpleDateFormat formatter(LOG4CXX_STR("MMM"));
- formatter.format(formatted, avr11, p);
+ /** Check that format is locale sensitive. */
+ void test7()
+ {
+ apr_time_t avr11 = MICROSECONDS_PER_DAY * 12519;
+ LocaleChanger localeChange(LOCALE_FR);
- std::locale localeFR(LOCALE_FR);
- struct tm avr11tm = { 0, 0, 0, 11, 03, 104 };
- LogString expected(formatDate(localeFR, avr11tm, LOG4CXX_STR("%b")));
+ if (localeChange.isEffective())
+ {
+ LogString formatted;
+ Pool p;
+ SimpleDateFormat formatter(LOG4CXX_STR("MMM"));
+ formatter.format(formatted, avr11, p);
- LOGUNIT_ASSERT_EQUAL(expected, formatted);
- }
- }
+ std::locale localeFR(LOCALE_FR);
+ struct tm avr11tm = { 0, 0, 0, 11, 03, 104 };
+ LogString expected(formatDate(localeFR, avr11tm, LOG4CXX_STR("%b")));
- /** Check that format is locale sensitive. */
- void test8()
- {
- apr_time_t apr11 = MICROSECONDS_PER_DAY * 12519;
- LocaleChanger localeChange(LOCALE_US);
- if (localeChange.isEffective()) {
- LogString formatted;
- Pool p;
- SimpleDateFormat formatter(LOG4CXX_STR("MMM"));
- formatter.setTimeZone(TimeZone::getGMT());
- formatter.format(formatted, apr11, p);
+ LOGUNIT_ASSERT_EQUAL(expected, formatted);
+ }
+ }
- std::locale localeUS(LOCALE_US);
- struct tm apr11tm = { 0, 0, 0, 11, 03, 104 };
- LogString expected(formatDate(localeUS, apr11tm, LOG4CXX_STR("%b")));
+ /** Check that format is locale sensitive. */
+ void test8()
+ {
+ apr_time_t apr11 = MICROSECONDS_PER_DAY * 12519;
+ LocaleChanger localeChange(LOCALE_US);
- LOGUNIT_ASSERT_EQUAL(expected, formatted);
- }
- }
+ if (localeChange.isEffective())
+ {
+ LogString formatted;
+ Pool p;
+ SimpleDateFormat formatter(LOG4CXX_STR("MMM"));
+ formatter.setTimeZone(TimeZone::getGMT());
+ formatter.format(formatted, apr11, p);
+
+ std::locale localeUS(LOCALE_US);
+ struct tm apr11tm = { 0, 0, 0, 11, 03, 104 };
+ LogString expected(formatDate(localeUS, apr11tm, LOG4CXX_STR("%b")));
+
+ LOGUNIT_ASSERT_EQUAL(expected, formatted);
+ }
+ }
#endif
};
diff --git a/src/test/cpp/helpers/filewatchdogtest.cpp b/src/test/cpp/helpers/filewatchdogtest.cpp
index 87a972a..67cae70 100644
--- a/src/test/cpp/helpers/filewatchdogtest.cpp
+++ b/src/test/cpp/helpers/filewatchdogtest.cpp
@@ -27,38 +27,43 @@
*
* FileWatchdog tests.
*/
-LOGUNIT_CLASS(FileWatchdogTest) {
- LOGUNIT_TEST_SUITE(FileWatchdogTest);
- LOGUNIT_TEST(testShutdownDelay);
- LOGUNIT_TEST_SUITE_END();
-
+LOGUNIT_CLASS(FileWatchdogTest)
+{
+ LOGUNIT_TEST_SUITE(FileWatchdogTest);
+ LOGUNIT_TEST(testShutdownDelay);
+ LOGUNIT_TEST_SUITE_END();
+
private:
- class MockWatchdog : public FileWatchdog {
- public:
- MockWatchdog(const File& file) : FileWatchdog(file) {
- }
-
- void doOnChange() {
- }
- };
-
+ class MockWatchdog : public FileWatchdog
+ {
+ public:
+ MockWatchdog(const File& file) : FileWatchdog(file)
+ {
+ }
+
+ void doOnChange()
+ {
+ }
+ };
+
public:
-
- /**
- * Tests that FileWatchdog will respond to a shutdown request more rapidly
- * than waiting out its delay.
- */
- void testShutdownDelay() {
- apr_time_t start = apr_time_now();
- {
- MockWatchdog dog(File(LOG4CXX_STR("input/patternlayout1.properties")));
- dog.start();
- // wait 50 ms for thread to get rolling
- apr_sleep(50000);
- }
- apr_time_t delta = apr_time_now() - start;
- LOGUNIT_ASSERT(delta < 30000000);
- }
+
+ /**
+ * Tests that FileWatchdog will respond to a shutdown request more rapidly
+ * than waiting out its delay.
+ */
+ void testShutdownDelay()
+ {
+ apr_time_t start = apr_time_now();
+ {
+ MockWatchdog dog(File(LOG4CXX_STR("input/patternlayout1.properties")));
+ dog.start();
+ // wait 50 ms for thread to get rolling
+ apr_sleep(50000);
+ }
+ apr_time_t delta = apr_time_now() - start;
+ LOGUNIT_ASSERT(delta < 30000000);
+ }
};
diff --git a/src/test/cpp/helpers/inetaddresstestcase.cpp b/src/test/cpp/helpers/inetaddresstestcase.cpp
index 9077752..b29ca5c 100644
--- a/src/test/cpp/helpers/inetaddresstestcase.cpp
+++ b/src/test/cpp/helpers/inetaddresstestcase.cpp
@@ -24,60 +24,65 @@
LOGUNIT_CLASS(InetAddressTestCase)
{
- LOGUNIT_TEST_SUITE(InetAddressTestCase);
- LOGUNIT_TEST(testGetLocalHost);
- LOGUNIT_TEST(testByNameLocal);
- LOGUNIT_TEST(testAllByNameLocal);
- LOGUNIT_TEST(testUnreachable);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(InetAddressTestCase);
+ LOGUNIT_TEST(testGetLocalHost);
+ LOGUNIT_TEST(testByNameLocal);
+ LOGUNIT_TEST(testAllByNameLocal);
+ LOGUNIT_TEST(testUnreachable);
+ LOGUNIT_TEST_SUITE_END();
public:
- /**
- * Tests the InetAddress::getLocalHost() method.
- */
- void testGetLocalHost() {
- InetAddressPtr addr = InetAddress::getLocalHost();
+ /**
+ * Tests the InetAddress::getLocalHost() method.
+ */
+ void testGetLocalHost()
+ {
+ InetAddressPtr addr = InetAddress::getLocalHost();
- LOGUNIT_ASSERT(addr->getHostAddress() == LOG4CXX_STR("127.0.0.1"));
- LOGUNIT_ASSERT(!addr->getHostName().empty());
- }
+ LOGUNIT_ASSERT(addr->getHostAddress() == LOG4CXX_STR("127.0.0.1"));
+ LOGUNIT_ASSERT(!addr->getHostName().empty());
+ }
- /**
- * Tests the InetAddress::getByName() method with the
- * "localhost" host name.
- */
- void testByNameLocal() {
- InetAddressPtr addr = InetAddress::getByName(LOG4CXX_STR("localhost"));
+ /**
+ * Tests the InetAddress::getByName() method with the
+ * "localhost" host name.
+ */
+ void testByNameLocal()
+ {
+ InetAddressPtr addr = InetAddress::getByName(LOG4CXX_STR("localhost"));
- LOGUNIT_ASSERT(addr->getHostAddress() == LOG4CXX_STR("127.0.0.1"));
- LOGUNIT_ASSERT(!addr->getHostName().empty());
- }
+ LOGUNIT_ASSERT(addr->getHostAddress() == LOG4CXX_STR("127.0.0.1"));
+ LOGUNIT_ASSERT(!addr->getHostName().empty());
+ }
- /**
- * Tests the InetAddress::getAllByName() method with the
- * "localhost" host name.
- */
- void testAllByNameLocal() {
- std::vector<InetAddressPtr> addr = InetAddress::getAllByName(LOG4CXX_STR("localhost"));
+ /**
+ * Tests the InetAddress::getAllByName() method with the
+ * "localhost" host name.
+ */
+ void testAllByNameLocal()
+ {
+ std::vector<InetAddressPtr> addr = InetAddress::getAllByName(LOG4CXX_STR("localhost"));
- LOGUNIT_ASSERT(addr.size() > 0);
- }
+ LOGUNIT_ASSERT(addr.size() > 0);
+ }
- /**
- * Tests the UnknownHostException.
- */
- void testUnknownHost() {
- InetAddressPtr addr = InetAddress::getByName(LOG4CXX_STR("unknown.invalid"));
- }
-
- /**
- * Tests an (likely) unreachable address.
- */
- void testUnreachable() {
- InetAddressPtr addr(InetAddress::getByName(LOG4CXX_STR("192.168.10.254")));
- LogString addrStr(addr->toString());
- LOGUNIT_ASSERT_EQUAL(addrStr.size() - 15, addrStr.find(LOG4CXX_STR("/192.168.10.254")));
- }
+ /**
+ * Tests the UnknownHostException.
+ */
+ void testUnknownHost()
+ {
+ InetAddressPtr addr = InetAddress::getByName(LOG4CXX_STR("unknown.invalid"));
+ }
+
+ /**
+ * Tests an (likely) unreachable address.
+ */
+ void testUnreachable()
+ {
+ InetAddressPtr addr(InetAddress::getByName(LOG4CXX_STR("192.168.10.254")));
+ LogString addrStr(addr->toString());
+ LOGUNIT_ASSERT_EQUAL(addrStr.size() - 15, addrStr.find(LOG4CXX_STR("/192.168.10.254")));
+ }
};
diff --git a/src/test/cpp/helpers/iso8601dateformattestcase.cpp b/src/test/cpp/helpers/iso8601dateformattestcase.cpp
index 7aa7247..13e63a6 100644
--- a/src/test/cpp/helpers/iso8601dateformattestcase.cpp
+++ b/src/test/cpp/helpers/iso8601dateformattestcase.cpp
@@ -20,7 +20,7 @@
#define LOG4CXX_TEST
#include <log4cxx/private/log4cxx_private.h>
#if LOG4CXX_HAS_STD_LOCALE
-#include <locale>
+ #include <locale>
#endif
#include "../insertwide.h"
#include <log4cxx/helpers/pool.h>
@@ -33,125 +33,134 @@
/**
Unit test {@link ISO8601DateFormat}.
-
- */
-LOGUNIT_CLASS(ISO8601DateFormatTestCase) {
- LOGUNIT_TEST_SUITE( ISO8601DateFormatTestCase );
- LOGUNIT_TEST( test1 );
- LOGUNIT_TEST( test2 );
- LOGUNIT_TEST( test3 );
- LOGUNIT_TEST( test4 );
- LOGUNIT_TEST( test5 );
- LOGUNIT_TEST( test6 );
- LOGUNIT_TEST( test7 );
- LOGUNIT_TEST_SUITE_END();
- /**
- * Asserts that formatting the provided date results
- * in the expected string.
- *
- * @param date Date date
- * @param timeZone TimeZone timezone for conversion
- * @param expected String expected string
*/
- void assertFormattedTime(log4cxx_time_t date,
- const TimeZonePtr& timeZone,
- const LogString& expected) {
- ISO8601DateFormat formatter;
- formatter.setTimeZone(timeZone);
- LogString actual;
- Pool p;
- formatter.format(actual, date, p);
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+LOGUNIT_CLASS(ISO8601DateFormatTestCase)
+{
+ LOGUNIT_TEST_SUITE( ISO8601DateFormatTestCase );
+ LOGUNIT_TEST( test1 );
+ LOGUNIT_TEST( test2 );
+ LOGUNIT_TEST( test3 );
+ LOGUNIT_TEST( test4 );
+ LOGUNIT_TEST( test5 );
+ LOGUNIT_TEST( test6 );
+ LOGUNIT_TEST( test7 );
+ LOGUNIT_TEST_SUITE_END();
+
+ /**
+ * Asserts that formatting the provided date results
+ * in the expected string.
+ *
+ * @param date Date date
+ * @param timeZone TimeZone timezone for conversion
+ * @param expected String expected string
+ */
+ void assertFormattedTime(log4cxx_time_t date,
+ const TimeZonePtr & timeZone,
+ const LogString & expected)
+ {
+ ISO8601DateFormat formatter;
+ formatter.setTimeZone(timeZone);
+ LogString actual;
+ Pool p;
+ formatter.format(actual, date, p);
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
public:
- /**
- * Convert 02 Jan 2004 00:00:00 GMT for GMT.
- */
- void test1() {
- log4cxx_time_t jan2 = Date::getMicrosecondsPerDay() * 12419;
- assertFormattedTime(jan2, TimeZone::getGMT(),
- LOG4CXX_STR("2004-01-02 00:00:00,000"));
- }
+ /**
+ * Convert 02 Jan 2004 00:00:00 GMT for GMT.
+ */
+ void test1()
+ {
+ log4cxx_time_t jan2 = Date::getMicrosecondsPerDay() * 12419;
+ assertFormattedTime(jan2, TimeZone::getGMT(),
+ LOG4CXX_STR("2004-01-02 00:00:00,000"));
+ }
- /**
- * Convert 03 Jan 2004 00:00:00 GMT for America/Chicago.
- */
- void test2() {
- //
- // 03 Jan 2004 00:00 GMT
- // (asking for the same time at a different timezone
- // will ignore the change of timezone)
- log4cxx_time_t jan3 = Date::getMicrosecondsPerDay() * 12420;
- assertFormattedTime(jan3, TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")),
- LOG4CXX_STR("2004-01-02 18:00:00,000"));
- }
+ /**
+ * Convert 03 Jan 2004 00:00:00 GMT for America/Chicago.
+ */
+ void test2()
+ {
+ //
+ // 03 Jan 2004 00:00 GMT
+ // (asking for the same time at a different timezone
+ // will ignore the change of timezone)
+ log4cxx_time_t jan3 = Date::getMicrosecondsPerDay() * 12420;
+ assertFormattedTime(jan3, TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")),
+ LOG4CXX_STR("2004-01-02 18:00:00,000"));
+ }
- /**
- * Convert 30 Jun 2004 00:00:00 GMT for GMT.
- */
- void test3() {
- log4cxx_time_t jun30 = Date::getMicrosecondsPerDay() * 12599;
- assertFormattedTime(jun30, TimeZone::getGMT(),
- LOG4CXX_STR("2004-06-30 00:00:00,000"));
- }
+ /**
+ * Convert 30 Jun 2004 00:00:00 GMT for GMT.
+ */
+ void test3()
+ {
+ log4cxx_time_t jun30 = Date::getMicrosecondsPerDay() * 12599;
+ assertFormattedTime(jun30, TimeZone::getGMT(),
+ LOG4CXX_STR("2004-06-30 00:00:00,000"));
+ }
- /**
- * Convert 1 Jul 2004 00:00:00 GMT for Chicago, daylight savings in effect.
- */
- void test4() {
- log4cxx_time_t jul1 = Date::getMicrosecondsPerDay() * 12600;
- assertFormattedTime(jul1, TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")),
- LOG4CXX_STR("2004-06-30 19:00:00,000"));
- }
+ /**
+ * Convert 1 Jul 2004 00:00:00 GMT for Chicago, daylight savings in effect.
+ */
+ void test4()
+ {
+ log4cxx_time_t jul1 = Date::getMicrosecondsPerDay() * 12600;
+ assertFormattedTime(jul1, TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")),
+ LOG4CXX_STR("2004-06-30 19:00:00,000"));
+ }
- /**
- * Test multiple calls in close intervals.
- */
- void test5() {
- // subsequent calls within one minute
- // are optimized to reuse previous formatted value
- // make a couple of nearly spaced calls
- log4cxx_time_t ticks = Date::getMicrosecondsPerDay() * 12601;
- assertFormattedTime(ticks, TimeZone::getGMT(),
- LOG4CXX_STR("2004-07-02 00:00:00,000"));
- assertFormattedTime(ticks + 8000, TimeZone::getGMT(),
- LOG4CXX_STR("2004-07-02 00:00:00,008"));
- assertFormattedTime(ticks + 17000, TimeZone::getGMT(),
- LOG4CXX_STR("2004-07-02 00:00:00,017"));
- assertFormattedTime(ticks + 237000, TimeZone::getGMT(),
- LOG4CXX_STR("2004-07-02 00:00:00,237"));
- assertFormattedTime(ticks + 1415000, TimeZone::getGMT(),
- LOG4CXX_STR("2004-07-02 00:00:01,415"));
- }
+ /**
+ * Test multiple calls in close intervals.
+ */
+ void test5()
+ {
+ // subsequent calls within one minute
+ // are optimized to reuse previous formatted value
+ // make a couple of nearly spaced calls
+ log4cxx_time_t ticks = Date::getMicrosecondsPerDay() * 12601;
+ assertFormattedTime(ticks, TimeZone::getGMT(),
+ LOG4CXX_STR("2004-07-02 00:00:00,000"));
+ assertFormattedTime(ticks + 8000, TimeZone::getGMT(),
+ LOG4CXX_STR("2004-07-02 00:00:00,008"));
+ assertFormattedTime(ticks + 17000, TimeZone::getGMT(),
+ LOG4CXX_STR("2004-07-02 00:00:00,017"));
+ assertFormattedTime(ticks + 237000, TimeZone::getGMT(),
+ LOG4CXX_STR("2004-07-02 00:00:00,237"));
+ assertFormattedTime(ticks + 1415000, TimeZone::getGMT(),
+ LOG4CXX_STR("2004-07-02 00:00:01,415"));
+ }
- /**
- * Check that caching does not disregard timezone.
- * This test would fail for revision 1.4 of DateTimeDateFormat.java.
- */
- void test6() {
- log4cxx_time_t jul3 = Date::getMicrosecondsPerDay() * 12602;
- assertFormattedTime(jul3, TimeZone::getGMT(),
- LOG4CXX_STR("2004-07-03 00:00:00,000"));
- assertFormattedTime(jul3, TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")),
- LOG4CXX_STR("2004-07-02 19:00:00,000"));
- assertFormattedTime(jul3, TimeZone::getGMT(),
- LOG4CXX_STR("2004-07-03 00:00:00,000"));
- }
+ /**
+ * Check that caching does not disregard timezone.
+ * This test would fail for revision 1.4 of DateTimeDateFormat.java.
+ */
+ void test6()
+ {
+ log4cxx_time_t jul3 = Date::getMicrosecondsPerDay() * 12602;
+ assertFormattedTime(jul3, TimeZone::getGMT(),
+ LOG4CXX_STR("2004-07-03 00:00:00,000"));
+ assertFormattedTime(jul3, TimeZone::getTimeZone(LOG4CXX_STR("GMT-5")),
+ LOG4CXX_STR("2004-07-02 19:00:00,000"));
+ assertFormattedTime(jul3, TimeZone::getGMT(),
+ LOG4CXX_STR("2004-07-03 00:00:00,000"));
+ }
- /**
- * Checks that numberFormat is implemented.
- */
- void test7() {
- LogString number;
- ISO8601DateFormat formatter;
- Pool p;
- formatter.numberFormat(number, 87, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("87"), number);
- }
+ /**
+ * Checks that numberFormat is implemented.
+ */
+ void test7()
+ {
+ LogString number;
+ ISO8601DateFormat formatter;
+ Pool p;
+ formatter.numberFormat(number, 87, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("87"), number);
+ }
diff --git a/src/test/cpp/helpers/localechanger.cpp b/src/test/cpp/helpers/localechanger.cpp
index 9c9b00b..8dce3c6 100644
--- a/src/test/cpp/helpers/localechanger.cpp
+++ b/src/test/cpp/helpers/localechanger.cpp
@@ -27,24 +27,33 @@
* Construction attemtps to change default locale.
* @param locale locale.
*/
-LocaleChanger::LocaleChanger(const char* locale) {
- effective = false;
- try {
- std::locale newLocale(locale);
- initial = std::locale::global(newLocale);
- effective = true;
- } catch(std::runtime_error&) {
- } catch(std::exception&) {
- }
- }
+LocaleChanger::LocaleChanger(const char* locale)
+{
+ effective = false;
+
+ try
+ {
+ std::locale newLocale(locale);
+ initial = std::locale::global(newLocale);
+ effective = true;
+ }
+ catch (std::runtime_error&)
+ {
+ }
+ catch (std::exception&)
+ {
+ }
+}
/**
* Restores previous locale.
*/
-LocaleChanger::~LocaleChanger() {
- if (effective) {
- std::locale::global(initial);
- }
- }
+LocaleChanger::~LocaleChanger()
+{
+ if (effective)
+ {
+ std::locale::global(initial);
+ }
+}
#endif
diff --git a/src/test/cpp/helpers/localechanger.h b/src/test/cpp/helpers/localechanger.h
index ef902b9..b001d11 100644
--- a/src/test/cpp/helpers/localechanger.h
+++ b/src/test/cpp/helpers/localechanger.h
@@ -20,40 +20,46 @@
#include <locale>
-namespace log4cxx {
- namespace helpers {
- /**
- * Utility class to change the locale for the duration of a test.
- *
- *
- *
- *
- */
- class LocaleChanger {
- public:
- /**
- * Construction attemtps to change default locale.
- * @param locale locale.
- */
- LocaleChanger(const char* locale);
+namespace log4cxx
+{
+namespace helpers
+{
+/**
+* Utility class to change the locale for the duration of a test.
+*
+*
+*
+*
+*/
+class LocaleChanger
+{
+ public:
+ /**
+ * Construction attemtps to change default locale.
+ * @param locale locale.
+ */
+ LocaleChanger(const char* locale);
- /**
- * Restores previous locale.
- */
- ~LocaleChanger();
+ /**
+ * Restores previous locale.
+ */
+ ~LocaleChanger();
- /**
- * Determines whether locale change was effective.
- * @return true if effective.
- */
- inline bool isEffective() { return effective; }
+ /**
+ * Determines whether locale change was effective.
+ * @return true if effective.
+ */
+ inline bool isEffective()
+ {
+ return effective;
+ }
- private:
- LocaleChanger(LocaleChanger&);
- LocaleChanger& operator=(LocaleChanger&);
- std::locale initial;
- bool effective;
- };
- }
+ private:
+ LocaleChanger(LocaleChanger&);
+ LocaleChanger& operator=(LocaleChanger&);
+ std::locale initial;
+ bool effective;
+};
+}
}
#endif
diff --git a/src/test/cpp/helpers/messagebuffertest.cpp b/src/test/cpp/helpers/messagebuffertest.cpp
index ea2ed34..b0dee79 100644
--- a/src/test/cpp/helpers/messagebuffertest.cpp
+++ b/src/test/cpp/helpers/messagebuffertest.cpp
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+
#include <log4cxx/helpers/messagebuffer.h>
#include <iomanip>
#include "../insertwide.h"
@@ -22,7 +22,7 @@
#include <log4cxx/logstring.h>
#if LOG4CXX_CFSTRING_API
-#include <CoreFoundation/CFString.h>
+ #include <CoreFoundation/CFString.h>
#endif
using namespace log4cxx;
@@ -33,160 +33,176 @@
*/
LOGUNIT_CLASS(MessageBufferTest)
{
- LOGUNIT_TEST_SUITE(MessageBufferTest);
- LOGUNIT_TEST(testInsertChar);
- LOGUNIT_TEST(testInsertConstStr);
- LOGUNIT_TEST(testInsertStr);
- LOGUNIT_TEST(testInsertString);
- LOGUNIT_TEST(testInsertNull);
- LOGUNIT_TEST(testInsertInt);
- LOGUNIT_TEST(testInsertManipulator);
+ LOGUNIT_TEST_SUITE(MessageBufferTest);
+ LOGUNIT_TEST(testInsertChar);
+ LOGUNIT_TEST(testInsertConstStr);
+ LOGUNIT_TEST(testInsertStr);
+ LOGUNIT_TEST(testInsertString);
+ LOGUNIT_TEST(testInsertNull);
+ LOGUNIT_TEST(testInsertInt);
+ LOGUNIT_TEST(testInsertManipulator);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(testInsertConstWStr);
- LOGUNIT_TEST(testInsertWString);
- LOGUNIT_TEST(testInsertWStr);
+ LOGUNIT_TEST(testInsertConstWStr);
+ LOGUNIT_TEST(testInsertWString);
+ LOGUNIT_TEST(testInsertWStr);
#endif
#if LOG4CXX_UNICHAR_API
- LOGUNIT_TEST(testInsertConstUStr);
- LOGUNIT_TEST(testInsertUString);
+ LOGUNIT_TEST(testInsertConstUStr);
+ LOGUNIT_TEST(testInsertUString);
#endif
#if LOG4CXX_CFSTRING_API
- LOGUNIT_TEST(testInsertCFString);
+ LOGUNIT_TEST(testInsertCFString);
#endif
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
public:
- void testInsertChar() {
- MessageBuffer buf;
- std::string greeting("Hello, World");
- CharMessageBuffer& retval = buf << "Hello, Worl" << 'd';
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
+ void testInsertChar()
+ {
+ MessageBuffer buf;
+ std::string greeting("Hello, World");
+ CharMessageBuffer& retval = buf << "Hello, Worl" << 'd';
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
- void testInsertConstStr() {
- MessageBuffer buf;
- std::string greeting("Hello, World");
- CharMessageBuffer& retval = buf << "Hello" << ", World";
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
+ void testInsertConstStr()
+ {
+ MessageBuffer buf;
+ std::string greeting("Hello, World");
+ CharMessageBuffer& retval = buf << "Hello" << ", World";
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
- void testInsertStr() {
- MessageBuffer buf;
- std::string greeting("Hello, World");
- char* part1 = (char*) malloc(10*sizeof(wchar_t));
- strcpy(part1, "Hello");
- char* part2 = (char*) malloc(10*sizeof(wchar_t));
- strcpy(part2, ", World");
- CharMessageBuffer& retval = buf << part1 << part2;
- free(part1);
- free(part2);
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
+ void testInsertStr()
+ {
+ MessageBuffer buf;
+ std::string greeting("Hello, World");
+ char* part1 = (char*) malloc(10 * sizeof(wchar_t));
+ strcpy(part1, "Hello");
+ char* part2 = (char*) malloc(10 * sizeof(wchar_t));
+ strcpy(part2, ", World");
+ CharMessageBuffer& retval = buf << part1 << part2;
+ free(part1);
+ free(part2);
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
- void testInsertString() {
- MessageBuffer buf;
- std::string greeting("Hello, World");
- CharMessageBuffer& retval = buf << std::string("Hello") << std::string(", World");
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
-
- void testInsertNull() {
- MessageBuffer buf;
- std::string greeting("Hello, null");
- CharMessageBuffer& retval = buf << "Hello, " << (const char*) 0;
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
-
- void testInsertInt() {
- MessageBuffer buf;
- std::string greeting("Hello, 5");
- std::ostream& retval = buf << "Hello, " << 5;
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(true, buf.hasStream());
- }
-
- void testInsertManipulator() {
- MessageBuffer buf;
- std::string greeting("pi=3.142");
- std::ostream& retval = buf << "pi=" << std::setprecision(4) << 3.1415926;
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(true, buf.hasStream());
- }
+ void testInsertString()
+ {
+ MessageBuffer buf;
+ std::string greeting("Hello, World");
+ CharMessageBuffer& retval = buf << std::string("Hello") << std::string(", World");
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
+
+ void testInsertNull()
+ {
+ MessageBuffer buf;
+ std::string greeting("Hello, null");
+ CharMessageBuffer& retval = buf << "Hello, " << (const char*) 0;
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
+
+ void testInsertInt()
+ {
+ MessageBuffer buf;
+ std::string greeting("Hello, 5");
+ std::ostream& retval = buf << "Hello, " << 5;
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(true, buf.hasStream());
+ }
+
+ void testInsertManipulator()
+ {
+ MessageBuffer buf;
+ std::string greeting("pi=3.142");
+ std::ostream& retval = buf << "pi=" << std::setprecision(4) << 3.1415926;
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(true, buf.hasStream());
+ }
#if LOG4CXX_WCHAR_T_API
- void testInsertConstWStr() {
- MessageBuffer buf;
- std::wstring greeting(L"Hello, World");
- WideMessageBuffer& retval = buf << L"Hello" << L", World";
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
+ void testInsertConstWStr()
+ {
+ MessageBuffer buf;
+ std::wstring greeting(L"Hello, World");
+ WideMessageBuffer& retval = buf << L"Hello" << L", World";
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
- void testInsertWString() {
- MessageBuffer buf;
- std::wstring greeting(L"Hello, World");
- WideMessageBuffer& retval = buf << std::wstring(L"Hello") << std::wstring(L", World");
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
+ void testInsertWString()
+ {
+ MessageBuffer buf;
+ std::wstring greeting(L"Hello, World");
+ WideMessageBuffer& retval = buf << std::wstring(L"Hello") << std::wstring(L", World");
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
- void testInsertWStr() {
- MessageBuffer buf;
- std::wstring greeting(L"Hello, World");
- wchar_t* part1 = (wchar_t*) malloc(10*sizeof(wchar_t));
- wcscpy(part1, L"Hello");
- wchar_t* part2 = (wchar_t*) malloc(10*sizeof(wchar_t));
- wcscpy(part2, L", World");
- WideMessageBuffer& retval = buf << part1 << part2;
- free(part1);
- free(part2);
- LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
+ void testInsertWStr()
+ {
+ MessageBuffer buf;
+ std::wstring greeting(L"Hello, World");
+ wchar_t* part1 = (wchar_t*) malloc(10 * sizeof(wchar_t));
+ wcscpy(part1, L"Hello");
+ wchar_t* part2 = (wchar_t*) malloc(10 * sizeof(wchar_t));
+ wcscpy(part2, L", World");
+ WideMessageBuffer& retval = buf << part1 << part2;
+ free(part1);
+ free(part2);
+ LOGUNIT_ASSERT_EQUAL(greeting, buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
#endif
#if LOG4CXX_UNICHAR_API
- void testInsertConstUStr() {
- MessageBuffer buf;
- const log4cxx::UniChar hello[] = { 'H', 'e', 'l', 'l', 'o', 0 };
- const log4cxx::UniChar world[] = { ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
- const log4cxx::UniChar greeting[] = { 'H', 'e', 'l', 'l', 'o',
- ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
- UniCharMessageBuffer& retval = buf << hello << world;
- LOGUNIT_ASSERT_EQUAL(std::basic_string<log4cxx::UniChar>(greeting), buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
+ void testInsertConstUStr()
+ {
+ MessageBuffer buf;
+ const log4cxx::UniChar hello[] = { 'H', 'e', 'l', 'l', 'o', 0 };
+ const log4cxx::UniChar world[] = { ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
+ const log4cxx::UniChar greeting[] = { 'H', 'e', 'l', 'l', 'o',
+ ',', ' ', 'W', 'o', 'r', 'l', 'd', 0
+ };
+ UniCharMessageBuffer& retval = buf << hello << world;
+ LOGUNIT_ASSERT_EQUAL(std::basic_string<log4cxx::UniChar>(greeting), buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
- void testInsertUString() {
- MessageBuffer buf;
- const log4cxx::UniChar hello[] = { 'H', 'e', 'l', 'l', 'o', 0 };
- const log4cxx::UniChar world[] = { ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
- const log4cxx::UniChar greeting[] = { 'H', 'e', 'l', 'l', 'o',
- ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
- UniCharMessageBuffer& retval = buf << std::basic_string<log4cxx::UniChar>(hello)
- << std::basic_string<log4cxx::UniChar>(world);
- LOGUNIT_ASSERT_EQUAL(std::basic_string<log4cxx::UniChar>(greeting), buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
+ void testInsertUString()
+ {
+ MessageBuffer buf;
+ const log4cxx::UniChar hello[] = { 'H', 'e', 'l', 'l', 'o', 0 };
+ const log4cxx::UniChar world[] = { ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
+ const log4cxx::UniChar greeting[] = { 'H', 'e', 'l', 'l', 'o',
+ ',', ' ', 'W', 'o', 'r', 'l', 'd', 0
+ };
+ UniCharMessageBuffer& retval = buf << std::basic_string<log4cxx::UniChar>(hello)
+ << std::basic_string<log4cxx::UniChar>(world);
+ LOGUNIT_ASSERT_EQUAL(std::basic_string<log4cxx::UniChar>(greeting), buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
#endif
#if LOG4CXX_CFSTRING_API
- void testInsertCFString() {
- MessageBuffer buf;
- const log4cxx::UniChar greeting[] = { 'H', 'e', 'l', 'l', 'o',
- ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
- UniCharMessageBuffer& retval = buf << CFSTR("Hello")
- << CFSTR(", World");
- LOGUNIT_ASSERT_EQUAL(std::basic_string<log4cxx::UniChar>(greeting), buf.str(retval));
- LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
- }
+ void testInsertCFString()
+ {
+ MessageBuffer buf;
+ const log4cxx::UniChar greeting[] = { 'H', 'e', 'l', 'l', 'o',
+ ',', ' ', 'W', 'o', 'r', 'l', 'd', 0
+ };
+ UniCharMessageBuffer& retval = buf << CFSTR("Hello")
+ << CFSTR(", World");
+ LOGUNIT_ASSERT_EQUAL(std::basic_string<log4cxx::UniChar>(greeting), buf.str(retval));
+ LOGUNIT_ASSERT_EQUAL(false, buf.hasStream());
+ }
#endif
diff --git a/src/test/cpp/helpers/optionconvertertestcase.cpp b/src/test/cpp/helpers/optionconvertertestcase.cpp
index 1cc3a82..d3c128a 100644
--- a/src/test/cpp/helpers/optionconvertertestcase.cpp
+++ b/src/test/cpp/helpers/optionconvertertestcase.cpp
@@ -38,182 +38,197 @@
LOGUNIT_CLASS(OptionConverterTestCase)
{
- LOGUNIT_TEST_SUITE(OptionConverterTestCase);
- LOGUNIT_TEST(varSubstTest1);
- LOGUNIT_TEST(varSubstTest2);
- LOGUNIT_TEST(varSubstTest3);
- LOGUNIT_TEST(varSubstTest4);
- LOGUNIT_TEST(varSubstTest5);
- LOGUNIT_TEST(testTmpDir);
+ LOGUNIT_TEST_SUITE(OptionConverterTestCase);
+ LOGUNIT_TEST(varSubstTest1);
+ LOGUNIT_TEST(varSubstTest2);
+ LOGUNIT_TEST(varSubstTest3);
+ LOGUNIT_TEST(varSubstTest4);
+ LOGUNIT_TEST(varSubstTest5);
+ LOGUNIT_TEST(testTmpDir);
#if APR_HAS_USER
- LOGUNIT_TEST(testUserHome);
- LOGUNIT_TEST(testUserName);
+ LOGUNIT_TEST(testUserHome);
+ LOGUNIT_TEST(testUserName);
#endif
- LOGUNIT_TEST(testUserDir);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST(testUserDir);
+ LOGUNIT_TEST_SUITE_END();
- Properties props;
- Properties nullProperties;
+ Properties props;
+ Properties nullProperties;
public:
- void setUp()
- {
- }
+ void setUp()
+ {
+ }
- void tearDown()
- {
- }
+ void tearDown()
+ {
+ }
- /**
- * Checks that environment variables were properly set
- * before invoking tests. ::putenv not reliable.
- */
- void envCheck() {
- Pool p;
- char* toto;
- apr_status_t stat = apr_env_get(&toto, "TOTO",
- p.getAPRPool());
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT_EQUAL("wonderful", toto);
- char* key1;
- stat = apr_env_get(&key1, "key1",
- p.getAPRPool());
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT_EQUAL("value1", key1);
- char* key2;
- stat = apr_env_get(&key2, "key2",
- p.getAPRPool());
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LOGUNIT_ASSERT_EQUAL("value2", key2);
- }
+ /**
+ * Checks that environment variables were properly set
+ * before invoking tests. ::putenv not reliable.
+ */
+ void envCheck()
+ {
+ Pool p;
+ char* toto;
+ apr_status_t stat = apr_env_get(&toto, "TOTO",
+ p.getAPRPool());
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT_EQUAL("wonderful", toto);
+ char* key1;
+ stat = apr_env_get(&key1, "key1",
+ p.getAPRPool());
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT_EQUAL("value1", key1);
+ char* key2;
+ stat = apr_env_get(&key2, "key2",
+ p.getAPRPool());
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LOGUNIT_ASSERT_EQUAL("value2", key2);
+ }
- void varSubstTest1()
- {
- envCheck();
- LogString r(OptionConverter::substVars(LOG4CXX_STR("hello world."), nullProperties));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("hello world."), r);
+ void varSubstTest1()
+ {
+ envCheck();
+ LogString r(OptionConverter::substVars(LOG4CXX_STR("hello world."), nullProperties));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("hello world."), r);
- r = OptionConverter::substVars(LOG4CXX_STR("hello ${TOTO} world."), nullProperties);
+ r = OptionConverter::substVars(LOG4CXX_STR("hello ${TOTO} world."), nullProperties);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("hello wonderful world."), r);
- }
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("hello wonderful world."), r);
+ }
- void varSubstTest2()
- {
- envCheck();
- LogString r(OptionConverter::substVars(LOG4CXX_STR("Test2 ${key1} mid ${key2} end."),
- nullProperties));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("Test2 value1 mid value2 end."), r);
- }
+ void varSubstTest2()
+ {
+ envCheck();
+ LogString r(OptionConverter::substVars(LOG4CXX_STR("Test2 ${key1} mid ${key2} end."),
+ nullProperties));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("Test2 value1 mid value2 end."), r);
+ }
- void varSubstTest3()
- {
- envCheck();
- LogString r(OptionConverter::substVars(
- LOG4CXX_STR("Test3 ${unset} mid ${key1} end."), nullProperties));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("Test3 mid value1 end."), r);
- }
+ void varSubstTest3()
+ {
+ envCheck();
+ LogString r(OptionConverter::substVars(
+ LOG4CXX_STR("Test3 ${unset} mid ${key1} end."), nullProperties));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("Test3 mid value1 end."), r);
+ }
- void varSubstTest4()
- {
- LogString res;
- LogString val(LOG4CXX_STR("Test4 ${incomplete "));
- try
- {
- res = OptionConverter::substVars(val, nullProperties);
- }
- catch(IllegalArgumentException& e)
- {
- std::string witness("\"Test4 ${incomplete \" has no closing brace. Opening brace at position 6.");
- LOGUNIT_ASSERT_EQUAL(witness, (std::string) e.what());
- }
- }
+ void varSubstTest4()
+ {
+ LogString res;
+ LogString val(LOG4CXX_STR("Test4 ${incomplete "));
+
+ try
+ {
+ res = OptionConverter::substVars(val, nullProperties);
+ }
+ catch (IllegalArgumentException& e)
+ {
+ std::string witness("\"Test4 ${incomplete \" has no closing brace. Opening brace at position 6.");
+ LOGUNIT_ASSERT_EQUAL(witness, (std::string) e.what());
+ }
+ }
- void varSubstTest5()
- {
- Properties props1;
- props1.setProperty(LOG4CXX_STR("p1"), LOG4CXX_STR("x1"));
- props1.setProperty(LOG4CXX_STR("p2"), LOG4CXX_STR("${p1}"));
- LogString res = OptionConverter::substVars(LOG4CXX_STR("${p2}"), props1);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("x1"), res);
- }
+ void varSubstTest5()
+ {
+ Properties props1;
+ props1.setProperty(LOG4CXX_STR("p1"), LOG4CXX_STR("x1"));
+ props1.setProperty(LOG4CXX_STR("p2"), LOG4CXX_STR("${p1}"));
+ LogString res = OptionConverter::substVars(LOG4CXX_STR("${p2}"), props1);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("x1"), res);
+ }
- void testTmpDir()
- {
- LogString actual(OptionConverter::substVars(
- LOG4CXX_STR("${java.io.tmpdir}"), nullProperties));
- Pool p;
- const char* tmpdir = NULL;
- apr_status_t stat = apr_temp_dir_get(&tmpdir, p.getAPRPool());
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LogString expected;
- Transcoder::decode(tmpdir, expected);
+ void testTmpDir()
+ {
+ LogString actual(OptionConverter::substVars(
+ LOG4CXX_STR("${java.io.tmpdir}"), nullProperties));
+ Pool p;
+ const char* tmpdir = NULL;
+ apr_status_t stat = apr_temp_dir_get(&tmpdir, p.getAPRPool());
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ LogString expected;
+ Transcoder::decode(tmpdir, expected);
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
#if APR_HAS_USER
- void testUserHome() {
- LogString actual(OptionConverter::substVars(
- LOG4CXX_STR("${user.home}"), nullProperties));
- Pool p;
+ void testUserHome()
+ {
+ LogString actual(OptionConverter::substVars(
+ LOG4CXX_STR("${user.home}"), nullProperties));
+ Pool p;
- apr_uid_t userid;
- apr_gid_t groupid;
- apr_status_t stat = apr_uid_current(&userid, &groupid, p.getAPRPool());
- if (stat == APR_SUCCESS) {
- char* username = NULL;
- stat = apr_uid_name_get(&username, userid, p.getAPRPool());
- if (stat == APR_SUCCESS) {
- char* dirname = NULL;
- stat = apr_uid_homepath_get(&dirname, username, p.getAPRPool());
- if (stat == APR_SUCCESS) {
- LogString expected;
- Transcoder::decode(dirname, expected);
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
- }
- }
+ apr_uid_t userid;
+ apr_gid_t groupid;
+ apr_status_t stat = apr_uid_current(&userid, &groupid, p.getAPRPool());
- }
+ if (stat == APR_SUCCESS)
+ {
+ char* username = NULL;
+ stat = apr_uid_name_get(&username, userid, p.getAPRPool());
- void testUserName() {
- LogString actual(OptionConverter::substVars(
- LOG4CXX_STR("${user.name}"), nullProperties));
- Pool p;
- apr_uid_t userid;
- apr_gid_t groupid;
- apr_status_t stat = apr_uid_current(&userid, &groupid, p.getAPRPool());
- if (stat == APR_SUCCESS) {
- char* username = NULL;
- stat = apr_uid_name_get(&username, userid, p.getAPRPool());
- if (stat == APR_SUCCESS) {
- LogString expected;
- Transcoder::decode(username, expected);
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
- }
- }
+ if (stat == APR_SUCCESS)
+ {
+ char* dirname = NULL;
+ stat = apr_uid_homepath_get(&dirname, username, p.getAPRPool());
+
+ if (stat == APR_SUCCESS)
+ {
+ LogString expected;
+ Transcoder::decode(dirname, expected);
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
+ }
+ }
+
+ }
+
+ void testUserName()
+ {
+ LogString actual(OptionConverter::substVars(
+ LOG4CXX_STR("${user.name}"), nullProperties));
+ Pool p;
+ apr_uid_t userid;
+ apr_gid_t groupid;
+ apr_status_t stat = apr_uid_current(&userid, &groupid, p.getAPRPool());
+
+ if (stat == APR_SUCCESS)
+ {
+ char* username = NULL;
+ stat = apr_uid_name_get(&username, userid, p.getAPRPool());
+
+ if (stat == APR_SUCCESS)
+ {
+ LogString expected;
+ Transcoder::decode(username, expected);
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
+ }
+ }
#endif
- void testUserDir() {
- LogString actual(OptionConverter::substVars(
- LOG4CXX_STR("${user.dir}"), nullProperties));
- Pool p;
+ void testUserDir()
+ {
+ LogString actual(OptionConverter::substVars(
+ LOG4CXX_STR("${user.dir}"), nullProperties));
+ Pool p;
- char* dirname = NULL;
- apr_status_t stat = apr_filepath_get(&dirname, APR_FILEPATH_NATIVE, p.getAPRPool());
- LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
+ char* dirname = NULL;
+ apr_status_t stat = apr_filepath_get(&dirname, APR_FILEPATH_NATIVE, p.getAPRPool());
+ LOGUNIT_ASSERT_EQUAL(APR_SUCCESS, stat);
- LogString expected;
- Transcoder::decode(dirname, expected);
+ LogString expected;
+ Transcoder::decode(dirname, expected);
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(OptionConverterTestCase);
diff --git a/src/test/cpp/helpers/propertiestestcase.cpp b/src/test/cpp/helpers/propertiestestcase.cpp
index 07ded38..b97fff3 100644
--- a/src/test/cpp/helpers/propertiestestcase.cpp
+++ b/src/test/cpp/helpers/propertiestestcase.cpp
@@ -26,225 +26,240 @@
LOGUNIT_CLASS(PropertiesTestCase)
{
- LOGUNIT_TEST_SUITE(PropertiesTestCase);
- LOGUNIT_TEST(testLoad1);
- LOGUNIT_TEST(testTab1);
- LOGUNIT_TEST(testTab2);
- LOGUNIT_TEST(testTab3);
- LOGUNIT_TEST(testTab4);
- LOGUNIT_TEST(testTab5);
- LOGUNIT_TEST(testTab6);
- LOGUNIT_TEST(testTab7);
- LOGUNIT_TEST(testCRLF1);
- LOGUNIT_TEST(testEscT1);
- LOGUNIT_TEST(testEscT2);
- LOGUNIT_TEST(testEscN1);
- LOGUNIT_TEST(testEscN2);
- LOGUNIT_TEST(testEscR1);
- LOGUNIT_TEST(testEscR2);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(PropertiesTestCase);
+ LOGUNIT_TEST(testLoad1);
+ LOGUNIT_TEST(testTab1);
+ LOGUNIT_TEST(testTab2);
+ LOGUNIT_TEST(testTab3);
+ LOGUNIT_TEST(testTab4);
+ LOGUNIT_TEST(testTab5);
+ LOGUNIT_TEST(testTab6);
+ LOGUNIT_TEST(testTab7);
+ LOGUNIT_TEST(testCRLF1);
+ LOGUNIT_TEST(testEscT1);
+ LOGUNIT_TEST(testEscT2);
+ LOGUNIT_TEST(testEscN1);
+ LOGUNIT_TEST(testEscN2);
+ LOGUNIT_TEST(testEscR1);
+ LOGUNIT_TEST(testEscR2);
+ LOGUNIT_TEST_SUITE_END();
public:
- void testLoad1() {
- //
- // read patternLayout1.properties
- FileInputStreamPtr propFile =
- new FileInputStream(LOG4CXX_STR("input/patternLayout1.properties"));
- Properties properties;
- properties.load(propFile);
- LogString pattern(properties.getProperty(LOG4CXX_STR("log4j.appender.testAppender.layout.ConversionPattern")));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("%-5p - %m%n"), pattern);
- }
-
- /**
- * Test tab as separator between key and value, see LOGCXX-291.
- */
- void testTab1() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab1")));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("tab delimited")), actual);
- }
+ void testLoad1()
+ {
+ //
+ // read patternLayout1.properties
+ FileInputStreamPtr propFile =
+ new FileInputStream(LOG4CXX_STR("input/patternLayout1.properties"));
+ Properties properties;
+ properties.load(propFile);
+ LogString pattern(properties.getProperty(LOG4CXX_STR("log4j.appender.testAppender.layout.ConversionPattern")));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("%-5p - %m%n"), pattern);
+ }
- /**
- * Test tab as whitespace before key, see LOGCXX-291.
- */
- void testTab2() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab2")));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("tab before key")), actual);
- }
+ /**
+ * Test tab as separator between key and value, see LOGCXX-291.
+ */
+ void testTab1()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab1")));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("tab delimited")), actual);
+ }
- /**
- * Test tab as escaped within key, see LOGCXX-291.
- */
- void testTab3() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString key(LOG4CXX_STR("propertiestestcase.tab3"));
- key.append(1, 0x09);
- LogString actual(properties.getProperty(key));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("key contains tab")), actual);
- }
+ /**
+ * Test tab as whitespace before key, see LOGCXX-291.
+ */
+ void testTab2()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab2")));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("tab before key")), actual);
+ }
- /**
- * Test tab after delimitor, see LOGCXX-291.
- */
- void testTab4() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab4")));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("tab after equals")), actual);
- }
+ /**
+ * Test tab as escaped within key, see LOGCXX-291.
+ */
+ void testTab3()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString key(LOG4CXX_STR("propertiestestcase.tab3"));
+ key.append(1, 0x09);
+ LogString actual(properties.getProperty(key));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("key contains tab")), actual);
+ }
- /**
- * Test tab after continuation in key, see LOGCXX-291.
- */
- void testTab5() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab5")));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("tab after continue")), actual);
- }
+ /**
+ * Test tab after delimitor, see LOGCXX-291.
+ */
+ void testTab4()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab4")));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("tab after equals")), actual);
+ }
- /**
- * Test tab escaped in value, see LOGCXX-291.
- */
- void testTab6() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab6")));
- LogString expected(1, 0x09);
- expected.append(LOG4CXX_STR(" in value"));
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+ /**
+ * Test tab after continuation in key, see LOGCXX-291.
+ */
+ void testTab5()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab5")));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("tab after continue")), actual);
+ }
- /**
- * Test tab in value continuation, see LOGCXX-291.
- */
- void testTab7() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab7")));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("continuedvalue")), actual);
- }
+ /**
+ * Test tab escaped in value, see LOGCXX-291.
+ */
+ void testTab6()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab6")));
+ LogString expected(1, 0x09);
+ expected.append(LOG4CXX_STR(" in value"));
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
- /**
- * Test tab in value continuation, see LOGCXX-292.
- */
- void testCRLF1() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.crlf1")));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("continuedvalue")), actual);
- }
+ /**
+ * Test tab in value continuation, see LOGCXX-291.
+ */
+ void testTab7()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.tab7")));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("continuedvalue")), actual);
+ }
- /**
- * Test tab as escaped within key, see LOGCXX-293.
- */
- void testEscT1() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString key(LOG4CXX_STR("propertiestestcase.esct1"));
- key.append(1, 0x09);
- LogString actual(properties.getProperty(key));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("key contains tab")), actual);
- }
+ /**
+ * Test tab in value continuation, see LOGCXX-292.
+ */
+ void testCRLF1()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.crlf1")));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("continuedvalue")), actual);
+ }
+
+ /**
+ * Test tab as escaped within key, see LOGCXX-293.
+ */
+ void testEscT1()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString key(LOG4CXX_STR("propertiestestcase.esct1"));
+ key.append(1, 0x09);
+ LogString actual(properties.getProperty(key));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("key contains tab")), actual);
+ }
- /**
- * Test tab escaped in value, see LOGCXX-293.
- */
- void testEscT2() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.esct2")));
- LogString expected(1, 0x09);
- expected.append(LOG4CXX_STR(" in value"));
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+ /**
+ * Test tab escaped in value, see LOGCXX-293.
+ */
+ void testEscT2()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.esct2")));
+ LogString expected(1, 0x09);
+ expected.append(LOG4CXX_STR(" in value"));
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
- /**
- * Test \n within key, see LOGCXX-293.
- */
- void testEscN1() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;;
- properties.load(propFile);
- LogString key(LOG4CXX_STR("propertiestestcase.escn1"));
- key.append(1, 0x0A);
- LogString actual(properties.getProperty(key));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("key contains lf")), actual);
- }
+ /**
+ * Test \n within key, see LOGCXX-293.
+ */
+ void testEscN1()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;;
+ properties.load(propFile);
+ LogString key(LOG4CXX_STR("propertiestestcase.escn1"));
+ key.append(1, 0x0A);
+ LogString actual(properties.getProperty(key));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("key contains lf")), actual);
+ }
- /**
- * Test \n in value, see LOGCXX-293.
- */
- void testEscN2() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.escn2")));
- LogString expected(1, 0x0A);
- expected.append(LOG4CXX_STR(" in value"));
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+ /**
+ * Test \n in value, see LOGCXX-293.
+ */
+ void testEscN2()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.escn2")));
+ LogString expected(1, 0x0A);
+ expected.append(LOG4CXX_STR(" in value"));
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
- /**
- * Test \r within key, see LOGCXX-293.
- */
- void testEscR1() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString key(LOG4CXX_STR("propertiestestcase.escr1"));
- key.append(1, 0x0D);
- LogString actual(properties.getProperty(key));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("key contains cr")), actual);
- }
+ /**
+ * Test \r within key, see LOGCXX-293.
+ */
+ void testEscR1()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString key(LOG4CXX_STR("propertiestestcase.escr1"));
+ key.append(1, 0x0D);
+ LogString actual(properties.getProperty(key));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("key contains cr")), actual);
+ }
- /**
- * Test \r in value, see LOGCXX-293.
- */
- void testEscR2() {
- FileInputStreamPtr propFile(
- new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
- Properties properties;
- properties.load(propFile);
- LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.escr2")));
- LogString expected(1, 0x0D);
- expected.append(LOG4CXX_STR(" in value"));
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+ /**
+ * Test \r in value, see LOGCXX-293.
+ */
+ void testEscR2()
+ {
+ FileInputStreamPtr propFile(
+ new FileInputStream(LOG4CXX_STR("input/propertiestestcase.properties")));
+ Properties properties;
+ properties.load(propFile);
+ LogString actual(properties.getProperty(LOG4CXX_STR("propertiestestcase.escr2")));
+ LogString expected(1, 0x0D);
+ expected.append(LOG4CXX_STR(" in value"));
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
};
diff --git a/src/test/cpp/helpers/relativetimedateformattestcase.cpp b/src/test/cpp/helpers/relativetimedateformattestcase.cpp
index 88d4351..a28ebce 100644
--- a/src/test/cpp/helpers/relativetimedateformattestcase.cpp
+++ b/src/test/cpp/helpers/relativetimedateformattestcase.cpp
@@ -33,60 +33,64 @@
/**
Unit test {@link RelativeTimeDateFormat} class.
-
+
*/
-LOGUNIT_CLASS(RelativeTimeDateFormatTestCase) {
- LOGUNIT_TEST_SUITE(RelativeTimeDateFormatTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(RelativeTimeDateFormatTestCase)
+{
+ LOGUNIT_TEST_SUITE(RelativeTimeDateFormatTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST_SUITE_END();
- public:
+public:
- /**
- * Convert 2 Jan 2004
- */
- void test1() {
- log4cxx_time_t jan2 = Date::getMicrosecondsPerDay() * 12419;
- log4cxx_time_t preStartTime = LoggingEvent::getStartTime();
+ /**
+ * Convert 2 Jan 2004
+ */
+ void test1()
+ {
+ log4cxx_time_t jan2 = Date::getMicrosecondsPerDay() * 12419;
+ log4cxx_time_t preStartTime = LoggingEvent::getStartTime();
- RelativeTimeDateFormat formatter;
+ RelativeTimeDateFormat formatter;
- Pool p;
+ Pool p;
- LogString actual;
+ LogString actual;
- formatter.format(actual, jan2, p);
+ formatter.format(actual, jan2, p);
- log4cxx_time_t elapsed = log4cxx::helpers::StringHelper::toInt64(actual);
+ log4cxx_time_t elapsed = log4cxx::helpers::StringHelper::toInt64(actual);
- LOGUNIT_ASSERT(preStartTime + elapsed*1000 > jan2 - 2000);
- LOGUNIT_ASSERT(preStartTime + elapsed*1000 < jan2 + 2000);
- }
+ LOGUNIT_ASSERT(preStartTime + elapsed * 1000 > jan2 - 2000);
+ LOGUNIT_ASSERT(preStartTime + elapsed * 1000 < jan2 + 2000);
+ }
- /**
- * Checks that numberFormat works as expected.
- */
- void test2() {
- LogString numb;
- Pool p;
- RelativeTimeDateFormat formatter;
- formatter.numberFormat(numb, 87, p);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("87"), numb);
- }
+ /**
+ * Checks that numberFormat works as expected.
+ */
+ void test2()
+ {
+ LogString numb;
+ Pool p;
+ RelativeTimeDateFormat formatter;
+ formatter.numberFormat(numb, 87, p);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("87"), numb);
+ }
- /**
- * Checks that setting timezone doesn't throw an exception.
- */
- void test3() {
- RelativeTimeDateFormat formatter;
- formatter.setTimeZone(TimeZone::getGMT());
- }
+ /**
+ * Checks that setting timezone doesn't throw an exception.
+ */
+ void test3()
+ {
+ RelativeTimeDateFormat formatter;
+ formatter.setTimeZone(TimeZone::getGMT());
+ }
};
diff --git a/src/test/cpp/helpers/stringhelpertestcase.cpp b/src/test/cpp/helpers/stringhelpertestcase.cpp
index 1085265..aba933e 100644
--- a/src/test/cpp/helpers/stringhelpertestcase.cpp
+++ b/src/test/cpp/helpers/stringhelpertestcase.cpp
@@ -26,98 +26,108 @@
/**
Unit test for StringHelper.
-
-
+
+
*/
LOGUNIT_CLASS(StringHelperTestCase)
- {
- LOGUNIT_TEST_SUITE( StringHelperTestCase );
- LOGUNIT_TEST( testStartsWith1 );
- LOGUNIT_TEST( testStartsWith2 );
- LOGUNIT_TEST( testStartsWith3 );
- LOGUNIT_TEST( testStartsWith4 );
- LOGUNIT_TEST( testStartsWith5 );
- LOGUNIT_TEST( testEndsWith1 );
- LOGUNIT_TEST( testEndsWith2 );
- LOGUNIT_TEST( testEndsWith3 );
- LOGUNIT_TEST( testEndsWith4 );
- LOGUNIT_TEST( testEndsWith5 );
- LOGUNIT_TEST_SUITE_END();
+{
+ LOGUNIT_TEST_SUITE( StringHelperTestCase );
+ LOGUNIT_TEST( testStartsWith1 );
+ LOGUNIT_TEST( testStartsWith2 );
+ LOGUNIT_TEST( testStartsWith3 );
+ LOGUNIT_TEST( testStartsWith4 );
+ LOGUNIT_TEST( testStartsWith5 );
+ LOGUNIT_TEST( testEndsWith1 );
+ LOGUNIT_TEST( testEndsWith2 );
+ LOGUNIT_TEST( testEndsWith3 );
+ LOGUNIT_TEST( testEndsWith4 );
+ LOGUNIT_TEST( testEndsWith5 );
+ LOGUNIT_TEST_SUITE_END();
public:
- /**
- * Check that startsWith("foobar", "foo") returns true.
- */
- void testStartsWith1() {
- LOGUNIT_ASSERT_EQUAL(true, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("foo")));
- }
+ /**
+ * Check that startsWith("foobar", "foo") returns true.
+ */
+ void testStartsWith1()
+ {
+ LOGUNIT_ASSERT_EQUAL(true, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("foo")));
+ }
- /**
- * Check that startsWith("bar", "foobar") returns false.
- */
- void testStartsWith2() {
- LOGUNIT_ASSERT_EQUAL(false, StringHelper::startsWith(LOG4CXX_STR("foo"), LOG4CXX_STR("foobar")));
- }
+ /**
+ * Check that startsWith("bar", "foobar") returns false.
+ */
+ void testStartsWith2()
+ {
+ LOGUNIT_ASSERT_EQUAL(false, StringHelper::startsWith(LOG4CXX_STR("foo"), LOG4CXX_STR("foobar")));
+ }
- /**
- * Check that startsWith("foobar", "foobar") returns true.
- */
- void testStartsWith3() {
- LOGUNIT_ASSERT_EQUAL(true, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("foobar")));
- }
+ /**
+ * Check that startsWith("foobar", "foobar") returns true.
+ */
+ void testStartsWith3()
+ {
+ LOGUNIT_ASSERT_EQUAL(true, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("foobar")));
+ }
- /**
- * Check that startsWith("foobar", "") returns true.
- */
- void testStartsWith4() {
- LOGUNIT_ASSERT_EQUAL(true, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("")));
- }
+ /**
+ * Check that startsWith("foobar", "") returns true.
+ */
+ void testStartsWith4()
+ {
+ LOGUNIT_ASSERT_EQUAL(true, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("")));
+ }
- /**
- * Check that startsWith("foobar", "abc") returns false.
- */
- void testStartsWith5() {
- LOGUNIT_ASSERT_EQUAL(false, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("abc")));
- }
+ /**
+ * Check that startsWith("foobar", "abc") returns false.
+ */
+ void testStartsWith5()
+ {
+ LOGUNIT_ASSERT_EQUAL(false, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("abc")));
+ }
- /**
- * Check that endsWith("foobar", "bar") returns true.
- */
- void testEndsWith1() {
- LOGUNIT_ASSERT_EQUAL(true, StringHelper::endsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("bar")));
- }
+ /**
+ * Check that endsWith("foobar", "bar") returns true.
+ */
+ void testEndsWith1()
+ {
+ LOGUNIT_ASSERT_EQUAL(true, StringHelper::endsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("bar")));
+ }
- /**
- * Check that endsWith("bar", "foobar") returns false.
- */
- void testEndsWith2() {
- LOGUNIT_ASSERT_EQUAL(false, StringHelper::endsWith(LOG4CXX_STR("bar"), LOG4CXX_STR("foobar")));
- }
+ /**
+ * Check that endsWith("bar", "foobar") returns false.
+ */
+ void testEndsWith2()
+ {
+ LOGUNIT_ASSERT_EQUAL(false, StringHelper::endsWith(LOG4CXX_STR("bar"), LOG4CXX_STR("foobar")));
+ }
- /**
- * Check that endsWith("foobar", "foobar") returns true.
- */
- void testEndsWith3() {
- LOGUNIT_ASSERT_EQUAL(true, StringHelper::endsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("foobar")));
- }
+ /**
+ * Check that endsWith("foobar", "foobar") returns true.
+ */
+ void testEndsWith3()
+ {
+ LOGUNIT_ASSERT_EQUAL(true, StringHelper::endsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("foobar")));
+ }
- /**
- * Check that endsWith("foobar", "") returns true.
- */
- void testEndsWith4() {
- LOGUNIT_ASSERT_EQUAL(true, StringHelper::endsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("")));
- }
+ /**
+ * Check that endsWith("foobar", "") returns true.
+ */
+ void testEndsWith4()
+ {
+ LOGUNIT_ASSERT_EQUAL(true, StringHelper::endsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("")));
+ }
- /**
- * Check that endsWith("foobar", "abc") returns false.
- */
- void testEndsWith5() {
- LOGUNIT_ASSERT_EQUAL(false, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("abc")));
- }
+ /**
+ * Check that endsWith("foobar", "abc") returns false.
+ */
+ void testEndsWith5()
+ {
+ LOGUNIT_ASSERT_EQUAL(false, StringHelper::startsWith(LOG4CXX_STR("foobar"), LOG4CXX_STR("abc")));
+ }
};
diff --git a/src/test/cpp/helpers/stringtokenizertestcase.cpp b/src/test/cpp/helpers/stringtokenizertestcase.cpp
index 85043e5..b0b9bf4 100644
--- a/src/test/cpp/helpers/stringtokenizertestcase.cpp
+++ b/src/test/cpp/helpers/stringtokenizertestcase.cpp
@@ -25,110 +25,136 @@
LOGUNIT_CLASS(StringTokenizerTestCase)
{
- LOGUNIT_TEST_SUITE(StringTokenizerTestCase);
- LOGUNIT_TEST(testNextTokenEmptyString);
- LOGUNIT_TEST(testHasMoreTokensEmptyString);
- LOGUNIT_TEST(testNextTokenAllDelim);
- LOGUNIT_TEST(testHasMoreTokensAllDelim);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(StringTokenizerTestCase);
+ LOGUNIT_TEST(testNextTokenEmptyString);
+ LOGUNIT_TEST(testHasMoreTokensEmptyString);
+ LOGUNIT_TEST(testNextTokenAllDelim);
+ LOGUNIT_TEST(testHasMoreTokensAllDelim);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST_SUITE_END();
public:
- void testNextTokenEmptyString() {
- LogString src;
- LogString delim(LOG4CXX_STR(" "));
- StringTokenizer tokenizer(src, delim);
- try {
- LogString token(tokenizer.nextToken());
- } catch (NoSuchElementException &ex) {
- return;
- }
- LOGUNIT_ASSERT(false);
- }
+ void testNextTokenEmptyString()
+ {
+ LogString src;
+ LogString delim(LOG4CXX_STR(" "));
+ StringTokenizer tokenizer(src, delim);
- void testHasMoreTokensEmptyString() {
- LogString src;
- LogString delim(LOG4CXX_STR(" "));
- StringTokenizer tokenizer(src, delim);
- LOGUNIT_ASSERT_EQUAL(false, tokenizer.hasMoreTokens());
- }
+ try
+ {
+ LogString token(tokenizer.nextToken());
+ }
+ catch (NoSuchElementException& ex)
+ {
+ return;
+ }
- void testNextTokenAllDelim() {
- LogString src(LOG4CXX_STR("==="));
- LogString delim(LOG4CXX_STR("="));
- StringTokenizer tokenizer(src, delim);
- try {
- LogString token(tokenizer.nextToken());
- } catch (NoSuchElementException &ex) {
- return;
- }
- LOGUNIT_ASSERT(false);
- }
+ LOGUNIT_ASSERT(false);
+ }
- void testHasMoreTokensAllDelim() {
- LogString src(LOG4CXX_STR("==="));
- LogString delim(LOG4CXX_STR("="));
- StringTokenizer tokenizer(src, delim);
- LOGUNIT_ASSERT_EQUAL(false, tokenizer.hasMoreTokens());
- }
+ void testHasMoreTokensEmptyString()
+ {
+ LogString src;
+ LogString delim(LOG4CXX_STR(" "));
+ StringTokenizer tokenizer(src, delim);
+ LOGUNIT_ASSERT_EQUAL(false, tokenizer.hasMoreTokens());
+ }
- void testBody(const LogString& src, const LogString& delim) {
- StringTokenizer tokenizer(src, delim);
- LOGUNIT_ASSERT_EQUAL(true, tokenizer.hasMoreTokens());
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("log4j"), tokenizer.nextToken());
- LOGUNIT_ASSERT_EQUAL(true, tokenizer.hasMoreTokens());
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("properties"), tokenizer.nextToken());
- LOGUNIT_ASSERT_EQUAL(true, tokenizer.hasMoreTokens());
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("txt"), tokenizer.nextToken());
- LOGUNIT_ASSERT_EQUAL(false, tokenizer.hasMoreTokens());
- try {
- LogString token(tokenizer.nextToken());
- } catch (NoSuchElementException& ex) {
- return;
- }
- LOGUNIT_ASSERT(false);
- }
+ void testNextTokenAllDelim()
+ {
+ LogString src(LOG4CXX_STR("==="));
+ LogString delim(LOG4CXX_STR("="));
+ StringTokenizer tokenizer(src, delim);
- void test1() {
- LogString src(LOG4CXX_STR("log4j.properties.txt"));
- LogString delim(LOG4CXX_STR("."));
- testBody(src, delim);
- }
+ try
+ {
+ LogString token(tokenizer.nextToken());
+ }
+ catch (NoSuchElementException& ex)
+ {
+ return;
+ }
- void test2() {
- LogString src(LOG4CXX_STR(".log4j.properties.txt"));
- LogString delim(LOG4CXX_STR("."));
- testBody(src, delim);
- }
+ LOGUNIT_ASSERT(false);
+ }
- void test3() {
- LogString src(LOG4CXX_STR("log4j.properties.txt."));
- LogString delim(LOG4CXX_STR("."));
- testBody(src, delim);
- }
+ void testHasMoreTokensAllDelim()
+ {
+ LogString src(LOG4CXX_STR("==="));
+ LogString delim(LOG4CXX_STR("="));
+ StringTokenizer tokenizer(src, delim);
+ LOGUNIT_ASSERT_EQUAL(false, tokenizer.hasMoreTokens());
+ }
- void test4() {
- LogString src(LOG4CXX_STR("log4j..properties....txt"));
- LogString delim(LOG4CXX_STR("."));
- testBody(src, delim);
- }
+ void testBody(const LogString & src, const LogString & delim)
+ {
+ StringTokenizer tokenizer(src, delim);
+ LOGUNIT_ASSERT_EQUAL(true, tokenizer.hasMoreTokens());
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("log4j"), tokenizer.nextToken());
+ LOGUNIT_ASSERT_EQUAL(true, tokenizer.hasMoreTokens());
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("properties"), tokenizer.nextToken());
+ LOGUNIT_ASSERT_EQUAL(true, tokenizer.hasMoreTokens());
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("txt"), tokenizer.nextToken());
+ LOGUNIT_ASSERT_EQUAL(false, tokenizer.hasMoreTokens());
- void test5() {
- LogString src(LOG4CXX_STR("log4j properties,txt"));
- LogString delim(LOG4CXX_STR(" ,"));
- testBody(src, delim);
- }
+ try
+ {
+ LogString token(tokenizer.nextToken());
+ }
+ catch (NoSuchElementException& ex)
+ {
+ return;
+ }
- void test6() {
- LogString src(LOG4CXX_STR(" log4j properties,txt "));
- LogString delim(LOG4CXX_STR(" ,"));
- testBody(src, delim);
- }
+ LOGUNIT_ASSERT(false);
+ }
+
+ void test1()
+ {
+ LogString src(LOG4CXX_STR("log4j.properties.txt"));
+ LogString delim(LOG4CXX_STR("."));
+ testBody(src, delim);
+ }
+
+ void test2()
+ {
+ LogString src(LOG4CXX_STR(".log4j.properties.txt"));
+ LogString delim(LOG4CXX_STR("."));
+ testBody(src, delim);
+ }
+
+ void test3()
+ {
+ LogString src(LOG4CXX_STR("log4j.properties.txt."));
+ LogString delim(LOG4CXX_STR("."));
+ testBody(src, delim);
+ }
+
+ void test4()
+ {
+ LogString src(LOG4CXX_STR("log4j..properties....txt"));
+ LogString delim(LOG4CXX_STR("."));
+ testBody(src, delim);
+ }
+
+ void test5()
+ {
+ LogString src(LOG4CXX_STR("log4j properties,txt"));
+ LogString delim(LOG4CXX_STR(" ,"));
+ testBody(src, delim);
+ }
+
+ void test6()
+ {
+ LogString src(LOG4CXX_STR(" log4j properties,txt "));
+ LogString delim(LOG4CXX_STR(" ,"));
+ testBody(src, delim);
+ }
};
diff --git a/src/test/cpp/helpers/syslogwritertest.cpp b/src/test/cpp/helpers/syslogwritertest.cpp
index b5961f9..e46543a 100644
--- a/src/test/cpp/helpers/syslogwritertest.cpp
+++ b/src/test/cpp/helpers/syslogwritertest.cpp
@@ -24,19 +24,20 @@
LOGUNIT_CLASS(SyslogWriterTest)
{
- LOGUNIT_TEST_SUITE(SyslogWriterTest);
- LOGUNIT_TEST(testUnknownHost);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(SyslogWriterTest);
+ LOGUNIT_TEST(testUnknownHost);
+ LOGUNIT_TEST_SUITE_END();
public:
- /**
- * Tests writing to an unknown host.
- */
- void testUnknownHost() {
- SyslogWriter writer(LOG4CXX_STR("unknown.invalid"));
- writer.write(LOG4CXX_STR("Hello, Unknown World."));
- }
-
+ /**
+ * Tests writing to an unknown host.
+ */
+ void testUnknownHost()
+ {
+ SyslogWriter writer(LOG4CXX_STR("unknown.invalid"));
+ writer.write(LOG4CXX_STR("Hello, Unknown World."));
+ }
+
};
diff --git a/src/test/cpp/helpers/threadtestcase.cpp b/src/test/cpp/helpers/threadtestcase.cpp
index c7df2c0..21fc671 100644
--- a/src/test/cpp/helpers/threadtestcase.cpp
+++ b/src/test/cpp/helpers/threadtestcase.cpp
@@ -26,39 +26,46 @@
/**
Unit test for Thread.
-
- */
-LOGUNIT_CLASS(ThreadTestCase) {
- LOGUNIT_TEST_SUITE(ThreadTestCase);
- LOGUNIT_TEST(testInterrupt);
- LOGUNIT_TEST_SUITE_END();
- public:
- /**
- * Start a thread that will wait for a minute, then interrupt it.
*/
- void testInterrupt() {
- Thread thread1;
- bool interrupted = false;
- thread1.run(sleep, &interrupted);
- apr_sleep(100000);
- apr_time_t start = apr_time_now();
- thread1.interrupt();
- thread1.join();
- LOGUNIT_ASSERT_EQUAL(true, interrupted);
- apr_time_t elapsed = apr_time_now() - start;
- LOGUNIT_ASSERT(elapsed < 1000000);
- }
+LOGUNIT_CLASS(ThreadTestCase)
+{
+ LOGUNIT_TEST_SUITE(ThreadTestCase);
+ LOGUNIT_TEST(testInterrupt);
+ LOGUNIT_TEST_SUITE_END();
+
+public:
+ /**
+ * Start a thread that will wait for a minute, then interrupt it.
+ */
+ void testInterrupt()
+ {
+ Thread thread1;
+ bool interrupted = false;
+ thread1.run(sleep, &interrupted);
+ apr_sleep(100000);
+ apr_time_t start = apr_time_now();
+ thread1.interrupt();
+ thread1.join();
+ LOGUNIT_ASSERT_EQUAL(true, interrupted);
+ apr_time_t elapsed = apr_time_now() - start;
+ LOGUNIT_ASSERT(elapsed < 1000000);
+ }
private:
- static void* LOG4CXX_THREAD_FUNC sleep(apr_thread_t* thread, void* data) {
- try {
- Thread::sleep(60000);
- } catch(InterruptedException& ex) {
- *(reinterpret_cast<bool*>(data)) = true;
- }
- return NULL;
- }
+ static void* LOG4CXX_THREAD_FUNC sleep(apr_thread_t* thread, void* data)
+ {
+ try
+ {
+ Thread::sleep(60000);
+ }
+ catch (InterruptedException& ex)
+ {
+ *(reinterpret_cast<bool*>(data)) = true;
+ }
+
+ return NULL;
+ }
};
diff --git a/src/test/cpp/helpers/timezonetestcase.cpp b/src/test/cpp/helpers/timezonetestcase.cpp
index 4883c27..cdbe58a 100644
--- a/src/test/cpp/helpers/timezonetestcase.cpp
+++ b/src/test/cpp/helpers/timezonetestcase.cpp
@@ -25,99 +25,106 @@
//Define INT64_C for compilers that don't have it
#if (!defined(INT64_C))
-#define INT64_C(value) value ## LL
+ #define INT64_C(value) value ## LL
#endif
/**
Unit test {@link TimeZone}.
-
+
*/
-LOGUNIT_CLASS(TimeZoneTestCase) {
- LOGUNIT_TEST_SUITE(TimeZoneTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
+LOGUNIT_CLASS(TimeZoneTestCase)
+{
+ LOGUNIT_TEST_SUITE(TimeZoneTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
#if !defined(__BORLANDC__)
- LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test3);
#endif
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST_SUITE_END();
#define MICROSECONDS_PER_DAY APR_INT64_C(86400000000)
- public:
- /**
- * Checks the GMT timezone
- */
- void test1() {
- TimeZonePtr tz(TimeZone::getGMT());
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT"), tz->getID());
- }
+public:
+ /**
+ * Checks the GMT timezone
+ */
+ void test1()
+ {
+ TimeZonePtr tz(TimeZone::getGMT());
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT"), tz->getID());
+ }
- /**
- * Get "GMT-6" time zone
- */
- void test2() {
- TimeZonePtr tz(TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT-06:00"), tz->getID());
+ /**
+ * Get "GMT-6" time zone
+ */
+ void test2()
+ {
+ TimeZonePtr tz(TimeZone::getTimeZone(LOG4CXX_STR("GMT-6")));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT-06:00"), tz->getID());
- apr_time_t jan2 = MICROSECONDS_PER_DAY * 12420;
- apr_time_exp_t exploded;
- tz->explode(&exploded, jan2);
- LOGUNIT_ASSERT_EQUAL(-6 * 3600, exploded.tm_gmtoff);
- LOGUNIT_ASSERT_EQUAL(18, exploded.tm_hour);
- }
+ apr_time_t jan2 = MICROSECONDS_PER_DAY * 12420;
+ apr_time_exp_t exploded;
+ tz->explode(&exploded, jan2);
+ LOGUNIT_ASSERT_EQUAL(-6 * 3600, exploded.tm_gmtoff);
+ LOGUNIT_ASSERT_EQUAL(18, exploded.tm_hour);
+ }
- /**
- * Get the default timezone name
- */
- void test3() {
- TimeZonePtr tz(TimeZone::getDefault());
- LogString tzName(tz->getID());
- LOGUNIT_ASSERT(tzName.length() > 0);
- }
+ /**
+ * Get the default timezone name
+ */
+ void test3()
+ {
+ TimeZonePtr tz(TimeZone::getDefault());
+ LogString tzName(tz->getID());
+ LOGUNIT_ASSERT(tzName.length() > 0);
+ }
-/**
- * Get "GMT+0010" time zone
- */
-void test4() {
- TimeZonePtr tz(TimeZone::getTimeZone(LOG4CXX_STR("GMT+0010")));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT+00:10"), tz->getID());
+ /**
+ * Get "GMT+0010" time zone
+ */
+ void test4()
+ {
+ TimeZonePtr tz(TimeZone::getTimeZone(LOG4CXX_STR("GMT+0010")));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT+00:10"), tz->getID());
- apr_time_t jan2 = MICROSECONDS_PER_DAY * 12420;
- apr_time_exp_t exploded;
- tz->explode(&exploded, jan2);
- LOGUNIT_ASSERT_EQUAL(600, exploded.tm_gmtoff);
- LOGUNIT_ASSERT_EQUAL(0, exploded.tm_hour);
- LOGUNIT_ASSERT_EQUAL(10, exploded.tm_min);
-}
+ apr_time_t jan2 = MICROSECONDS_PER_DAY * 12420;
+ apr_time_exp_t exploded;
+ tz->explode(&exploded, jan2);
+ LOGUNIT_ASSERT_EQUAL(600, exploded.tm_gmtoff);
+ LOGUNIT_ASSERT_EQUAL(0, exploded.tm_hour);
+ LOGUNIT_ASSERT_EQUAL(10, exploded.tm_min);
+ }
-/**
- * Get "GMT+6" time zone
- */
-void test5() {
- TimeZonePtr tz(TimeZone::getTimeZone(LOG4CXX_STR("GMT+6")));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT+06:00"), tz->getID());
+ /**
+ * Get "GMT+6" time zone
+ */
+ void test5()
+ {
+ TimeZonePtr tz(TimeZone::getTimeZone(LOG4CXX_STR("GMT+6")));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT+06:00"), tz->getID());
- apr_time_t jan2 = MICROSECONDS_PER_DAY * 12420;
- apr_time_exp_t exploded;
- tz->explode(&exploded, jan2);
- LOGUNIT_ASSERT_EQUAL(6 * 3600, exploded.tm_gmtoff);
- LOGUNIT_ASSERT_EQUAL(6, exploded.tm_hour);
-}
+ apr_time_t jan2 = MICROSECONDS_PER_DAY * 12420;
+ apr_time_exp_t exploded;
+ tz->explode(&exploded, jan2);
+ LOGUNIT_ASSERT_EQUAL(6 * 3600, exploded.tm_gmtoff);
+ LOGUNIT_ASSERT_EQUAL(6, exploded.tm_hour);
+ }
-/**
- * Checks the GMT timezone
- */
-void test6() {
- TimeZonePtr tz(TimeZone::getTimeZone(LOG4CXX_STR("GMT")));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT"), tz->getID());
-}
+ /**
+ * Checks the GMT timezone
+ */
+ void test6()
+ {
+ TimeZonePtr tz(TimeZone::getTimeZone(LOG4CXX_STR("GMT")));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("GMT"), tz->getID());
+ }
};
diff --git a/src/test/cpp/helpers/transcodertestcase.cpp b/src/test/cpp/helpers/transcodertestcase.cpp
index cc394f0..4f3a061 100644
--- a/src/test/cpp/helpers/transcodertestcase.cpp
+++ b/src/test/cpp/helpers/transcodertestcase.cpp
@@ -26,315 +26,345 @@
LOGUNIT_CLASS(TranscoderTestCase)
{
- LOGUNIT_TEST_SUITE(TranscoderTestCase);
- LOGUNIT_TEST(decode1);
+ LOGUNIT_TEST_SUITE(TranscoderTestCase);
+ LOGUNIT_TEST(decode1);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(decode2);
+ LOGUNIT_TEST(decode2);
#endif
- LOGUNIT_TEST(decode3);
+ LOGUNIT_TEST(decode3);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(decode4);
+ LOGUNIT_TEST(decode4);
#endif
- LOGUNIT_TEST(decode7);
- LOGUNIT_TEST(decode8);
+ LOGUNIT_TEST(decode7);
+ LOGUNIT_TEST(decode8);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(encode1);
+ LOGUNIT_TEST(encode1);
#endif
- LOGUNIT_TEST(encode2);
+ LOGUNIT_TEST(encode2);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(encode3);
+ LOGUNIT_TEST(encode3);
#endif
- LOGUNIT_TEST(encode4);
+ LOGUNIT_TEST(encode4);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(encode5);
+ LOGUNIT_TEST(encode5);
#endif
- LOGUNIT_TEST(encode6);
- LOGUNIT_TEST(testDecodeUTF8_1);
- LOGUNIT_TEST(testDecodeUTF8_2);
- LOGUNIT_TEST(testDecodeUTF8_3);
- LOGUNIT_TEST(testDecodeUTF8_4);
+ LOGUNIT_TEST(encode6);
+ LOGUNIT_TEST(testDecodeUTF8_1);
+ LOGUNIT_TEST(testDecodeUTF8_2);
+ LOGUNIT_TEST(testDecodeUTF8_3);
+ LOGUNIT_TEST(testDecodeUTF8_4);
#if LOG4CXX_UNICHAR_API
- LOGUNIT_TEST(udecode2);
- LOGUNIT_TEST(udecode4);
- LOGUNIT_TEST(uencode1);
- LOGUNIT_TEST(uencode3);
- LOGUNIT_TEST(uencode5);
+ LOGUNIT_TEST(udecode2);
+ LOGUNIT_TEST(udecode4);
+ LOGUNIT_TEST(uencode1);
+ LOGUNIT_TEST(uencode3);
+ LOGUNIT_TEST(uencode5);
#endif
#if LOG4CXX_LOGCHAR_IS_UTF8
- LOGUNIT_TEST(encodeCharsetName1);
- LOGUNIT_TEST(encodeCharsetName2);
- LOGUNIT_TEST(encodeCharsetName3);
+ LOGUNIT_TEST(encodeCharsetName1);
+ LOGUNIT_TEST(encodeCharsetName2);
+ LOGUNIT_TEST(encodeCharsetName3);
#endif
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
public:
- void decode1() {
- const char* greeting = "Hello, World";
- LogString decoded(LOG4CXX_STR("foo\n"));
- Transcoder::decode(greeting, decoded);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\nHello, World"), decoded);
- }
+ void decode1()
+ {
+ const char* greeting = "Hello, World";
+ LogString decoded(LOG4CXX_STR("foo\n"));
+ Transcoder::decode(greeting, decoded);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\nHello, World"), decoded);
+ }
#if LOG4CXX_WCHAR_T_API
- void decode2() {
- const wchar_t* greeting = L"Hello, World";
- LogString decoded(LOG4CXX_STR("foo\n"));
- Transcoder::decode(greeting, decoded);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\nHello, World"), decoded);
- }
+ void decode2()
+ {
+ const wchar_t* greeting = L"Hello, World";
+ LogString decoded(LOG4CXX_STR("foo\n"));
+ Transcoder::decode(greeting, decoded);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\nHello, World"), decoded);
+ }
#endif
- void decode3() {
- const char* nothing = "";
- LogString decoded(LOG4CXX_STR("foo\n"));
- Transcoder::decode(nothing, decoded);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\n"), decoded);
- }
+ void decode3()
+ {
+ const char* nothing = "";
+ LogString decoded(LOG4CXX_STR("foo\n"));
+ Transcoder::decode(nothing, decoded);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\n"), decoded);
+ }
#if LOG4CXX_WCHAR_T_API
- void decode4() {
- const wchar_t* nothing = L"";
- LogString decoded(LOG4CXX_STR("foo\n"));
- Transcoder::decode(nothing, decoded);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\n"), decoded);
- }
+ void decode4()
+ {
+ const wchar_t* nothing = L"";
+ LogString decoded(LOG4CXX_STR("foo\n"));
+ Transcoder::decode(nothing, decoded);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\n"), decoded);
+ }
#endif
- enum { BUFSIZE = 255 };
+ enum { BUFSIZE = 255 };
- void decode7() {
- //
- // normal characters striding over a buffer boundary
- //
- std::string longMsg(BUFSIZE - 2, 'A');
- longMsg.append("Hello");
- LogString decoded;
- Transcoder::decode(longMsg, decoded);
- LOGUNIT_ASSERT_EQUAL((size_t) BUFSIZE + 3, decoded.length());
- LOGUNIT_ASSERT_EQUAL(LogString(BUFSIZE -2, LOG4CXX_STR('A')),
- decoded.substr(0, BUFSIZE - 2));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("Hello"),
- decoded.substr(BUFSIZE -2 ));
- }
+ void decode7()
+ {
+ //
+ // normal characters striding over a buffer boundary
+ //
+ std::string longMsg(BUFSIZE - 2, 'A');
+ longMsg.append("Hello");
+ LogString decoded;
+ Transcoder::decode(longMsg, decoded);
+ LOGUNIT_ASSERT_EQUAL((size_t) BUFSIZE + 3, decoded.length());
+ LOGUNIT_ASSERT_EQUAL(LogString(BUFSIZE - 2, LOG4CXX_STR('A')),
+ decoded.substr(0, BUFSIZE - 2));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("Hello"),
+ decoded.substr(BUFSIZE - 2 ));
+ }
- void decode8() {
- std::string msg("Hello, World.");
- LogString actual;
- Transcoder::decode(msg, actual);
- LogString expected(LOG4CXX_STR("Hello, World."));
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+ void decode8()
+ {
+ std::string msg("Hello, World.");
+ LogString actual;
+ Transcoder::decode(msg, actual);
+ LogString expected(LOG4CXX_STR("Hello, World."));
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
#if LOG4CXX_WCHAR_T_API
- void encode1() {
- const LogString greeting(LOG4CXX_STR("Hello, World"));
- std::wstring encoded;
- Transcoder::encode(greeting, encoded);
- LOGUNIT_ASSERT_EQUAL((std::wstring) L"Hello, World", encoded);
- }
+ void encode1()
+ {
+ const LogString greeting(LOG4CXX_STR("Hello, World"));
+ std::wstring encoded;
+ Transcoder::encode(greeting, encoded);
+ LOGUNIT_ASSERT_EQUAL((std::wstring) L"Hello, World", encoded);
+ }
#endif
- void encode2() {
- const LogString greeting(LOG4CXX_STR("Hello, World"));
- std::string encoded;
- Transcoder::encode(greeting, encoded);
- LOGUNIT_ASSERT_EQUAL((std::string) "Hello, World", encoded);
- }
+ void encode2()
+ {
+ const LogString greeting(LOG4CXX_STR("Hello, World"));
+ std::string encoded;
+ Transcoder::encode(greeting, encoded);
+ LOGUNIT_ASSERT_EQUAL((std::string) "Hello, World", encoded);
+ }
#if LOG4CXX_WCHAR_T_API
- void encode3() {
- LogString greeting(BUFSIZE - 3, LOG4CXX_STR('A'));
- greeting.append(LOG4CXX_STR("Hello"));
- std::wstring encoded;
- Transcoder::encode(greeting, encoded);
- std::wstring manyAs(BUFSIZE - 3, L'A');
- LOGUNIT_ASSERT_EQUAL(manyAs, encoded.substr(0, BUFSIZE - 3));
- LOGUNIT_ASSERT_EQUAL(std::wstring(L"Hello"), encoded.substr(BUFSIZE - 3));
- }
+ void encode3()
+ {
+ LogString greeting(BUFSIZE - 3, LOG4CXX_STR('A'));
+ greeting.append(LOG4CXX_STR("Hello"));
+ std::wstring encoded;
+ Transcoder::encode(greeting, encoded);
+ std::wstring manyAs(BUFSIZE - 3, L'A');
+ LOGUNIT_ASSERT_EQUAL(manyAs, encoded.substr(0, BUFSIZE - 3));
+ LOGUNIT_ASSERT_EQUAL(std::wstring(L"Hello"), encoded.substr(BUFSIZE - 3));
+ }
#endif
- void encode4() {
- LogString greeting(BUFSIZE - 3, LOG4CXX_STR('A'));
- greeting.append(LOG4CXX_STR("Hello"));
- std::string encoded;
- Transcoder::encode(greeting, encoded);
- std::string manyAs(BUFSIZE - 3, 'A');
- LOGUNIT_ASSERT_EQUAL(manyAs, encoded.substr(0, BUFSIZE - 3));
- LOGUNIT_ASSERT_EQUAL(std::string("Hello"), encoded.substr(BUFSIZE - 3));
- }
+ void encode4()
+ {
+ LogString greeting(BUFSIZE - 3, LOG4CXX_STR('A'));
+ greeting.append(LOG4CXX_STR("Hello"));
+ std::string encoded;
+ Transcoder::encode(greeting, encoded);
+ std::string manyAs(BUFSIZE - 3, 'A');
+ LOGUNIT_ASSERT_EQUAL(manyAs, encoded.substr(0, BUFSIZE - 3));
+ LOGUNIT_ASSERT_EQUAL(std::string("Hello"), encoded.substr(BUFSIZE - 3));
+ }
#if LOG4CXX_WCHAR_T_API
- void encode5() {
- // arbitrary, hopefully meaningless, characters from
- // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
- const wchar_t greeting[] = { L'A', 0x0605, 0x0530, 0x984, 0x40E3, 0x400, 0 };
- //
- // decode to LogString (UTF-16 or UTF-8)
- //
- LogString decoded;
- Transcoder::decode(greeting, decoded);
- //
- // decode to wstring
- //
- std::wstring encoded;
- Transcoder::encode(decoded, encoded);
- //
- // should be lossless
- //
- LOGUNIT_ASSERT_EQUAL((std::wstring) greeting, encoded);
- }
+ void encode5()
+ {
+ // arbitrary, hopefully meaningless, characters from
+ // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
+ const wchar_t greeting[] = { L'A', 0x0605, 0x0530, 0x984, 0x40E3, 0x400, 0 };
+ //
+ // decode to LogString (UTF-16 or UTF-8)
+ //
+ LogString decoded;
+ Transcoder::decode(greeting, decoded);
+ //
+ // decode to wstring
+ //
+ std::wstring encoded;
+ Transcoder::encode(decoded, encoded);
+ //
+ // should be lossless
+ //
+ LOGUNIT_ASSERT_EQUAL((std::wstring) greeting, encoded);
+ }
#endif
- void encode6() {
+ void encode6()
+ {
#if LOG4CXX_LOGCHAR_IS_WCHAR || LOG4CXX_LOGCHAR_IS_UNICHAR
- // arbitrary, hopefully meaningless, characters from
- // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
- const logchar greeting[] = { L'A', 0x0605, 0x0530, 0x984, 0x40E3, 0x400, 0 };
+ // arbitrary, hopefully meaningless, characters from
+ // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
+ const logchar greeting[] = { L'A', 0x0605, 0x0530, 0x984, 0x40E3, 0x400, 0 };
#endif
#if LOG4CXX_LOGCHAR_IS_UTF8
- const char greeting[] = { 'A',
- (char) 0xD8, (char) 0x85,
- (char) 0xD4, (char) 0xB0,
- (char) 0xE0, (char) 0xCC, (char) 0x84,
- (char) 0xE8, (char) 0x87, (char) 0x83,
- (char) 0xD0, (char) 0x80,
- 0 };
+ const char greeting[] = { 'A',
+ (char) 0xD8, (char) 0x85,
+ (char) 0xD4, (char) 0xB0,
+ (char) 0xE0, (char) 0xCC, (char) 0x84,
+ (char) 0xE8, (char) 0x87, (char) 0x83,
+ (char) 0xD0, (char) 0x80,
+ 0
+ };
#endif
- //
- // decode to LogString (UTF-16 or UTF-8)
- //
- LogString decoded;
- Transcoder::decode(greeting, decoded);
- //
- // decode to wstring
- //
- std::string encoded;
- //
- // likely 'A\u0605\u0530\u0984\u40E3\u0400'
- //
- Transcoder::encode(decoded, encoded);
- }
+ //
+ // decode to LogString (UTF-16 or UTF-8)
+ //
+ LogString decoded;
+ Transcoder::decode(greeting, decoded);
+ //
+ // decode to wstring
+ //
+ std::string encoded;
+ //
+ // likely 'A\u0605\u0530\u0984\u40E3\u0400'
+ //
+ Transcoder::encode(decoded, encoded);
+ }
- void testDecodeUTF8_1() {
- std::string src("a");
- LogString out;
- Transcoder::decodeUTF8(src, out);
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("a")), out);
- }
+ void testDecodeUTF8_1()
+ {
+ std::string src("a");
+ LogString out;
+ Transcoder::decodeUTF8(src, out);
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("a")), out);
+ }
- void testDecodeUTF8_2() {
- std::string src(1, 0x80);
- LogString out;
- Transcoder::decodeUTF8(src, out);
- LOGUNIT_ASSERT_EQUAL(LogString(1, Transcoder::LOSSCHAR), out);
- }
+ void testDecodeUTF8_2()
+ {
+ std::string src(1, 0x80);
+ LogString out;
+ Transcoder::decodeUTF8(src, out);
+ LOGUNIT_ASSERT_EQUAL(LogString(1, Transcoder::LOSSCHAR), out);
+ }
- void testDecodeUTF8_3() {
- std::string src("\xC2");
- LogString out;
- Transcoder::decodeUTF8(src, out);
- LOGUNIT_ASSERT_EQUAL(LogString(1, Transcoder::LOSSCHAR), out);
- }
+ void testDecodeUTF8_3()
+ {
+ std::string src("\xC2");
+ LogString out;
+ Transcoder::decodeUTF8(src, out);
+ LOGUNIT_ASSERT_EQUAL(LogString(1, Transcoder::LOSSCHAR), out);
+ }
- void testDecodeUTF8_4() {
- std::string src("\xC2\xA9");
- LogString out;
- Transcoder::decodeUTF8(src, out);
- LogString::const_iterator iter = out.begin();
- unsigned int sv = Transcoder::decode(out, iter);
- LOGUNIT_ASSERT_EQUAL((unsigned int) 0xA9, sv);
- LOGUNIT_ASSERT_EQUAL(true, iter == out.end());
- }
+ void testDecodeUTF8_4()
+ {
+ std::string src("\xC2\xA9");
+ LogString out;
+ Transcoder::decodeUTF8(src, out);
+ LogString::const_iterator iter = out.begin();
+ unsigned int sv = Transcoder::decode(out, iter);
+ LOGUNIT_ASSERT_EQUAL((unsigned int) 0xA9, sv);
+ LOGUNIT_ASSERT_EQUAL(true, iter == out.end());
+ }
#if LOG4CXX_UNICHAR_API
- void udecode2() {
- const UniChar greeting[] = { 'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
- LogString decoded(LOG4CXX_STR("foo\n"));
- Transcoder::decode(greeting, decoded);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\nHello, World"), decoded);
- }
+ void udecode2()
+ {
+ const UniChar greeting[] = { 'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
+ LogString decoded(LOG4CXX_STR("foo\n"));
+ Transcoder::decode(greeting, decoded);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\nHello, World"), decoded);
+ }
- void udecode4() {
- const UniChar nothing[] = { 0 };
- LogString decoded(LOG4CXX_STR("foo\n"));
- Transcoder::decode(nothing, decoded);
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\n"), decoded);
- }
+ void udecode4()
+ {
+ const UniChar nothing[] = { 0 };
+ LogString decoded(LOG4CXX_STR("foo\n"));
+ Transcoder::decode(nothing, decoded);
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("foo\n"), decoded);
+ }
- void uencode1() {
- const LogString greeting(LOG4CXX_STR("Hello, World"));
- std::basic_string<UniChar> encoded;
- Transcoder::encode(greeting, encoded);
- const UniChar expected[] = { 'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
- LOGUNIT_ASSERT_EQUAL(std::basic_string<UniChar>(expected), encoded);
- }
+ void uencode1()
+ {
+ const LogString greeting(LOG4CXX_STR("Hello, World"));
+ std::basic_string<UniChar> encoded;
+ Transcoder::encode(greeting, encoded);
+ const UniChar expected[] = { 'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', 0 };
+ LOGUNIT_ASSERT_EQUAL(std::basic_string<UniChar>(expected), encoded);
+ }
- void uencode3() {
- LogString greeting(BUFSIZE - 3, LOG4CXX_STR('A'));
- greeting.append(LOG4CXX_STR("Hello"));
- std::basic_string<UniChar> encoded;
- Transcoder::encode(greeting, encoded);
- std::basic_string<UniChar> manyAs(BUFSIZE - 3, 'A');
- LOGUNIT_ASSERT_EQUAL(manyAs, encoded.substr(0, BUFSIZE - 3));
- const UniChar hello[] = { 'H', 'e', 'l', 'l', 'o', 0 };
- LOGUNIT_ASSERT_EQUAL(std::basic_string<UniChar>(hello), encoded.substr(BUFSIZE - 3));
- }
+ void uencode3()
+ {
+ LogString greeting(BUFSIZE - 3, LOG4CXX_STR('A'));
+ greeting.append(LOG4CXX_STR("Hello"));
+ std::basic_string<UniChar> encoded;
+ Transcoder::encode(greeting, encoded);
+ std::basic_string<UniChar> manyAs(BUFSIZE - 3, 'A');
+ LOGUNIT_ASSERT_EQUAL(manyAs, encoded.substr(0, BUFSIZE - 3));
+ const UniChar hello[] = { 'H', 'e', 'l', 'l', 'o', 0 };
+ LOGUNIT_ASSERT_EQUAL(std::basic_string<UniChar>(hello), encoded.substr(BUFSIZE - 3));
+ }
- void uencode5() {
- // arbitrary, hopefully meaningless, characters from
- // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
- const UniChar greeting[] = { L'A', 0x0605, 0x0530, 0x984, 0x40E3, 0x400, 0 };
- //
- // decode to LogString (UTF-16 or UTF-8)
- //
- LogString decoded;
- Transcoder::decode(greeting, decoded);
- //
- // decode to basic_string<UniChar>
- //
- std::basic_string<UniChar> encoded;
- Transcoder::encode(decoded, encoded);
- //
- // should be lossless
- //
- LOGUNIT_ASSERT_EQUAL(std::basic_string<UniChar>(greeting), encoded);
- }
+ void uencode5()
+ {
+ // arbitrary, hopefully meaningless, characters from
+ // Latin, Arabic, Armenian, Bengali, CJK and Cyrillic
+ const UniChar greeting[] = { L'A', 0x0605, 0x0530, 0x984, 0x40E3, 0x400, 0 };
+ //
+ // decode to LogString (UTF-16 or UTF-8)
+ //
+ LogString decoded;
+ Transcoder::decode(greeting, decoded);
+ //
+ // decode to basic_string<UniChar>
+ //
+ std::basic_string<UniChar> encoded;
+ Transcoder::encode(decoded, encoded);
+ //
+ // should be lossless
+ //
+ LOGUNIT_ASSERT_EQUAL(std::basic_string<UniChar>(greeting), encoded);
+ }
#endif
#if LOG4CXX_LOGCHAR_IS_UTF8
- void encodeCharsetName1() {
- const logchar utf8[] = { 0x75, 0x74, 0x66, 0x2D, 0x38, 0x00 };
- std::string encoded(Transcoder::encodeCharsetName(LogString(utf8)));
- LOGUNIT_ASSERT_EQUAL(std::string("utf-8"), encoded);
- }
+ void encodeCharsetName1()
+ {
+ const logchar utf8[] = { 0x75, 0x74, 0x66, 0x2D, 0x38, 0x00 };
+ std::string encoded(Transcoder::encodeCharsetName(LogString(utf8)));
+ LOGUNIT_ASSERT_EQUAL(std::string("utf-8"), encoded);
+ }
- void encodeCharsetName2() {
- logchar lascii[0x60];
- char ascii[0x60];
- for(int i = 0; i < 0x5F; i++) {
- lascii[i] = i + 0x20;
- ascii[i] = i + 0x20;
- }
- lascii[0x5F] = 0;
- ascii[0x5F] = 0;
- std::string encoded(Transcoder::encodeCharsetName(LogString(ascii)));
- LOGUNIT_ASSERT_EQUAL(std::string(" !\"#$%&'()*+,-./"), encoded.substr(0, 0x10));
- if (0x40 == 'A') {
- LOGUNIT_ASSERT_EQUAL(std::string(ascii), encoded);
- }
- }
+ void encodeCharsetName2()
+ {
+ logchar lascii[0x60];
+ char ascii[0x60];
- void encodeCharsetName3() {
- logchar unsupported[] = { 0x1F, 0x7F, static_cast<logchar>(0x80), static_cast<logchar>(0x81), 0x00 };
- std::string encoded(Transcoder::encodeCharsetName(LogString(unsupported)));
- LOGUNIT_ASSERT_EQUAL(std::string("????"), encoded);
- }
+ for (int i = 0; i < 0x5F; i++)
+ {
+ lascii[i] = i + 0x20;
+ ascii[i] = i + 0x20;
+ }
+
+ lascii[0x5F] = 0;
+ ascii[0x5F] = 0;
+ std::string encoded(Transcoder::encodeCharsetName(LogString(ascii)));
+ LOGUNIT_ASSERT_EQUAL(std::string(" !\"#$%&'()*+,-./"), encoded.substr(0, 0x10));
+
+ if (0x40 == 'A')
+ {
+ LOGUNIT_ASSERT_EQUAL(std::string(ascii), encoded);
+ }
+ }
+
+ void encodeCharsetName3()
+ {
+ logchar unsupported[] = { 0x1F, 0x7F, static_cast<logchar>(0x80), static_cast<logchar>(0x81), 0x00 };
+ std::string encoded(Transcoder::encodeCharsetName(LogString(unsupported)));
+ LOGUNIT_ASSERT_EQUAL(std::string("????"), encoded);
+ }
#endif
};
diff --git a/src/test/cpp/hierarchytest.cpp b/src/test/cpp/hierarchytest.cpp
index 1475ca1..39bc118 100644
--- a/src/test/cpp/hierarchytest.cpp
+++ b/src/test/cpp/hierarchytest.cpp
@@ -25,31 +25,33 @@
/**
* Tests hierarchy.
- *
+ *
*/
-LOGUNIT_CLASS(HierarchyTest) {
- LOGUNIT_TEST_SUITE(HierarchyTest);
- LOGUNIT_TEST(testGetParent);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(HierarchyTest)
+{
+ LOGUNIT_TEST_SUITE(HierarchyTest);
+ LOGUNIT_TEST(testGetParent);
+ LOGUNIT_TEST_SUITE_END();
public:
- /**
- * Tests getParent.
- */
- void testGetParent() {
- //
- // Note: test inspired by LOGCXX-118.
- //
- LoggerPtr logger1(Logger::getLogger("HierarchyTest_testGetParent.logger1"));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("root")), logger1->getParent()->getName());
- LoggerPtr logger2(Logger::getLogger("HierarchyTest_testGetParent.logger2"));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("root")), logger1->getParent()->getName());
- LoggerPtr logger3(Logger::getLogger("HierarchyTest_testGetParent"));
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("HierarchyTest_testGetParent")),
- logger1->getParent()->getName());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("HierarchyTest_testGetParent")),
- logger2->getParent()->getName());
- }
+ /**
+ * Tests getParent.
+ */
+ void testGetParent()
+ {
+ //
+ // Note: test inspired by LOGCXX-118.
+ //
+ LoggerPtr logger1(Logger::getLogger("HierarchyTest_testGetParent.logger1"));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("root")), logger1->getParent()->getName());
+ LoggerPtr logger2(Logger::getLogger("HierarchyTest_testGetParent.logger2"));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("root")), logger1->getParent()->getName());
+ LoggerPtr logger3(Logger::getLogger("HierarchyTest_testGetParent"));
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("HierarchyTest_testGetParent")),
+ logger1->getParent()->getName());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("HierarchyTest_testGetParent")),
+ logger2->getParent()->getName());
+ }
};
diff --git a/src/test/cpp/hierarchythresholdtestcase.cpp b/src/test/cpp/hierarchythresholdtestcase.cpp
index 89db0e6..a21dfa5 100644
--- a/src/test/cpp/hierarchythresholdtestcase.cpp
+++ b/src/test/cpp/hierarchythresholdtestcase.cpp
@@ -30,102 +30,102 @@
*/
LOGUNIT_CLASS(HierarchyThresholdTestCase)
{
- LOGUNIT_TEST_SUITE(HierarchyThresholdTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST(test7);
- LOGUNIT_TEST(test8);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(HierarchyThresholdTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST(test7);
+ LOGUNIT_TEST(test8);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp()
- {
- }
+ void setUp()
+ {
+ }
- void tearDown()
- {
- logger->getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ logger->getLoggerRepository()->resetConfiguration();
+ }
- void test1()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold1.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.1")));
- }
+ void test1()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold1.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.1")));
+ }
- void test2()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold2.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.2")));
- }
+ void test2()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold2.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.2")));
+ }
- void test3()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold3.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.3")));
- }
+ void test3()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold3.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.3")));
+ }
- void test4()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold4.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.4")));
- }
+ void test4()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold4.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.4")));
+ }
- void test5()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold5.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.5")));
- }
+ void test5()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold5.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.5")));
+ }
- void test6()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold6.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.6")));
- }
+ void test6()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold6.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.6")));
+ }
- void test7()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold7.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.7")));
- }
+ void test7()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold7.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.7")));
+ }
- void test8()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold8.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.8")));
- }
+ void test8()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/hierarchyThreshold8.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/hierarchyThreshold.8")));
+ }
- static void common()
- {
- logger->log(XLevel::getTrace(), LOG4CXX_TEST_STR("m0"));
- logger->debug(LOG4CXX_TEST_STR("m1"));
- logger->info(LOG4CXX_TEST_STR("m2"));
- logger->warn(LOG4CXX_TEST_STR("m3"));
- logger->error(LOG4CXX_TEST_STR("m4"));
- logger->fatal(LOG4CXX_TEST_STR("m5"));
- }
+ static void common()
+ {
+ logger->log(XLevel::getTrace(), LOG4CXX_TEST_STR("m0"));
+ logger->debug(LOG4CXX_TEST_STR("m1"));
+ logger->info(LOG4CXX_TEST_STR("m2"));
+ logger->warn(LOG4CXX_TEST_STR("m3"));
+ logger->error(LOG4CXX_TEST_STR("m4"));
+ logger->fatal(LOG4CXX_TEST_STR("m5"));
+ }
private:
- static File TEMP;
- static LoggerPtr logger;
+ static File TEMP;
+ static LoggerPtr logger;
};
File HierarchyThresholdTestCase::TEMP(LOG4CXX_FILE("output/temp"));
LoggerPtr HierarchyThresholdTestCase::logger =
- Logger::getLogger(LOG4CXX_TEST_STR("HierarchyThresholdTestCase"));
+ Logger::getLogger(LOG4CXX_TEST_STR("HierarchyThresholdTestCase"));
LOGUNIT_TEST_SUITE_REGISTRATION(HierarchyThresholdTestCase);
diff --git a/src/test/cpp/insertwide.h b/src/test/cpp/insertwide.h
index 3bcc802..c53b75a 100644
--- a/src/test/cpp/insertwide.h
+++ b/src/test/cpp/insertwide.h
@@ -23,12 +23,12 @@
#if LOG4CXX_WCHAR_T_API
std::ostream& operator<<(std::ostream& os,
- const std::wstring& str);
+ const std::wstring& str);
#endif
#if LOG4CXX_LOGCHAR_IS_UNICHAR || LOG4CXX_UNICHAR_API || LOG4CXX_CFSTRING_API
std::ostream& operator<<(std::ostream& os,
- const std::basic_string<log4cxx::UniChar>& str);
+ const std::basic_string<log4cxx::UniChar>& str);
#endif
#endif
diff --git a/src/test/cpp/jsonlayouttest.cpp b/src/test/cpp/jsonlayouttest.cpp
index de1d074..a40db66 100644
--- a/src/test/cpp/jsonlayouttest.cpp
+++ b/src/test/cpp/jsonlayouttest.cpp
@@ -101,22 +101,22 @@
*/
void testAppendQuotedEscapedStringWithPrintableChars()
{
- LogString s1(LOG4CXX_STR("foo")); /* foo */
+ LogString s1(LOG4CXX_STR("foo")); /* foo */
LogString s2;
- appendQuotedEscapedString(s2, s1); /* "foo" */
+ appendQuotedEscapedString(s2, s1); /* "foo" */
LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("\"foo\""), s2);
LogString s3;
- appendQuotedEscapedString(s3, s2); /* "\"foo\"" */
+ appendQuotedEscapedString(s3, s2); /* "\"foo\"" */
LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("\"\\\"foo\\\"\""), s3);
- LogString t1(LOG4CXX_STR("bar\"baz")); /* bar"baz */
+ LogString t1(LOG4CXX_STR("bar\"baz")); /* bar"baz */
LogString t2;
- appendQuotedEscapedString(t2, t1); /* "bar\"baz" */
+ appendQuotedEscapedString(t2, t1); /* "bar\"baz" */
LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("\"bar\\\"baz\""), t2);
LogString t3;
- appendQuotedEscapedString(t3, t2); /* "\"bar\\\"baz\"" */
+ appendQuotedEscapedString(t3, t2); /* "\"bar\\\"baz\"" */
LOGUNIT_ASSERT_EQUAL(LOG4CXX_STR("\"\\\"bar\\\\\\\"baz\\\"\""), t3);
}
@@ -176,7 +176,7 @@
LogString output1;
LogString expected1 = LOG4CXX_STR(", \"context_map\": { "
- "\"key1\": \"value1\", \"key2\": \"value2\" }");
+ "\"key1\": \"value1\", \"key2\": \"value2\" }");
appendSerializedMDC(output1, event1);
LOGUNIT_ASSERT_EQUAL(expected1, output1);
@@ -199,19 +199,19 @@
LogString expected1;
expected1
- .append(LOG4CXX_STR(","))
- .append(LOG4CXX_EOL)
- .append(ppIndentL1)
- .append(LOG4CXX_STR("\"context_map\": {"))
- .append(LOG4CXX_EOL)
- .append(ppIndentL2)
- .append(LOG4CXX_STR("\"key1\": \"value1\","))
- .append(LOG4CXX_EOL)
- .append(ppIndentL2)
- .append(LOG4CXX_STR("\"key2\": \"value2\""))
- .append(LOG4CXX_EOL)
- .append(ppIndentL1)
- .append(LOG4CXX_STR("}"));
+ .append(LOG4CXX_STR(","))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("\"context_map\": {"))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL2)
+ .append(LOG4CXX_STR("\"key1\": \"value1\","))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL2)
+ .append(LOG4CXX_STR("\"key2\": \"value2\""))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("}"));
setPrettyPrint(true);
appendSerializedMDC(output1, event1);
@@ -258,16 +258,16 @@
LogString expected1;
expected1
- .append(LOG4CXX_STR(","))
- .append(LOG4CXX_EOL)
- .append(ppIndentL1)
- .append(LOG4CXX_STR("\"context_stack\": ["))
- .append(LOG4CXX_EOL)
- .append(ppIndentL2)
- .append(LOG4CXX_STR("\"one two three\""))
- .append(LOG4CXX_EOL)
- .append(ppIndentL1)
- .append(LOG4CXX_STR("]"));
+ .append(LOG4CXX_STR(","))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("\"context_stack\": ["))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL2)
+ .append(LOG4CXX_STR("\"one two three\""))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("]"));
setPrettyPrint(true);
appendSerializedNDC(output1, event1);
@@ -291,11 +291,11 @@
LogString expected1;
expected1
- .append(LOG4CXX_STR("\"location_info\": { "))
- .append(LOG4CXX_STR("\"file\": \"FooFile\", "))
- .append(LOG4CXX_STR("\"line\": \"42\", "))
- .append(LOG4CXX_STR("\"class\": \"\", "))
- .append(LOG4CXX_STR("\"method\": \"BarFunc\" }"));
+ .append(LOG4CXX_STR("\"location_info\": { "))
+ .append(LOG4CXX_STR("\"file\": \"FooFile\", "))
+ .append(LOG4CXX_STR("\"line\": \"42\", "))
+ .append(LOG4CXX_STR("\"class\": \"\", "))
+ .append(LOG4CXX_STR("\"method\": \"BarFunc\" }"));
appendSerializedLocationInfo(output1, event1, p);
LOGUNIT_ASSERT_EQUAL(expected1, output1);
@@ -317,23 +317,23 @@
LogString expected1;
expected1
- .append(ppIndentL1)
- .append(LOG4CXX_STR("\"location_info\": {"))
- .append(LOG4CXX_EOL)
- .append(ppIndentL2)
- .append(LOG4CXX_STR("\"file\": \"FooFile\","))
- .append(LOG4CXX_EOL)
- .append(ppIndentL2)
- .append(LOG4CXX_STR("\"line\": \"42\","))
- .append(LOG4CXX_EOL)
- .append(ppIndentL2)
- .append(LOG4CXX_STR("\"class\": \"\","))
- .append(LOG4CXX_EOL)
- .append(ppIndentL2)
- .append(LOG4CXX_STR("\"method\": \"BarFunc\""))
- .append(LOG4CXX_EOL)
- .append(ppIndentL1)
- .append(LOG4CXX_STR("}"));
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("\"location_info\": {"))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL2)
+ .append(LOG4CXX_STR("\"file\": \"FooFile\","))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL2)
+ .append(LOG4CXX_STR("\"line\": \"42\","))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL2)
+ .append(LOG4CXX_STR("\"class\": \"\","))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL2)
+ .append(LOG4CXX_STR("\"method\": \"BarFunc\""))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("}"));
setPrettyPrint(true);
appendSerializedLocationInfo(output1, event1, p);
@@ -368,12 +368,12 @@
LogString expected1;
expected1
- .append(LOG4CXX_STR("{ \"timestamp\": \""))
- .append(timestamp)
- .append(LOG4CXX_STR("\", "))
- .append(LOG4CXX_STR("\"level\": \"INFO\", "))
- .append(LOG4CXX_STR("\"logger\": \"Logger\", "))
- .append(LOG4CXX_STR("\"message\": \"A message goes here.\""));
+ .append(LOG4CXX_STR("{ \"timestamp\": \""))
+ .append(timestamp)
+ .append(LOG4CXX_STR("\", "))
+ .append(LOG4CXX_STR("\"level\": \"INFO\", "))
+ .append(LOG4CXX_STR("\"logger\": \"Logger\", "))
+ .append(LOG4CXX_STR("\"message\": \"A message goes here.\""));
setLocationInfo(true);
@@ -416,21 +416,21 @@
LogString expected1;
expected1
- .append(LOG4CXX_STR("{"))
- .append(LOG4CXX_EOL)
- .append(ppIndentL1)
- .append(LOG4CXX_STR("\"timestamp\": \""))
- .append(timestamp)
- .append(LOG4CXX_STR("\","))
- .append(LOG4CXX_EOL)
- .append(ppIndentL1)
- .append(LOG4CXX_STR("\"level\": \"INFO\","))
- .append(LOG4CXX_EOL)
- .append(ppIndentL1)
- .append(LOG4CXX_STR("\"logger\": \"Logger\","))
- .append(LOG4CXX_EOL)
- .append(ppIndentL1)
- .append(LOG4CXX_STR("\"message\": \"A message goes here.\""));
+ .append(LOG4CXX_STR("{"))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("\"timestamp\": \""))
+ .append(timestamp)
+ .append(LOG4CXX_STR("\","))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("\"level\": \"INFO\","))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("\"logger\": \"Logger\","))
+ .append(LOG4CXX_EOL)
+ .append(ppIndentL1)
+ .append(LOG4CXX_STR("\"message\": \"A message goes here.\""));
setPrettyPrint(true);
setLocationInfo(true);
diff --git a/src/test/cpp/l7dtestcase.cpp b/src/test/cpp/l7dtestcase.cpp
index 7c13ab5..4f595c2 100644
--- a/src/test/cpp/l7dtestcase.cpp
+++ b/src/test/cpp/l7dtestcase.cpp
@@ -37,71 +37,71 @@
LOGUNIT_CLASS(L7dTestCase)
{
- LOGUNIT_TEST_SUITE(L7dTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(L7dTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- ResourceBundlePtr bundles[3];
+ LoggerPtr root;
+ ResourceBundlePtr bundles[3];
public:
- void setUp()
- {
- Locale localeUS(LOG4CXX_STR("en"), LOG4CXX_STR("US"));
- bundles[0] =
- ResourceBundle::getBundle(LOG4CXX_STR("L7D"), localeUS);
- LOGUNIT_ASSERT(bundles[0] != 0);
-
- Locale localeFR(LOG4CXX_STR("fr"), LOG4CXX_STR("FR"));
- bundles[1] =
- ResourceBundle::getBundle(LOG4CXX_STR("L7D"), localeFR);
- LOGUNIT_ASSERT(bundles[1] != 0);
+ void setUp()
+ {
+ Locale localeUS(LOG4CXX_STR("en"), LOG4CXX_STR("US"));
+ bundles[0] =
+ ResourceBundle::getBundle(LOG4CXX_STR("L7D"), localeUS);
+ LOGUNIT_ASSERT(bundles[0] != 0);
- Locale localeCH(LOG4CXX_STR("fr"), LOG4CXX_STR("CH"));
- bundles[2] =
- ResourceBundle::getBundle(LOG4CXX_STR("L7D"), localeCH);
- LOGUNIT_ASSERT(bundles[2] != 0);
+ Locale localeFR(LOG4CXX_STR("fr"), LOG4CXX_STR("FR"));
+ bundles[1] =
+ ResourceBundle::getBundle(LOG4CXX_STR("L7D"), localeFR);
+ LOGUNIT_ASSERT(bundles[1] != 0);
- root = Logger::getRootLogger();
- }
+ Locale localeCH(LOG4CXX_STR("fr"), LOG4CXX_STR("CH"));
+ bundles[2] =
+ ResourceBundle::getBundle(LOG4CXX_STR("L7D"), localeCH);
+ LOGUNIT_ASSERT(bundles[2] != 0);
- void tearDown()
- {
- root->getLoggerRepository()->resetConfiguration();
- }
+ root = Logger::getRootLogger();
+ }
- void test1()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/l7d1.properties"));
+ void tearDown()
+ {
+ root->getLoggerRepository()->resetConfiguration();
+ }
- log4cxx::helpers::Pool pool;
+ void test1()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/l7d1.properties"));
- for (int i = 0; i < 3; i++)
- {
- root->setResourceBundle(bundles[i]);
+ log4cxx::helpers::Pool pool;
- LOG4CXX_L7DLOG(root, Level::getDebug(), LOG4CXX_TEST_STR("bogus1"));
- LOG4CXX_L7DLOG(root, Level::getInfo(), LOG4CXX_TEST_STR("test"));
- LOG4CXX_L7DLOG(root, Level::getWarn(), LOG4CXX_TEST_STR("hello_world"));
+ for (int i = 0; i < 3; i++)
+ {
+ root->setResourceBundle(bundles[i]);
+
+ LOG4CXX_L7DLOG(root, Level::getDebug(), LOG4CXX_TEST_STR("bogus1"));
+ LOG4CXX_L7DLOG(root, Level::getInfo(), LOG4CXX_TEST_STR("test"));
+ LOG4CXX_L7DLOG(root, Level::getWarn(), LOG4CXX_TEST_STR("hello_world"));
- StringBuffer os;
- os << (i + 1);
- LOG4CXX_L7DLOG2(root, Level::getDebug(), LOG4CXX_TEST_STR("msg1"), os.str().c_str(),
- LOG4CXX_TEST_STR("log4j"));
- LOG4CXX_L7DLOG2(root, Level::getError(), LOG4CXX_TEST_STR("bogusMsg"), os.str().c_str(),
- LOG4CXX_TEST_STR("log4j"));
- LOG4CXX_L7DLOG2(root, Level::getError(), LOG4CXX_TEST_STR("msg1"), os.str().c_str(),
- LOG4CXX_TEST_STR("log4j"));
- LOG4CXX_L7DLOG(root, Level::getInfo(), LOG4CXX_TEST_STR("bogus2"));
+ StringBuffer os;
+ os << (i + 1);
+ LOG4CXX_L7DLOG2(root, Level::getDebug(), LOG4CXX_TEST_STR("msg1"), os.str().c_str(),
+ LOG4CXX_TEST_STR("log4j"));
+ LOG4CXX_L7DLOG2(root, Level::getError(), LOG4CXX_TEST_STR("bogusMsg"), os.str().c_str(),
+ LOG4CXX_TEST_STR("log4j"));
+ LOG4CXX_L7DLOG2(root, Level::getError(), LOG4CXX_TEST_STR("msg1"), os.str().c_str(),
+ LOG4CXX_TEST_STR("log4j"));
+ LOG4CXX_L7DLOG(root, Level::getInfo(), LOG4CXX_TEST_STR("bogus2"));
- LOG4CXX_L7DLOG3(root, Level::getError(), LOG4CXX_TEST_STR("msg3"), os.str().c_str(),
- LOG4CXX_TEST_STR("log4j"), LOG4CXX_TEST_STR("log4cxx"));
- }
+ LOG4CXX_L7DLOG3(root, Level::getError(), LOG4CXX_TEST_STR("msg3"), os.str().c_str(),
+ LOG4CXX_TEST_STR("log4j"), LOG4CXX_TEST_STR("log4cxx"));
+ }
- LOGUNIT_ASSERT(Compare::compare(LOG4CXX_FILE("output/temp"),
- LOG4CXX_FILE("witness/l7d.1")));
- }
+ LOGUNIT_ASSERT(Compare::compare(LOG4CXX_FILE("output/temp"),
+ LOG4CXX_FILE("witness/l7d.1")));
+ }
};
diff --git a/src/test/cpp/leveltestcase.cpp b/src/test/cpp/leveltestcase.cpp
index 7de78aa..e9f90ea 100644
--- a/src/test/cpp/leveltestcase.cpp
+++ b/src/test/cpp/leveltestcase.cpp
@@ -21,108 +21,116 @@
#include "logunit.h"
#if LOG4CXX_CFSTRING_API
-#include <CoreFoundation/CFString.h>
+ #include <CoreFoundation/CFString.h>
#endif
using namespace log4cxx;
LOGUNIT_CLASS(LevelTestCase)
{
- LOGUNIT_TEST_SUITE(LevelTestCase);
- LOGUNIT_TEST(testToLevelFatal);
- LOGUNIT_TEST(testTraceInt);
- LOGUNIT_TEST(testTrace);
- LOGUNIT_TEST(testIntToTrace);
- LOGUNIT_TEST(testStringToTrace);
+ LOGUNIT_TEST_SUITE(LevelTestCase);
+ LOGUNIT_TEST(testToLevelFatal);
+ LOGUNIT_TEST(testTraceInt);
+ LOGUNIT_TEST(testTrace);
+ LOGUNIT_TEST(testIntToTrace);
+ LOGUNIT_TEST(testStringToTrace);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(testWideStringToTrace);
+ LOGUNIT_TEST(testWideStringToTrace);
#endif
#if LOG4CXX_UNICHAR_API
- LOGUNIT_TEST(testUniCharStringToTrace);
+ LOGUNIT_TEST(testUniCharStringToTrace);
#endif
#if LOG4CXX_CFSTRING_API
- LOGUNIT_TEST(testCFStringToTrace);
+ LOGUNIT_TEST(testCFStringToTrace);
#endif
- LOGUNIT_TEST(testTrimmedToTrace);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST(testTrimmedToTrace);
+ LOGUNIT_TEST_SUITE_END();
public:
- void testToLevelFatal()
- {
- LevelPtr level(Level::toLevel(LOG4CXX_TEST_STR("fATal")));
- LOGUNIT_ASSERT_EQUAL((int) Level::FATAL_INT, level->toInt());
- }
+ void testToLevelFatal()
+ {
+ LevelPtr level(Level::toLevel(LOG4CXX_TEST_STR("fATal")));
+ LOGUNIT_ASSERT_EQUAL((int) Level::FATAL_INT, level->toInt());
+ }
- /**
- * Tests Level::TRACE_INT.
- */
- void testTraceInt() {
- LOGUNIT_ASSERT_EQUAL(5000, (int) Level::TRACE_INT);
- }
+ /**
+ * Tests Level::TRACE_INT.
+ */
+ void testTraceInt()
+ {
+ LOGUNIT_ASSERT_EQUAL(5000, (int) Level::TRACE_INT);
+ }
- /**
- * Tests Level.TRACE.
- */
- void testTrace() {
- LOGUNIT_ASSERT(Level::getTrace()->toString() == LOG4CXX_STR("TRACE"));
- LOGUNIT_ASSERT_EQUAL(5000, Level::getTrace()->toInt());
- LOGUNIT_ASSERT_EQUAL(7, Level::getTrace()->getSyslogEquivalent());
- }
+ /**
+ * Tests Level.TRACE.
+ */
+ void testTrace()
+ {
+ LOGUNIT_ASSERT(Level::getTrace()->toString() == LOG4CXX_STR("TRACE"));
+ LOGUNIT_ASSERT_EQUAL(5000, Level::getTrace()->toInt());
+ LOGUNIT_ASSERT_EQUAL(7, Level::getTrace()->getSyslogEquivalent());
+ }
- /**
- * Tests Level.toLevel(Level.TRACE_INT).
- */
- void testIntToTrace() {
- LevelPtr trace(Level::toLevel(5000));
- LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
- }
+ /**
+ * Tests Level.toLevel(Level.TRACE_INT).
+ */
+ void testIntToTrace()
+ {
+ LevelPtr trace(Level::toLevel(5000));
+ LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
+ }
- /**
- * Tests Level.toLevel("TRACE");
- */
- void testStringToTrace() {
- LevelPtr trace(Level::toLevel("TRACE"));
- LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
- }
+ /**
+ * Tests Level.toLevel("TRACE");
+ */
+ void testStringToTrace()
+ {
+ LevelPtr trace(Level::toLevel("TRACE"));
+ LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
+ }
#if LOG4CXX_WCHAR_T_API
- /**
- * Tests Level.toLevel(L"TRACE");
- */
- void testWideStringToTrace() {
- LevelPtr trace(Level::toLevel(L"TRACE"));
- LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
- }
+ /**
+ * Tests Level.toLevel(L"TRACE");
+ */
+ void testWideStringToTrace()
+ {
+ LevelPtr trace(Level::toLevel(L"TRACE"));
+ LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
+ }
#endif
#if LOG4CXX_UNICHAR_API
- /**
- * Tests Level.toLevel("TRACE");
- */
- void testUniCharStringToTrace() {
- const log4cxx::UniChar name[] = { 'T', 'R', 'A', 'C', 'E', 0 };
- LevelPtr trace(Level::toLevel(name));
- LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
- }
+ /**
+ * Tests Level.toLevel("TRACE");
+ */
+ void testUniCharStringToTrace()
+ {
+ const log4cxx::UniChar name[] = { 'T', 'R', 'A', 'C', 'E', 0 };
+ LevelPtr trace(Level::toLevel(name));
+ LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
+ }
#endif
#if LOG4CXX_CFSTRING_API
- /**
- * Tests Level.toLevel(CFSTR("TRACE"));
- */
- void testCFStringToTrace() {
- LevelPtr trace(Level::toLevel(CFSTR("TRACE")));
- LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
- }
+ /**
+ * Tests Level.toLevel(CFSTR("TRACE"));
+ */
+ void testCFStringToTrace()
+ {
+ LevelPtr trace(Level::toLevel(CFSTR("TRACE")));
+ LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
+ }
#endif
- /**
- * Tests Level.toLevel("TRACE ");
- */
- void testTrimmedToTrace() {
- LevelPtr trace(Level::toLevel("TRACE "));
- LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
- }
+ /**
+ * Tests Level.toLevel("TRACE ");
+ */
+ void testTrimmedToTrace()
+ {
+ LevelPtr trace(Level::toLevel("TRACE "));
+ LOGUNIT_ASSERT(trace->toString() == LOG4CXX_STR("TRACE"));
+ }
};
diff --git a/src/test/cpp/loggertestcase.cpp b/src/test/cpp/loggertestcase.cpp
index 399d697..e36886d 100644
--- a/src/test/cpp/loggertestcase.cpp
+++ b/src/test/cpp/loggertestcase.cpp
@@ -40,424 +40,431 @@
class CountingAppender : public AppenderSkeleton
{
-public:
- int counter;
+ public:
+ int counter;
- CountingAppender() : counter(0)
- {}
+ CountingAppender() : counter(0)
+ {}
- void close()
- {}
+ void close()
+ {}
- void append(const spi::LoggingEventPtr& /*event*/, Pool& /*p*/)
- { counter++; }
+ void append(const spi::LoggingEventPtr& /*event*/, Pool& /*p*/)
+ {
+ counter++;
+ }
- bool requiresLayout() const
- { return true; }
+ bool requiresLayout() const
+ {
+ return true;
+ }
};
LOGUNIT_CLASS(LoggerTestCase)
{
- LOGUNIT_TEST_SUITE(LoggerTestCase);
- LOGUNIT_TEST(testAppender1);
- LOGUNIT_TEST(testAppender2);
- LOGUNIT_TEST(testAdditivity1);
- LOGUNIT_TEST(testAdditivity2);
- LOGUNIT_TEST(testAdditivity3);
- LOGUNIT_TEST(testDisable1);
-// LOGUNIT_TEST(testRB1);
-// LOGUNIT_TEST(testRB2); //TODO restore
-// LOGUNIT_TEST(testRB3);
- LOGUNIT_TEST(testExists);
- LOGUNIT_TEST(testHierarchy1);
- LOGUNIT_TEST(testTrace);
- LOGUNIT_TEST(testIsTraceEnabled);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(LoggerTestCase);
+ LOGUNIT_TEST(testAppender1);
+ LOGUNIT_TEST(testAppender2);
+ LOGUNIT_TEST(testAdditivity1);
+ LOGUNIT_TEST(testAdditivity2);
+ LOGUNIT_TEST(testAdditivity3);
+ LOGUNIT_TEST(testDisable1);
+ // LOGUNIT_TEST(testRB1);
+ // LOGUNIT_TEST(testRB2); //TODO restore
+ // LOGUNIT_TEST(testRB3);
+ LOGUNIT_TEST(testExists);
+ LOGUNIT_TEST(testHierarchy1);
+ LOGUNIT_TEST(testTrace);
+ LOGUNIT_TEST(testIsTraceEnabled);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp()
- {
- }
+ void setUp()
+ {
+ }
- void tearDown()
- {
- BasicConfigurator::resetConfiguration();
- a1 = 0;
- a2 = 0;
- logger = 0;
- }
+ void tearDown()
+ {
+ BasicConfigurator::resetConfiguration();
+ a1 = 0;
+ a2 = 0;
+ logger = 0;
+ }
- /**
- Add an appender and see if it can be retrieved.
- */
- void testAppender1()
- {
- logger = Logger::getLogger(LOG4CXX_TEST_STR("test"));
- a1 = new FileAppender();
- a1->setName(LOG4CXX_STR("testAppender1"));
- logger->addAppender(a1);
+ /**
+ Add an appender and see if it can be retrieved.
+ */
+ void testAppender1()
+ {
+ logger = Logger::getLogger(LOG4CXX_TEST_STR("test"));
+ a1 = new FileAppender();
+ a1->setName(LOG4CXX_STR("testAppender1"));
+ logger->addAppender(a1);
- AppenderList list = logger->getAllAppenders();
- AppenderPtr aHat = list.front();
- LOGUNIT_ASSERT_EQUAL(a1, aHat);
- }
+ AppenderList list = logger->getAllAppenders();
+ AppenderPtr aHat = list.front();
+ LOGUNIT_ASSERT_EQUAL(a1, aHat);
+ }
- /**
- Add an appender X, Y, remove X and check if Y is the only
- remaining appender.
- */
- void testAppender2()
- {
- a1 = new FileAppender();
- a1->setName(LOG4CXX_STR("testAppender2.1"));
- a2 = new FileAppender();
- a2->setName(LOG4CXX_STR("testAppender2.2"));
+ /**
+ Add an appender X, Y, remove X and check if Y is the only
+ remaining appender.
+ */
+ void testAppender2()
+ {
+ a1 = new FileAppender();
+ a1->setName(LOG4CXX_STR("testAppender2.1"));
+ a2 = new FileAppender();
+ a2->setName(LOG4CXX_STR("testAppender2.2"));
- logger = Logger::getLogger(LOG4CXX_TEST_STR("test"));
- logger->addAppender(a1);
- logger->addAppender(a2);
- logger->removeAppender((LogString) LOG4CXX_STR("testAppender2.1"));
+ logger = Logger::getLogger(LOG4CXX_TEST_STR("test"));
+ logger->addAppender(a1);
+ logger->addAppender(a2);
+ logger->removeAppender((LogString) LOG4CXX_STR("testAppender2.1"));
- AppenderList list = logger->getAllAppenders();
- AppenderPtr aHat = list.front();
- LOGUNIT_ASSERT_EQUAL(a2, aHat);
- LOGUNIT_ASSERT(list.size() == 1);
- }
+ AppenderList list = logger->getAllAppenders();
+ AppenderPtr aHat = list.front();
+ LOGUNIT_ASSERT_EQUAL(a2, aHat);
+ LOGUNIT_ASSERT(list.size() == 1);
+ }
- /**
- Test if LoggerPtr a.b inherits its appender from a.
- */
- void testAdditivity1()
- {
- LoggerPtr a = Logger::getLogger(LOG4CXX_TEST_STR("a"));
- LoggerPtr ab = Logger::getLogger(LOG4CXX_TEST_STR("a.b"));
- CountingAppenderPtr ca = new CountingAppender();
- a->addAppender(ca);
+ /**
+ Test if LoggerPtr a.b inherits its appender from a.
+ */
+ void testAdditivity1()
+ {
+ LoggerPtr a = Logger::getLogger(LOG4CXX_TEST_STR("a"));
+ LoggerPtr ab = Logger::getLogger(LOG4CXX_TEST_STR("a.b"));
+ CountingAppenderPtr ca = new CountingAppender();
+ a->addAppender(ca);
- LOGUNIT_ASSERT_EQUAL(ca->counter, 0);
- ab->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(ca->counter, 1);
- ab->info(MSG);
- LOGUNIT_ASSERT_EQUAL(ca->counter, 2);
- ab->warn(MSG);
- LOGUNIT_ASSERT_EQUAL(ca->counter, 3);
- ab->error(MSG);
- LOGUNIT_ASSERT_EQUAL(ca->counter, 4);
- }
+ LOGUNIT_ASSERT_EQUAL(ca->counter, 0);
+ ab->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(ca->counter, 1);
+ ab->info(MSG);
+ LOGUNIT_ASSERT_EQUAL(ca->counter, 2);
+ ab->warn(MSG);
+ LOGUNIT_ASSERT_EQUAL(ca->counter, 3);
+ ab->error(MSG);
+ LOGUNIT_ASSERT_EQUAL(ca->counter, 4);
+ }
- /**
- Test multiple additivity.
- */
- void testAdditivity2()
- {
- LoggerPtr a = Logger::getLogger(LOG4CXX_TEST_STR("a"));
- LoggerPtr ab = Logger::getLogger(LOG4CXX_TEST_STR("a.b"));
- LoggerPtr abc = Logger::getLogger(LOG4CXX_TEST_STR("a.b.c"));
- LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
+ /**
+ Test multiple additivity.
+ */
+ void testAdditivity2()
+ {
+ LoggerPtr a = Logger::getLogger(LOG4CXX_TEST_STR("a"));
+ LoggerPtr ab = Logger::getLogger(LOG4CXX_TEST_STR("a.b"));
+ LoggerPtr abc = Logger::getLogger(LOG4CXX_TEST_STR("a.b.c"));
+ LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
- CountingAppenderPtr ca1 = new CountingAppender();
- CountingAppenderPtr ca2 = new CountingAppender();
+ CountingAppenderPtr ca1 = new CountingAppender();
+ CountingAppenderPtr ca2 = new CountingAppender();
- a->addAppender(ca1);
- abc->addAppender(ca2);
+ a->addAppender(ca1);
+ abc->addAppender(ca2);
- LOGUNIT_ASSERT_EQUAL(ca1->counter, 0);
- LOGUNIT_ASSERT_EQUAL(ca2->counter, 0);
+ LOGUNIT_ASSERT_EQUAL(ca1->counter, 0);
+ LOGUNIT_ASSERT_EQUAL(ca2->counter, 0);
- ab->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(ca1->counter, 1);
- LOGUNIT_ASSERT_EQUAL(ca2->counter, 0);
+ ab->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(ca1->counter, 1);
+ LOGUNIT_ASSERT_EQUAL(ca2->counter, 0);
- abc->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(ca1->counter, 2);
- LOGUNIT_ASSERT_EQUAL(ca2->counter, 1);
+ abc->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(ca1->counter, 2);
+ LOGUNIT_ASSERT_EQUAL(ca2->counter, 1);
- x->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(ca1->counter, 2);
- LOGUNIT_ASSERT_EQUAL(ca2->counter, 1);
- }
+ x->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(ca1->counter, 2);
+ LOGUNIT_ASSERT_EQUAL(ca2->counter, 1);
+ }
- /**
- Test additivity flag.
- */
- void testAdditivity3()
- {
- LoggerPtr root = Logger::getRootLogger();
- LoggerPtr a = Logger::getLogger(LOG4CXX_TEST_STR("a"));
- LoggerPtr ab = Logger::getLogger(LOG4CXX_TEST_STR("a.b"));
- LoggerPtr abc = Logger::getLogger(LOG4CXX_TEST_STR("a.b.c"));
- LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
+ /**
+ Test additivity flag.
+ */
+ void testAdditivity3()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ LoggerPtr a = Logger::getLogger(LOG4CXX_TEST_STR("a"));
+ LoggerPtr ab = Logger::getLogger(LOG4CXX_TEST_STR("a.b"));
+ LoggerPtr abc = Logger::getLogger(LOG4CXX_TEST_STR("a.b.c"));
+ LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
- CountingAppenderPtr caRoot = new CountingAppender();
- CountingAppenderPtr caA = new CountingAppender();
- CountingAppenderPtr caABC = new CountingAppender();
+ CountingAppenderPtr caRoot = new CountingAppender();
+ CountingAppenderPtr caA = new CountingAppender();
+ CountingAppenderPtr caABC = new CountingAppender();
- root->addAppender(caRoot);
- a->addAppender(caA);
- abc->addAppender(caABC);
+ root->addAppender(caRoot);
+ a->addAppender(caA);
+ abc->addAppender(caABC);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 0);
- LOGUNIT_ASSERT_EQUAL(caA->counter, 0);
- LOGUNIT_ASSERT_EQUAL(caABC->counter, 0);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 0);
+ LOGUNIT_ASSERT_EQUAL(caA->counter, 0);
+ LOGUNIT_ASSERT_EQUAL(caABC->counter, 0);
- ab->setAdditivity(false);
+ ab->setAdditivity(false);
- a->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 1);
- LOGUNIT_ASSERT_EQUAL(caA->counter, 1);
- LOGUNIT_ASSERT_EQUAL(caABC->counter, 0);
+ a->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 1);
+ LOGUNIT_ASSERT_EQUAL(caA->counter, 1);
+ LOGUNIT_ASSERT_EQUAL(caABC->counter, 0);
- ab->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 1);
- LOGUNIT_ASSERT_EQUAL(caA->counter, 1);
- LOGUNIT_ASSERT_EQUAL(caABC->counter, 0);
+ ab->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 1);
+ LOGUNIT_ASSERT_EQUAL(caA->counter, 1);
+ LOGUNIT_ASSERT_EQUAL(caABC->counter, 0);
- abc->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 1);
- LOGUNIT_ASSERT_EQUAL(caA->counter, 1);
- LOGUNIT_ASSERT_EQUAL(caABC->counter, 1);
- }
+ abc->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 1);
+ LOGUNIT_ASSERT_EQUAL(caA->counter, 1);
+ LOGUNIT_ASSERT_EQUAL(caABC->counter, 1);
+ }
- void testDisable1()
- {
- CountingAppenderPtr caRoot = new CountingAppender();
- LoggerPtr root = Logger::getRootLogger();
- root->addAppender(caRoot);
+ void testDisable1()
+ {
+ CountingAppenderPtr caRoot = new CountingAppender();
+ LoggerPtr root = Logger::getRootLogger();
+ root->addAppender(caRoot);
- LoggerRepositoryPtr h = LogManager::getLoggerRepository();
+ LoggerRepositoryPtr h = LogManager::getLoggerRepository();
- //h.disableDebug();
- h->setThreshold(Level::getInfo());
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 0);
+ //h.disableDebug();
+ h->setThreshold(Level::getInfo());
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 0);
- root->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 0);
- root->info(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 1);
- root->log(Level::getWarn(), MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 2);
- root->warn(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 3);
+ root->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 0);
+ root->info(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 1);
+ root->log(Level::getWarn(), MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 2);
+ root->warn(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 3);
- //h.disableInfo();
- h->setThreshold(Level::getWarn());
- root->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 3);
- root->info(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 3);
- root->log(Level::getWarn(), MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 4);
- root->error(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 5);
- root->log(Level::getError(), MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ //h.disableInfo();
+ h->setThreshold(Level::getWarn());
+ root->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 3);
+ root->info(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 3);
+ root->log(Level::getWarn(), MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 4);
+ root->error(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 5);
+ root->log(Level::getError(), MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- //h.disableAll();
- h->setThreshold(Level::getOff());
- root->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->info(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->log(Level::getWarn(), MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->error(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->log(Level::getFatal(), MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->log(Level::getFatal(), MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ //h.disableAll();
+ h->setThreshold(Level::getOff());
+ root->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->info(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->log(Level::getWarn(), MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->error(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->log(Level::getFatal(), MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->log(Level::getFatal(), MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- //h.disable(Level::getFatalLevel());
- h->setThreshold(Level::getOff());
- root->debug(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->info(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->log(Level::getWarn(), MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->error(MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->log(Level::getWarn(), MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- root->log(Level::getFatal(), MSG);
- LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
- }
+ //h.disable(Level::getFatalLevel());
+ h->setThreshold(Level::getOff());
+ root->debug(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->info(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->log(Level::getWarn(), MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->error(MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->log(Level::getWarn(), MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ root->log(Level::getFatal(), MSG);
+ LOGUNIT_ASSERT_EQUAL(caRoot->counter, 6);
+ }
- ResourceBundlePtr getBundle(const LogString& lang, const LogString& region)
- {
- Locale l(lang, region);
- ResourceBundlePtr bundle(
- PropertyResourceBundle::getBundle(LOG4CXX_STR("L7D"),l));
- LOGUNIT_ASSERT(bundle != 0);
- return bundle;
- }
+ ResourceBundlePtr getBundle(const LogString & lang, const LogString & region)
+ {
+ Locale l(lang, region);
+ ResourceBundlePtr bundle(
+ PropertyResourceBundle::getBundle(LOG4CXX_STR("L7D"), l));
+ LOGUNIT_ASSERT(bundle != 0);
+ return bundle;
+ }
- void testRB1()
- {
- ResourceBundlePtr rbUS(getBundle(LOG4CXX_STR("en"), LOG4CXX_STR("US")));
- ResourceBundlePtr rbFR(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("FR")));
- ResourceBundlePtr rbCH(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("CH")));
+ void testRB1()
+ {
+ ResourceBundlePtr rbUS(getBundle(LOG4CXX_STR("en"), LOG4CXX_STR("US")));
+ ResourceBundlePtr rbFR(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("FR")));
+ ResourceBundlePtr rbCH(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("CH")));
- LoggerPtr root = Logger::getRootLogger();
- root->setResourceBundle(rbUS);
+ LoggerPtr root = Logger::getRootLogger();
+ root->setResourceBundle(rbUS);
- ResourceBundlePtr t = root->getResourceBundle();
- LOGUNIT_ASSERT(t == rbUS);
+ ResourceBundlePtr t = root->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbUS);
- LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
- LoggerPtr x_y = Logger::getLogger(LOG4CXX_TEST_STR("x.y"));
- LoggerPtr x_y_z = Logger::getLogger(LOG4CXX_TEST_STR("x.y.z"));
+ LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
+ LoggerPtr x_y = Logger::getLogger(LOG4CXX_TEST_STR("x.y"));
+ LoggerPtr x_y_z = Logger::getLogger(LOG4CXX_TEST_STR("x.y.z"));
- t = x->getResourceBundle();
- LOGUNIT_ASSERT(t == rbUS);
- t = x_y->getResourceBundle();
- LOGUNIT_ASSERT(t == rbUS);
- t = x_y_z->getResourceBundle();
- LOGUNIT_ASSERT(t == rbUS);
- }
+ t = x->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbUS);
+ t = x_y->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbUS);
+ t = x_y_z->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbUS);
+ }
- void testRB2()
- {
- LoggerPtr root = Logger::getRootLogger();
- ResourceBundlePtr rbUS(getBundle(LOG4CXX_STR("en"), LOG4CXX_STR("US")));
- ResourceBundlePtr rbFR(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("FR")));
- ResourceBundlePtr rbCH(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("CH")));
+ void testRB2()
+ {
+ LoggerPtr root = Logger::getRootLogger();
+ ResourceBundlePtr rbUS(getBundle(LOG4CXX_STR("en"), LOG4CXX_STR("US")));
+ ResourceBundlePtr rbFR(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("FR")));
+ ResourceBundlePtr rbCH(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("CH")));
- root->setResourceBundle(rbUS);
+ root->setResourceBundle(rbUS);
- ResourceBundlePtr t = root->getResourceBundle();
- LOGUNIT_ASSERT(t == rbUS);
+ ResourceBundlePtr t = root->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbUS);
- LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
- LoggerPtr x_y = Logger::getLogger(LOG4CXX_TEST_STR("x.y"));
- LoggerPtr x_y_z = Logger::getLogger(LOG4CXX_TEST_STR("x.y.z"));
+ LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
+ LoggerPtr x_y = Logger::getLogger(LOG4CXX_TEST_STR("x.y"));
+ LoggerPtr x_y_z = Logger::getLogger(LOG4CXX_TEST_STR("x.y.z"));
- x_y->setResourceBundle(rbFR);
- t = x->getResourceBundle();
- LOGUNIT_ASSERT(t == rbUS);
- t = x_y->getResourceBundle();
- LOGUNIT_ASSERT(t == rbFR);
- t = x_y_z->getResourceBundle();
- LOGUNIT_ASSERT(t == rbFR);
- }
+ x_y->setResourceBundle(rbFR);
+ t = x->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbUS);
+ t = x_y->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbFR);
+ t = x_y_z->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbFR);
+ }
- void testRB3()
- {
- ResourceBundlePtr rbUS(getBundle(LOG4CXX_STR("en"), LOG4CXX_STR("US")));
- ResourceBundlePtr rbFR(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("FR")));
- ResourceBundlePtr rbCH(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("CH")));
+ void testRB3()
+ {
+ ResourceBundlePtr rbUS(getBundle(LOG4CXX_STR("en"), LOG4CXX_STR("US")));
+ ResourceBundlePtr rbFR(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("FR")));
+ ResourceBundlePtr rbCH(getBundle(LOG4CXX_STR("fr"), LOG4CXX_STR("CH")));
- LoggerPtr root = Logger::getRootLogger();
- root->setResourceBundle(rbUS);
+ LoggerPtr root = Logger::getRootLogger();
+ root->setResourceBundle(rbUS);
- ResourceBundlePtr t = root->getResourceBundle();
- LOGUNIT_ASSERT(t == rbUS);
+ ResourceBundlePtr t = root->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbUS);
- LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
- LoggerPtr x_y = Logger::getLogger(LOG4CXX_TEST_STR("x.y"));
- LoggerPtr x_y_z = Logger::getLogger(LOG4CXX_TEST_STR("x.y.z"));
+ LoggerPtr x = Logger::getLogger(LOG4CXX_TEST_STR("x"));
+ LoggerPtr x_y = Logger::getLogger(LOG4CXX_TEST_STR("x.y"));
+ LoggerPtr x_y_z = Logger::getLogger(LOG4CXX_TEST_STR("x.y.z"));
- x_y->setResourceBundle(rbFR);
- x_y_z->setResourceBundle(rbCH);
- t = x->getResourceBundle();
- LOGUNIT_ASSERT(t == rbUS);
- t = x_y->getResourceBundle();
- LOGUNIT_ASSERT(t == rbFR);
- t = x_y_z->getResourceBundle();
- LOGUNIT_ASSERT(t == rbCH);
- }
+ x_y->setResourceBundle(rbFR);
+ x_y_z->setResourceBundle(rbCH);
+ t = x->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbUS);
+ t = x_y->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbFR);
+ t = x_y_z->getResourceBundle();
+ LOGUNIT_ASSERT(t == rbCH);
+ }
- void testExists()
- {
- LoggerPtr a = Logger::getLogger(LOG4CXX_TEST_STR("a"));
- LoggerPtr a_b = Logger::getLogger(LOG4CXX_TEST_STR("a.b"));
- LoggerPtr a_b_c = Logger::getLogger(LOG4CXX_TEST_STR("a.b.c"));
+ void testExists()
+ {
+ LoggerPtr a = Logger::getLogger(LOG4CXX_TEST_STR("a"));
+ LoggerPtr a_b = Logger::getLogger(LOG4CXX_TEST_STR("a.b"));
+ LoggerPtr a_b_c = Logger::getLogger(LOG4CXX_TEST_STR("a.b.c"));
- LoggerPtr t;
- t = LogManager::exists(LOG4CXX_TEST_STR("xx"));
- LOGUNIT_ASSERT(t == 0);
- t = LogManager::exists(LOG4CXX_TEST_STR("a"));
- LOGUNIT_ASSERT_EQUAL(a, t);
- t = LogManager::exists(LOG4CXX_TEST_STR("a.b"));
- LOGUNIT_ASSERT_EQUAL(a_b, t);
- t = LogManager::exists(LOG4CXX_TEST_STR("a.b.c"));
- LOGUNIT_ASSERT_EQUAL(a_b_c, t);
- }
+ LoggerPtr t;
+ t = LogManager::exists(LOG4CXX_TEST_STR("xx"));
+ LOGUNIT_ASSERT(t == 0);
+ t = LogManager::exists(LOG4CXX_TEST_STR("a"));
+ LOGUNIT_ASSERT_EQUAL(a, t);
+ t = LogManager::exists(LOG4CXX_TEST_STR("a.b"));
+ LOGUNIT_ASSERT_EQUAL(a_b, t);
+ t = LogManager::exists(LOG4CXX_TEST_STR("a.b.c"));
+ LOGUNIT_ASSERT_EQUAL(a_b_c, t);
+ }
- void testHierarchy1()
- {
- LoggerRepositoryPtr h = new Hierarchy();
- LoggerPtr root(h->getRootLogger());
- root->setLevel(Level::getError());
- LoggerPtr a0 = h->getLogger(LOG4CXX_STR("a"));
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("a"), a0->getName());
- LOGUNIT_ASSERT(a0->getLevel() == 0);
- LOGUNIT_ASSERT(Level::getError() == a0->getEffectiveLevel());
+ void testHierarchy1()
+ {
+ LoggerRepositoryPtr h = new Hierarchy();
+ LoggerPtr root(h->getRootLogger());
+ root->setLevel(Level::getError());
+ LoggerPtr a0 = h->getLogger(LOG4CXX_STR("a"));
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("a"), a0->getName());
+ LOGUNIT_ASSERT(a0->getLevel() == 0);
+ LOGUNIT_ASSERT(Level::getError() == a0->getEffectiveLevel());
- LoggerPtr a11 = h->getLogger(LOG4CXX_STR("a"));
- LOGUNIT_ASSERT_EQUAL(a0, a11);
- }
-
- void compileTestForLOGCXX202() const {
- //
- // prior to fix, these line would compile.
- //
- (*logger).info("Hello, World.");
- ((Logger*) logger)->info("Hello, World.");
- //
- // this one would not.
- //
- logger->info("Hello, World.");
- }
-
-
- /**
- * Tests logger.trace(Object).
- *
- */
- void testTrace() {
- VectorAppenderPtr appender = new VectorAppender();
- LoggerPtr root = Logger::getRootLogger();
- root->addAppender(appender);
- root->setLevel(Level::getInfo());
+ LoggerPtr a11 = h->getLogger(LOG4CXX_STR("a"));
+ LOGUNIT_ASSERT_EQUAL(a0, a11);
+ }
- LoggerPtr tracer = Logger::getLogger("com.example.Tracer");
- tracer->setLevel(Level::getTrace());
+ void compileTestForLOGCXX202() const
+ {
+ //
+ // prior to fix, these line would compile.
+ //
+ (*logger).info("Hello, World.");
+ ((Logger*) logger)->info("Hello, World.");
+ //
+ // this one would not.
+ //
+ logger->info("Hello, World.");
+ }
- LOG4CXX_TRACE(tracer, "Message 1");
- LOG4CXX_TRACE(root, "Discarded Message");
- LOG4CXX_TRACE(root, "Discarded Message");
- std::vector<LoggingEventPtr> msgs(appender->vector);
- LOGUNIT_ASSERT_EQUAL((size_t) 1, msgs.size());
- LoggingEventPtr event = msgs[0];
- LOGUNIT_ASSERT_EQUAL((int) Level::TRACE_INT, event->getLevel()->toInt());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("Message 1")), event->getMessage());
- }
+ /**
+ * Tests logger.trace(Object).
+ *
+ */
+ void testTrace()
+ {
+ VectorAppenderPtr appender = new VectorAppender();
+ LoggerPtr root = Logger::getRootLogger();
+ root->addAppender(appender);
+ root->setLevel(Level::getInfo());
- /**
- * Tests isTraceEnabled.
- *
- */
- void testIsTraceEnabled() {
- VectorAppenderPtr appender = new VectorAppender();
- LoggerPtr root = Logger::getRootLogger();
- root->addAppender(appender);
- root->setLevel(Level::getInfo());
+ LoggerPtr tracer = Logger::getLogger("com.example.Tracer");
+ tracer->setLevel(Level::getTrace());
- LoggerPtr tracer = Logger::getLogger("com.example.Tracer");
- tracer->setLevel(Level::getTrace());
+ LOG4CXX_TRACE(tracer, "Message 1");
+ LOG4CXX_TRACE(root, "Discarded Message");
+ LOG4CXX_TRACE(root, "Discarded Message");
- LOGUNIT_ASSERT_EQUAL(true, tracer->isTraceEnabled());
- LOGUNIT_ASSERT_EQUAL(false, root->isTraceEnabled());
- }
+ std::vector<LoggingEventPtr> msgs(appender->vector);
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, msgs.size());
+ LoggingEventPtr event = msgs[0];
+ LOGUNIT_ASSERT_EQUAL((int) Level::TRACE_INT, event->getLevel()->toInt());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("Message 1")), event->getMessage());
+ }
+
+ /**
+ * Tests isTraceEnabled.
+ *
+ */
+ void testIsTraceEnabled()
+ {
+ VectorAppenderPtr appender = new VectorAppender();
+ LoggerPtr root = Logger::getRootLogger();
+ root->addAppender(appender);
+ root->setLevel(Level::getInfo());
+
+ LoggerPtr tracer = Logger::getLogger("com.example.Tracer");
+ tracer->setLevel(Level::getTrace());
+
+ LOGUNIT_ASSERT_EQUAL(true, tracer->isTraceEnabled());
+ LOGUNIT_ASSERT_EQUAL(false, root->isTraceEnabled());
+ }
protected:
- static LogString MSG;
- LoggerPtr logger;
- AppenderPtr a1;
- AppenderPtr a2;
+ static LogString MSG;
+ LoggerPtr logger;
+ AppenderPtr a1;
+ AppenderPtr a2;
};
LogString LoggerTestCase::MSG(LOG4CXX_STR("M"));
diff --git a/src/test/cpp/logunit.cpp b/src/test/cpp/logunit.cpp
index 138bf7b..6d57a64 100644
--- a/src/test/cpp/logunit.cpp
+++ b/src/test/cpp/logunit.cpp
@@ -15,7 +15,7 @@
* limitations under the License.
*/
#if defined(_MSC_VER)
-#pragma warning ( disable: 4231 4251 4275 4786 )
+ #pragma warning ( disable: 4231 4251 4275 4786 )
#endif
#include "logunit.h"
@@ -25,89 +25,111 @@
#include <stdlib.h>
#include <locale.h>
-void initialize() {
- setlocale(LC_CTYPE, "");
- const char* ctype = setlocale(LC_CTYPE, 0);
- if (ctype == 0) {
- puts("LC_CTYPE: NULL");
- } else {
- printf("LC_CTYPE: %s\n", ctype);
- }
- apr_initialize();
+void initialize()
+{
+ setlocale(LC_CTYPE, "");
+ const char* ctype = setlocale(LC_CTYPE, 0);
+
+ if (ctype == 0)
+ {
+ puts("LC_CTYPE: NULL");
+ }
+ else
+ {
+ printf("LC_CTYPE: %s\n", ctype);
+ }
+
+ apr_initialize();
}
extern const char** testlist;
-static bool suite_sort(const LogUnit::SuiteList::value_type& lhs, const LogUnit::SuiteList::value_type& rhs) {
- return lhs.first < rhs.first;
+static bool suite_sort(const LogUnit::SuiteList::value_type& lhs, const LogUnit::SuiteList::value_type& rhs)
+{
+ return lhs.first < rhs.first;
}
-abts_suite* abts_run_suites(abts_suite* suite) {
- LogUnit::SuiteList sorted(LogUnit::getAllSuites());
+abts_suite* abts_run_suites(abts_suite* suite)
+{
+ LogUnit::SuiteList sorted(LogUnit::getAllSuites());
#if !defined(_MSC_VER)
- std::sort(sorted.begin(), sorted.end(), suite_sort);
+ std::sort(sorted.begin(), sorted.end(), suite_sort);
#endif
-
- for(LogUnit::SuiteList::const_iterator iter = sorted.begin();
- iter != sorted.end();
- iter++) {
- //
- // if there is an explicit testlist or if the suite is not by default disabled
- // pump suite through filter
- if(testlist || !iter->second->isDisabled()) {
- suite = iter->second->run(suite);
- }
- }
- apr_terminate();
- return suite;
+
+ for (LogUnit::SuiteList::const_iterator iter = sorted.begin();
+ iter != sorted.end();
+ iter++)
+ {
+ //
+ // if there is an explicit testlist or if the suite is not by default disabled
+ // pump suite through filter
+ if (testlist || !iter->second->isDisabled())
+ {
+ suite = iter->second->run(suite);
+ }
+ }
+
+ apr_terminate();
+ return suite;
}
using namespace LogUnit;
using namespace std;
TestException::TestException() {}
-TestException::TestException(const TestException& src) : std::exception(src) {
+TestException::TestException(const TestException& src) : std::exception(src)
+{
}
-TestException& TestException::operator=(const TestException& src) {
- exception::operator=(src);
- return *this;
+TestException& TestException::operator=(const TestException& src)
+{
+ exception::operator=(src);
+ return *this;
}
AssertException::AssertException(std::string message, int line) : msg(message), lineno(line) {}
-AssertException::AssertException(bool expected, const char* actualExpr, int line) : msg(actualExpr), lineno(line) {
- if (expected) {
- msg.append(" was expected to be true, was false.");
- } else {
- msg.append(" was expected to be true, was false.");
- }
+AssertException::AssertException(bool expected, const char* actualExpr, int line) : msg(actualExpr), lineno(line)
+{
+ if (expected)
+ {
+ msg.append(" was expected to be true, was false.");
+ }
+ else
+ {
+ msg.append(" was expected to be true, was false.");
+ }
}
-AssertException::AssertException(const AssertException& src)
- : std::exception(src),
- msg(src.msg),
- lineno(src.lineno) {
+AssertException::AssertException(const AssertException& src)
+ : std::exception(src),
+ msg(src.msg),
+ lineno(src.lineno)
+{
}
-AssertException::~AssertException() throw() {
+AssertException::~AssertException() throw()
+{
}
-AssertException& AssertException::operator=(const AssertException& src) {
- exception::operator=(src);
- msg = src.msg;
- lineno = src.lineno;
- return *this;
+AssertException& AssertException::operator=(const AssertException& src)
+{
+ exception::operator=(src);
+ msg = src.msg;
+ lineno = src.lineno;
+ return *this;
}
-std::string AssertException::getMessage() const {
- return msg;
+std::string AssertException::getMessage() const
+{
+ return msg;
}
-int AssertException::getLine() const {
- return lineno;
+int AssertException::getLine() const
+{
+ return lineno;
}
@@ -115,128 +137,160 @@
TestFixture::TestFixture() : tc(0) {}
TestFixture::~TestFixture() {}
-void TestFixture::setCase(abts_case* newtc) {
- tc = newtc;
+void TestFixture::setCase(abts_case* newtc)
+{
+ tc = newtc;
}
void TestFixture::setUp() {}
void TestFixture::tearDown() {}
-void TestFixture::assertEquals(const char* expected,
- const char* actual,
- const char* expectedExpr,
- const char* actualExpr,
- int lineno) {
- abts_str_equal(tc, expected, actual, lineno);
- if ((expected == 0 || actual != 0) ||
- (expected != 0 || actual == 0) ||
- (expected != 0 && strcmp(expected, actual) != 0)) {
- throw TestException();
- }
+void TestFixture::assertEquals(const char* expected,
+ const char* actual,
+ const char* expectedExpr,
+ const char* actualExpr,
+ int lineno)
+{
+ abts_str_equal(tc, expected, actual, lineno);
+
+ if ((expected == 0 || actual != 0) ||
+ (expected != 0 || actual == 0) ||
+ (expected != 0 && strcmp(expected, actual) != 0))
+ {
+ throw TestException();
+ }
}
-void TestFixture::assertEquals(const std::string expected,
- const std::string actual,
- const char* expectedExpr,
- const char* actualExpr,
- int lineno) {
- abts_str_equal(tc, expected.c_str(), actual.c_str(), lineno);
- if (expected != actual) {
- throw TestException();
- }
+void TestFixture::assertEquals(const std::string expected,
+ const std::string actual,
+ const char* expectedExpr,
+ const char* actualExpr,
+ int lineno)
+{
+ abts_str_equal(tc, expected.c_str(), actual.c_str(), lineno);
+
+ if (expected != actual)
+ {
+ throw TestException();
+ }
}
template<class S>
-static void transcode(std::string& dst, const S& src) {
- for(typename S::const_iterator iter = src.begin();
- iter != src.end();
- iter++) {
- if (*iter <= 0x7F) {
- dst.append(1, (char) *iter);
- } else {
- dst.append(1, '?');
- }
- }
+static void transcode(std::string& dst, const S& src)
+{
+ for (typename S::const_iterator iter = src.begin();
+ iter != src.end();
+ iter++)
+ {
+ if (*iter <= 0x7F)
+ {
+ dst.append(1, (char) *iter);
+ }
+ else
+ {
+ dst.append(1, '?');
+ }
+ }
}
-#if LOG4CXX_LOGCHAR_IS_WCHAR || LOG4CXX_WCHAR_T_API
-void TestFixture::assertEquals(const std::wstring expected,
- const std::wstring actual,
- const char* expectedExpr,
- const char* actualExpr,
- int lineno) {
- if (expected != actual) {
- std::string exp, act;
- transcode(exp, expected);
- transcode(act, actual);
- abts_str_equal(tc, exp.c_str(), act.c_str(), lineno);
- throw TestException();
- }
+#if LOG4CXX_LOGCHAR_IS_WCHAR || LOG4CXX_WCHAR_T_API
+void TestFixture::assertEquals(const std::wstring expected,
+ const std::wstring actual,
+ const char* expectedExpr,
+ const char* actualExpr,
+ int lineno)
+{
+ if (expected != actual)
+ {
+ std::string exp, act;
+ transcode(exp, expected);
+ transcode(act, actual);
+ abts_str_equal(tc, exp.c_str(), act.c_str(), lineno);
+ throw TestException();
+ }
}
-#endif
+#endif
#if LOG4CXX_LOGCHAR_IS_UNICHAR || LOG4CXX_UNICHAR_API || LOG4CXX_CFSTRING_API
-void TestFixture::assertEquals(const std::basic_string<log4cxx::UniChar> expected,
- const std::basic_string<log4cxx::UniChar> actual,
- const char* expectedExpr,
- const char* actualExpr,
-int lineno) {
- if (expected != actual) {
- std::string exp, act;
- transcode(exp, expected);
- transcode(act, actual);
- abts_str_equal(tc, exp.c_str(), act.c_str(), lineno);
- throw TestException();
- }
+void TestFixture::assertEquals(const std::basic_string<log4cxx::UniChar> expected,
+ const std::basic_string<log4cxx::UniChar> actual,
+ const char* expectedExpr,
+ const char* actualExpr,
+ int lineno)
+{
+ if (expected != actual)
+ {
+ std::string exp, act;
+ transcode(exp, expected);
+ transcode(act, actual);
+ abts_str_equal(tc, exp.c_str(), act.c_str(), lineno);
+ throw TestException();
+ }
}
-#endif
+#endif
-void TestFixture::assertEquals(const int expected, const int actual, int lineno) {
- abts_int_equal(tc, expected, actual, lineno);
- if (expected != actual) {
- throw TestException();
- }
+void TestFixture::assertEquals(const int expected, const int actual, int lineno)
+{
+ abts_int_equal(tc, expected, actual, lineno);
+
+ if (expected != actual)
+ {
+ throw TestException();
+ }
}
-LogUnit::TestSuite::TestSuite(const char* fname) : filename(fname), disabled(false) {
+LogUnit::TestSuite::TestSuite(const char* fname) : filename(fname), disabled(false)
+{
#if defined(_WIN32)
- for(size_t i = filename.find('\\');
- i != std::string::npos;
- i = filename.find('\\', i+1)) {
- filename.replace(i, 1, 1, '/');
- }
+
+ for (size_t i = filename.find('\\');
+ i != std::string::npos;
+ i = filename.find('\\', i + 1))
+ {
+ filename.replace(i, 1, 1, '/');
+ }
+
#endif
}
-void LogUnit::TestSuite::addTest(const char*, test_func func) {
- test_funcs.push_back(func);
+void LogUnit::TestSuite::addTest(const char*, test_func func)
+{
+ test_funcs.push_back(func);
}
-std::string LogUnit::TestSuite::getName() const {
- return filename;
+std::string LogUnit::TestSuite::getName() const
+{
+ return filename;
}
-void LogUnit::TestSuite::setDisabled(bool newVal) {
- disabled = newVal;
+void LogUnit::TestSuite::setDisabled(bool newVal)
+{
+ disabled = newVal;
}
-bool LogUnit::TestSuite::isDisabled() const {
- return disabled;
+bool LogUnit::TestSuite::isDisabled() const
+{
+ return disabled;
}
-abts_suite* TestSuite::run(abts_suite* suite) const {
- suite = abts_add_suite(suite, filename.c_str());
- for(TestList::const_iterator iter = test_funcs.begin();
- iter != test_funcs.end();
- iter++) {
- abts_run_test(suite, *iter, NULL);
- }
- return suite;
+abts_suite* TestSuite::run(abts_suite* suite) const
+{
+ suite = abts_add_suite(suite, filename.c_str());
+
+ for (TestList::const_iterator iter = test_funcs.begin();
+ iter != test_funcs.end();
+ iter++)
+ {
+ abts_run_test(suite, *iter, NULL);
+ }
+
+ return suite;
}
-LogUnit::SuiteList& LogUnit::getAllSuites() {
- static LogUnit::SuiteList allSuites;
- return allSuites;
+LogUnit::SuiteList& LogUnit::getAllSuites()
+{
+ static LogUnit::SuiteList allSuites;
+ return allSuites;
}
diff --git a/src/test/cpp/logunit.h b/src/test/cpp/logunit.h
index abfaa40..8987e15 100644
--- a/src/test/cpp/logunit.h
+++ b/src/test/cpp/logunit.h
@@ -20,8 +20,8 @@
#if defined(_MSC_VER)
-#pragma warning (push)
-#pragma warning ( disable: 4231 4251 4275 4786 )
+ #pragma warning (push)
+ #pragma warning ( disable: 4231 4251 4275 4786 )
#endif
#include "abts.h"
@@ -33,215 +33,250 @@
#include <log4cxx/logstring.h>
-namespace LogUnit {
- class TestException : public std::exception {
- public:
- TestException();
- TestException(const TestException&);
- TestException& operator=(const TestException&);
- };
- class AssertException : public std::exception {
- public:
- AssertException(std::string msg, int lineno);
- AssertException(bool expected, const char* actualExpr, int lineno);
- AssertException(const AssertException&);
- AssertException& operator=(const AssertException&);
- virtual ~AssertException() throw();
- std::string getMessage() const;
- int getLine() const;
- private:
- std::string msg;
- int lineno;
- };
- class TestFixture {
- public:
- TestFixture();
- virtual ~TestFixture();
- void setCase(abts_case* tc);
- virtual void setUp();
- virtual void tearDown();
+namespace LogUnit
+{
+class TestException : public std::exception
+{
+ public:
+ TestException();
+ TestException(const TestException&);
+ TestException& operator=(const TestException&);
+};
+class AssertException : public std::exception
+{
+ public:
+ AssertException(std::string msg, int lineno);
+ AssertException(bool expected, const char* actualExpr, int lineno);
+ AssertException(const AssertException&);
+ AssertException& operator=(const AssertException&);
+ virtual ~AssertException() throw();
+ std::string getMessage() const;
+ int getLine() const;
+ private:
+ std::string msg;
+ int lineno;
+};
+class TestFixture
+{
+ public:
+ TestFixture();
+ virtual ~TestFixture();
+ void setCase(abts_case* tc);
+ virtual void setUp();
+ virtual void tearDown();
- void assertEquals(const int expected, const int actual, int lineno);
- void assertEquals(const std::string expected,
- const std::string actual,
- const char* expectedExpr,
- const char* actualExpr,
- int lineno);
- void assertEquals(const char* expected,
- const char* actual,
- const char* expectedExpr,
- const char* actualExpr,
- int lineno);
+ void assertEquals(const int expected, const int actual, int lineno);
+ void assertEquals(const std::string expected,
+ const std::string actual,
+ const char* expectedExpr,
+ const char* actualExpr,
+ int lineno);
+ void assertEquals(const char* expected,
+ const char* actual,
+ const char* expectedExpr,
+ const char* actualExpr,
+ int lineno);
#if LOG4CXX_LOGCHAR_IS_WCHAR || LOG4CXX_WCHAR_T_API
- void assertEquals(const std::wstring expected,
- const std::wstring actual,
- const char* expectedExpr,
- const char* actualExpr,
- int lineno);
+ void assertEquals(const std::wstring expected,
+ const std::wstring actual,
+ const char* expectedExpr,
+ const char* actualExpr,
+ int lineno);
#endif
#if LOG4CXX_LOGCHAR_IS_UNICHAR || LOG4CXX_UNICHAR_API || LOG4CXX_CFSTRING_API
- void assertEquals(const std::basic_string<log4cxx::UniChar> expected,
- const std::basic_string<log4cxx::UniChar> actual,
- const char* expectedExpr,
- const char* actualExpr, int lineno);
+ void assertEquals(const std::basic_string<log4cxx::UniChar> expected,
+ const std::basic_string<log4cxx::UniChar> actual,
+ const char* expectedExpr,
+ const char* actualExpr, int lineno);
#endif
- template<class T>
- void assertEquals(const T& expected,
- const T& actual,
- const char* expectedExpr,
- const char* actualExpr,
- int lineno) {
- if (expected != actual) {
- std::string msg(expectedExpr);
- msg.append(" != ");
- msg.append(actualExpr);
- abts_fail(tc, msg.c_str(), lineno);
- }
- }
- private:
- TestFixture(const TestFixture&);
- TestFixture& operator=(const TestFixture&);
- abts_case* tc;
- };
- template<class T>
- void runTest(abts_case* tc, void (T::*func)()) {
- T ti;
- ti.setCase(tc);
- ti.setUp();
- try {
- (ti.*func)();
- } catch(TestException&) {
- } catch(AssertException& fx) {
- abts_fail(tc, fx.getMessage().c_str(), fx.getLine());
- } catch(std::exception& e) {
- const char* what = e.what();
- std::ostringstream oss;
- oss << "Unexpected std::exception: "
- << (what ? what : "what() == NULL");
- abts_fail(tc, oss.str().c_str(), -1);
- } catch(...) {
- abts_fail(tc, "Unexpected exception", -1);
- }
- ti.tearDown();
- }
- template<class T, class X>
- void runTestWithException(abts_case* tc, void (T::*func)()) {
- T ti;
- ti.setCase(tc);
- ti.setUp();
- try {
- (ti.*func)();
- } catch(TestException&) {
- } catch(AssertException& fx) {
- abts_fail(tc, fx.getMessage().c_str(), fx.getLine());
- } catch(X&) {
- } catch(...) {
- abts_fail(tc, "Unexpected exception", -1);
- }
- ti.tearDown();
- }
- class TestSuite {
- public:
- TestSuite(const char* filename);
- void addTest(const char* testName, test_func func);
- abts_suite* run(abts_suite* suite) const;
- std::string getName() const;
- void setDisabled(bool newVal);
- bool isDisabled() const;
- private:
- TestSuite(const TestSuite&);
- TestSuite& operator=(const TestSuite&);
- typedef std::vector<test_func> TestList;
- TestList test_funcs;
- std::string filename;
- bool disabled;
- };
- typedef std::vector< std::pair<std::string, const TestSuite*> > SuiteList;
- SuiteList& getAllSuites();
- template<class T>
- class RegisterSuite {
- public:
- RegisterSuite() {
- T::populateSuite();
- TestSuite* suite = T::getSuite();
- LogUnit::getAllSuites().push_back(SuiteList::value_type(suite->getName(), suite));
- }
- };
- template<class T>
- class RegisterDisabledSuite {
- public:
- RegisterDisabledSuite() {
- T::populateSuite();
- TestSuite* suite = T::getSuite();
- suite->setDisabled(true);
- LogUnit::getAllSuites().push_back(SuiteList::value_type(suite->getName(), suite));
- }
- };
+ template<class T>
+ void assertEquals(const T& expected,
+ const T& actual,
+ const char* expectedExpr,
+ const char* actualExpr,
+ int lineno)
+ {
+ if (expected != actual)
+ {
+ std::string msg(expectedExpr);
+ msg.append(" != ");
+ msg.append(actualExpr);
+ abts_fail(tc, msg.c_str(), lineno);
+ }
+ }
+ private:
+ TestFixture(const TestFixture&);
+ TestFixture& operator=(const TestFixture&);
+ abts_case* tc;
+};
+template<class T>
+void runTest(abts_case* tc, void (T::*func)())
+{
+ T ti;
+ ti.setCase(tc);
+ ti.setUp();
+
+ try
+ {
+ (ti.*func)();
+ }
+ catch (TestException&)
+ {
+ }
+ catch (AssertException& fx)
+ {
+ abts_fail(tc, fx.getMessage().c_str(), fx.getLine());
+ }
+ catch (std::exception& e)
+ {
+ const char* what = e.what();
+ std::ostringstream oss;
+ oss << "Unexpected std::exception: "
+ << (what ? what : "what() == NULL");
+ abts_fail(tc, oss.str().c_str(), -1);
+ }
+ catch (...)
+ {
+ abts_fail(tc, "Unexpected exception", -1);
+ }
+
+ ti.tearDown();
+}
+template<class T, class X>
+void runTestWithException(abts_case* tc, void (T::*func)())
+{
+ T ti;
+ ti.setCase(tc);
+ ti.setUp();
+
+ try
+ {
+ (ti.*func)();
+ }
+ catch (TestException&)
+ {
+ }
+ catch (AssertException& fx)
+ {
+ abts_fail(tc, fx.getMessage().c_str(), fx.getLine());
+ }
+ catch (X&)
+ {
+ }
+ catch (...)
+ {
+ abts_fail(tc, "Unexpected exception", -1);
+ }
+
+ ti.tearDown();
+}
+class TestSuite
+{
+ public:
+ TestSuite(const char* filename);
+ void addTest(const char* testName, test_func func);
+ abts_suite* run(abts_suite* suite) const;
+ std::string getName() const;
+ void setDisabled(bool newVal);
+ bool isDisabled() const;
+ private:
+ TestSuite(const TestSuite&);
+ TestSuite& operator=(const TestSuite&);
+ typedef std::vector<test_func> TestList;
+ TestList test_funcs;
+ std::string filename;
+ bool disabled;
+};
+typedef std::vector< std::pair<std::string, const TestSuite*> > SuiteList;
+SuiteList& getAllSuites();
+template<class T>
+class RegisterSuite
+{
+ public:
+ RegisterSuite()
+ {
+ T::populateSuite();
+ TestSuite* suite = T::getSuite();
+ LogUnit::getAllSuites().push_back(SuiteList::value_type(suite->getName(), suite));
+ }
+};
+template<class T>
+class RegisterDisabledSuite
+{
+ public:
+ RegisterDisabledSuite()
+ {
+ T::populateSuite();
+ TestSuite* suite = T::getSuite();
+ suite->setDisabled(true);
+ LogUnit::getAllSuites().push_back(SuiteList::value_type(suite->getName(), suite));
+ }
+};
}
#define LOGUNIT_CLASS(x) class x : public LogUnit::TestFixture
#define LOGUNIT_TEST_SUITE(TF) \
-public: \
- static LogUnit::TestSuite* getSuite() { \
- static LogUnit::TestSuite suite(__FILE__); \
- return &suite; \
- } \
- private: \
- class RegisterSuite { \
- public: \
- typedef TF ThisFixture
+ public: \
+ static LogUnit::TestSuite* getSuite() { \
+ static LogUnit::TestSuite suite(__FILE__); \
+ return &suite; \
+ } \
+ private: \
+ class RegisterSuite { \
+ public: \
+ typedef TF ThisFixture
#define LOGUNIT_TEST(testName) \
- class testName ## Registration { \
- public: \
- testName ## Registration() { \
- ThisFixture::getSuite()->addTest(#testName, &testName ## Registration :: run); \
- } \
- static void run(abts_case* tc, void*) { \
- LogUnit::runTest<ThisFixture>(tc, &ThisFixture::testName); \
- } \
- } register ## testName
+ class testName ## Registration { \
+ public: \
+ testName ## Registration() { \
+ ThisFixture::getSuite()->addTest(#testName, &testName ## Registration :: run); \
+ } \
+ static void run(abts_case* tc, void*) { \
+ LogUnit::runTest<ThisFixture>(tc, &ThisFixture::testName); \
+ } \
+ } register ## testName
#define LOGUNIT_TEST_EXCEPTION(testName, Exception) \
- class testName ## Registration { \
- public: \
- testName ## Registration() { \
- ThisFixture::getSuite()->addTest(#testName, &testName ## Registration :: run); \
- } \
- static void run(abts_case* tc, void*) { \
- LogUnit::runTestWithException<ThisFixture, Exception>(tc, &ThisFixture::testName); \
- } \
- } register ## testName
+ class testName ## Registration { \
+ public: \
+ testName ## Registration() { \
+ ThisFixture::getSuite()->addTest(#testName, &testName ## Registration :: run); \
+ } \
+ static void run(abts_case* tc, void*) { \
+ LogUnit::runTestWithException<ThisFixture, Exception>(tc, &ThisFixture::testName); \
+ } \
+ } register ## testName
#define LOGUNIT_TEST_SUITE_END() \
- }; \
- public: \
- static void populateSuite() { \
- static RegisterSuite registration; \
- } \
- private: \
- void nop()
+ }; \
+ public: \
+ static void populateSuite() { \
+ static RegisterSuite registration; \
+ } \
+ private: \
+ void nop()
#define LOGUNIT_TEST_SUITE_REGISTRATION(TF) \
-static LogUnit::RegisterSuite<TF> registration;
+ static LogUnit::RegisterSuite<TF> registration;
#define LOGUNIT_TEST_SUITE_REGISTRATION_DISABLED(TF) \
-static LogUnit::RegisterDisabledSuite<TF> registration;
+ static LogUnit::RegisterDisabledSuite<TF> registration;
-#define LOGUNIT_ASSERT( x) { if (!(x)) throw LogUnit::AssertException(true, #x, __LINE__); }
-#define LOGUNIT_ASSERT_SRCL(x, srcLine) { if (!(x)) throw LogUnit::AssertException(true, #x, srcLine); }
-#define LOGUNIT_ASSERT_EQUAL( expected, actual) assertEquals(expected, actual, #expected, #actual, __LINE__)
-#define LOGUNIT_ASSERT_EQUAL_SRCL( expected, actual, srcLine) assertEquals(expected, actual, #expected, #actual, srcLine)
-#define LOGUNIT_FAIL(msg) throw LogUnit::AssertException(msg, __LINE__)
+#define LOGUNIT_ASSERT( x) { if (!(x)) throw LogUnit::AssertException(true, #x, __LINE__); }
+#define LOGUNIT_ASSERT_SRCL(x, srcLine) { if (!(x)) throw LogUnit::AssertException(true, #x, srcLine); }
+#define LOGUNIT_ASSERT_EQUAL( expected, actual) assertEquals(expected, actual, #expected, #actual, __LINE__)
+#define LOGUNIT_ASSERT_EQUAL_SRCL( expected, actual, srcLine) assertEquals(expected, actual, #expected, #actual, srcLine)
+#define LOGUNIT_FAIL(msg) throw LogUnit::AssertException(msg, __LINE__)
#if defined(_MSC_VER)
-#pragma warning (pop)
+ #pragma warning (pop)
#endif
#endif
diff --git a/src/test/cpp/mdctestcase.cpp b/src/test/cpp/mdctestcase.cpp
index b3a066e..b0f861e 100644
--- a/src/test/cpp/mdctestcase.cpp
+++ b/src/test/cpp/mdctestcase.cpp
@@ -30,31 +30,33 @@
LOGUNIT_CLASS(MDCTestCase)
{
- LOGUNIT_TEST_SUITE(MDCTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(MDCTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp() {
- }
+ void setUp()
+ {
+ }
- void tearDown() {
- Logger::getRootLogger()->getLoggerRepository()->resetConfiguration();
- }
+ 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);
- }
+ /**
+ * 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);
diff --git a/src/test/cpp/minimumtestcase.cpp b/src/test/cpp/minimumtestcase.cpp
index 2d08cc4..0064804 100644
--- a/src/test/cpp/minimumtestcase.cpp
+++ b/src/test/cpp/minimumtestcase.cpp
@@ -41,204 +41,205 @@
#define TTCC_PAT \
- ABSOLUTE_DATE_AND_TIME_PAT \
- " \\[0x[0-9A-F]*]\\ (DEBUG|INFO|WARN|ERROR|FATAL) .* - Message [0-9]\\{1,2\\}"
+ ABSOLUTE_DATE_AND_TIME_PAT \
+ " \\[0x[0-9A-F]*]\\ (DEBUG|INFO|WARN|ERROR|FATAL) .* - Message [0-9]\\{1,2\\}"
#define TTCC2_PAT \
- ABSOLUTE_DATE_AND_TIME_PAT \
- " \\[0x[0-9A-F]*]\\ (DEBUG|INFO|WARN|ERROR|FATAL) .* - " \
- "Messages should bear numbers 0 through 23\\."
+ ABSOLUTE_DATE_AND_TIME_PAT \
+ " \\[0x[0-9A-F]*]\\ (DEBUG|INFO|WARN|ERROR|FATAL) .* - " \
+ "Messages should bear numbers 0 through 23\\."
LOGUNIT_CLASS(MinimumTestCase)
{
- LOGUNIT_TEST_SUITE(MinimumTestCase);
- LOGUNIT_TEST(simple);
- LOGUNIT_TEST(ttcc);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(MinimumTestCase);
+ LOGUNIT_TEST(simple);
+ LOGUNIT_TEST(ttcc);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp()
- {
- root = Logger::getRootLogger();
- root->removeAllAppenders();
- }
+ void setUp()
+ {
+ root = Logger::getRootLogger();
+ root->removeAllAppenders();
+ }
- void tearDown()
- {
- root->getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ root->getLoggerRepository()->resetConfiguration();
+ }
- void simple()
- {
- LayoutPtr layout = new SimpleLayout();
- AppenderPtr appender = new FileAppender(layout, LOG4CXX_STR("output/simple"), false);
- root->addAppender(appender);
- common();
+ void simple()
+ {
+ LayoutPtr layout = new SimpleLayout();
+ AppenderPtr appender = new FileAppender(layout, LOG4CXX_STR("output/simple"), false);
+ root->addAppender(appender);
+ common();
- LOGUNIT_ASSERT(Compare::compare(LOG4CXX_FILE("output/simple"), LOG4CXX_FILE("witness/simple")));
- }
+ LOGUNIT_ASSERT(Compare::compare(LOG4CXX_FILE("output/simple"), LOG4CXX_FILE("witness/simple")));
+ }
- void ttcc()
- {
- LayoutPtr layout =
- new TTCCLayout(LOG4CXX_STR("DATE"));
- AppenderPtr appender = new FileAppender(layout, LOG4CXX_STR("output/ttcc"), false);
- root->addAppender(appender);
- common();
+ void ttcc()
+ {
+ LayoutPtr layout =
+ new TTCCLayout(LOG4CXX_STR("DATE"));
+ AppenderPtr appender = new FileAppender(layout, LOG4CXX_STR("output/ttcc"), false);
+ root->addAppender(appender);
+ common();
- ControlFilter filter1;
- filter1 << TTCC_PAT << TTCC2_PAT;
- AbsoluteDateAndTimeFilter filter2;
- ThreadFilter filter3;
+ ControlFilter filter1;
+ filter1 << TTCC_PAT << TTCC2_PAT;
+ AbsoluteDateAndTimeFilter filter2;
+ ThreadFilter filter3;
- std::vector<Filter *> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
- filters.push_back(&filter3);
+ std::vector<Filter*> filters;
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
+ filters.push_back(&filter3);
- try
- {
- const File output("output/ttcc");
- Transformer::transform(output, FILTERED, filters);
- }
- catch(std::exception& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ const File output("output/ttcc");
+ Transformer::transform(output, FILTERED, filters);
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- const File witness("witness/ttcc");
- LOGUNIT_ASSERT(Compare::compare(FILTERED, witness));
- }
+ const File witness("witness/ttcc");
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, witness));
+ }
- std::string createMessage(int i, Pool& pool) {
- std::string msg("Message ");
- msg.append(pool.itoa(i));
- return msg;
- }
+ std::string createMessage(int i, Pool & pool)
+ {
+ std::string msg("Message ");
+ msg.append(pool.itoa(i));
+ return msg;
+ }
- void common()
- {
- int i = 0;
+ void common()
+ {
+ int i = 0;
- // In the lines below, the logger names are chosen as an aid in
- // remembering their level values. In general, the logger names
- // have no bearing to level values.
- LoggerPtr ERRlogger = Logger::getLogger(LOG4CXX_TEST_STR("ERR"));
- ERRlogger->setLevel(Level::getError());
+ // In the lines below, the logger names are chosen as an aid in
+ // remembering their level values. In general, the logger names
+ // have no bearing to level values.
+ LoggerPtr ERRlogger = Logger::getLogger(LOG4CXX_TEST_STR("ERR"));
+ ERRlogger->setLevel(Level::getError());
- LoggerPtr INF = Logger::getLogger(LOG4CXX_TEST_STR("INF"));
- INF->setLevel(Level::getInfo());
+ LoggerPtr INF = Logger::getLogger(LOG4CXX_TEST_STR("INF"));
+ INF->setLevel(Level::getInfo());
- LoggerPtr INF_ERR = Logger::getLogger(LOG4CXX_TEST_STR("INF.ERR"));
- INF_ERR->setLevel(Level::getError());
+ LoggerPtr INF_ERR = Logger::getLogger(LOG4CXX_TEST_STR("INF.ERR"));
+ INF_ERR->setLevel(Level::getError());
- LoggerPtr DEB = Logger::getLogger(LOG4CXX_TEST_STR("DEB"));
- DEB->setLevel(Level::getDebug());
+ LoggerPtr DEB = Logger::getLogger(LOG4CXX_TEST_STR("DEB"));
+ DEB->setLevel(Level::getDebug());
- // Note: categories with undefined level
- LoggerPtr INF_UNDEF = Logger::getLogger(LOG4CXX_TEST_STR("INF.UNDEF"));
- LoggerPtr INF_ERR_UNDEF = Logger::getLogger(LOG4CXX_TEST_STR("INF.ERR.UNDEF"));
- LoggerPtr UNDEF = Logger::getLogger(LOG4CXX_TEST_STR("UNDEF"));
+ // Note: categories with undefined level
+ LoggerPtr INF_UNDEF = Logger::getLogger(LOG4CXX_TEST_STR("INF.UNDEF"));
+ LoggerPtr INF_ERR_UNDEF = Logger::getLogger(LOG4CXX_TEST_STR("INF.ERR.UNDEF"));
+ LoggerPtr UNDEF = Logger::getLogger(LOG4CXX_TEST_STR("UNDEF"));
- std::string msg("Message ");
+ std::string msg("Message ");
- Pool pool;
+ Pool pool;
- // These should all log.----------------------------
- LOG4CXX_FATAL(ERRlogger, createMessage(i, pool));
- i++; //0
- LOG4CXX_ERROR(ERRlogger, createMessage(i, pool));
- i++;
+ // These should all log.----------------------------
+ LOG4CXX_FATAL(ERRlogger, createMessage(i, pool));
+ i++; //0
+ LOG4CXX_ERROR(ERRlogger, createMessage(i, pool));
+ i++;
- LOG4CXX_FATAL(INF, createMessage(i, pool));
- i++; // 2
- LOG4CXX_ERROR(INF, createMessage(i, pool));
- i++;
- LOG4CXX_WARN(INF, createMessage(i, pool));
- i++;
- LOG4CXX_INFO(INF, createMessage(i, pool));
- i++;
+ LOG4CXX_FATAL(INF, createMessage(i, pool));
+ i++; // 2
+ LOG4CXX_ERROR(INF, createMessage(i, pool));
+ i++;
+ LOG4CXX_WARN(INF, createMessage(i, pool));
+ i++;
+ LOG4CXX_INFO(INF, createMessage(i, pool));
+ i++;
- LOG4CXX_FATAL(INF_UNDEF, createMessage(i, pool));
- i++; //6
- LOG4CXX_ERROR(INF_UNDEF, createMessage(i, pool));
- i++;
- LOG4CXX_WARN(INF_UNDEF, createMessage(i, pool));
- i++;
- LOG4CXX_INFO(INF_UNDEF, createMessage(i, pool));
- i++;
+ LOG4CXX_FATAL(INF_UNDEF, createMessage(i, pool));
+ i++; //6
+ LOG4CXX_ERROR(INF_UNDEF, createMessage(i, pool));
+ i++;
+ LOG4CXX_WARN(INF_UNDEF, createMessage(i, pool));
+ i++;
+ LOG4CXX_INFO(INF_UNDEF, createMessage(i, pool));
+ i++;
- LOG4CXX_FATAL(INF_ERR, createMessage(i, pool));
- i++; // 10
- LOG4CXX_ERROR(INF_ERR, createMessage(i, pool));
- i++;
+ LOG4CXX_FATAL(INF_ERR, createMessage(i, pool));
+ i++; // 10
+ LOG4CXX_ERROR(INF_ERR, createMessage(i, pool));
+ i++;
- LOG4CXX_FATAL(INF_ERR_UNDEF, createMessage(i, pool));
- i++;
- LOG4CXX_ERROR(INF_ERR_UNDEF, createMessage(i, pool));
- i++;
+ LOG4CXX_FATAL(INF_ERR_UNDEF, createMessage(i, pool));
+ i++;
+ LOG4CXX_ERROR(INF_ERR_UNDEF, createMessage(i, pool));
+ i++;
- LOG4CXX_FATAL(DEB, createMessage(i, pool));
- i++; //14
- LOG4CXX_ERROR(DEB, createMessage(i, pool));
- i++;
- LOG4CXX_WARN(DEB, createMessage(i, pool));
- i++;
- LOG4CXX_INFO(DEB, createMessage(i, pool));
- i++;
- LOG4CXX_DEBUG(DEB, createMessage(i, pool));
- i++;
+ LOG4CXX_FATAL(DEB, createMessage(i, pool));
+ i++; //14
+ LOG4CXX_ERROR(DEB, createMessage(i, pool));
+ i++;
+ LOG4CXX_WARN(DEB, createMessage(i, pool));
+ i++;
+ LOG4CXX_INFO(DEB, createMessage(i, pool));
+ i++;
+ LOG4CXX_DEBUG(DEB, createMessage(i, pool));
+ i++;
- // defaultLevel=DEBUG
- LOG4CXX_FATAL(UNDEF, createMessage(i, pool));
- i++; // 19
- LOG4CXX_ERROR(UNDEF, createMessage(i, pool));
- i++;
- LOG4CXX_WARN(UNDEF, createMessage(i, pool));
- i++;
- LOG4CXX_INFO(UNDEF, createMessage(i, pool));
- i++;
- LOG4CXX_DEBUG(UNDEF, createMessage(i, pool));
- i++;
+ // defaultLevel=DEBUG
+ LOG4CXX_FATAL(UNDEF, createMessage(i, pool));
+ i++; // 19
+ LOG4CXX_ERROR(UNDEF, createMessage(i, pool));
+ i++;
+ LOG4CXX_WARN(UNDEF, createMessage(i, pool));
+ i++;
+ LOG4CXX_INFO(UNDEF, createMessage(i, pool));
+ i++;
+ LOG4CXX_DEBUG(UNDEF, createMessage(i, pool));
+ i++;
- // -------------------------------------------------
- // The following should not log
- LOG4CXX_WARN(ERRlogger, createMessage(i, pool));
- i++;
- LOG4CXX_INFO(ERRlogger, createMessage(i, pool));
- i++;
- LOG4CXX_DEBUG(ERRlogger, createMessage(i, pool));
- i++;
+ // -------------------------------------------------
+ // The following should not log
+ LOG4CXX_WARN(ERRlogger, createMessage(i, pool));
+ i++;
+ LOG4CXX_INFO(ERRlogger, createMessage(i, pool));
+ i++;
+ LOG4CXX_DEBUG(ERRlogger, createMessage(i, pool));
+ i++;
- LOG4CXX_DEBUG(INF, createMessage(i, pool));
- i++;
- LOG4CXX_DEBUG(INF_UNDEF, createMessage(i, pool));
- i++;
+ LOG4CXX_DEBUG(INF, createMessage(i, pool));
+ i++;
+ LOG4CXX_DEBUG(INF_UNDEF, createMessage(i, pool));
+ i++;
- LOG4CXX_WARN(INF_ERR, createMessage(i, pool));
- i++;
- LOG4CXX_INFO(INF_ERR, createMessage(i, pool));
- i++;
- LOG4CXX_DEBUG(INF_ERR, createMessage(i, pool));
- i++;
- LOG4CXX_WARN(INF_ERR_UNDEF, createMessage(i, pool));
- i++;
- LOG4CXX_INFO(INF_ERR_UNDEF, createMessage(i, pool));
- i++;
- LOG4CXX_DEBUG(INF_ERR_UNDEF, createMessage(i, pool));
- i++;
+ LOG4CXX_WARN(INF_ERR, createMessage(i, pool));
+ i++;
+ LOG4CXX_INFO(INF_ERR, createMessage(i, pool));
+ i++;
+ LOG4CXX_DEBUG(INF_ERR, createMessage(i, pool));
+ i++;
+ LOG4CXX_WARN(INF_ERR_UNDEF, createMessage(i, pool));
+ i++;
+ LOG4CXX_INFO(INF_ERR_UNDEF, createMessage(i, pool));
+ i++;
+ LOG4CXX_DEBUG(INF_ERR_UNDEF, createMessage(i, pool));
+ i++;
- // -------------------------------------------------
- LOG4CXX_INFO(INF, LOG4CXX_TEST_STR("Messages should bear numbers 0 through 23."));
- }
+ // -------------------------------------------------
+ LOG4CXX_INFO(INF, LOG4CXX_TEST_STR("Messages should bear numbers 0 through 23."));
+ }
- LoggerPtr root;
- LoggerPtr logger;
+ LoggerPtr root;
+ LoggerPtr logger;
private:
- static const File FILTERED;
+ static const File FILTERED;
};
diff --git a/src/test/cpp/ndctestcase.cpp b/src/test/cpp/ndctestcase.cpp
index fd55942..562125d 100644
--- a/src/test/cpp/ndctestcase.cpp
+++ b/src/test/cpp/ndctestcase.cpp
@@ -30,76 +30,82 @@
LOGUNIT_CLASS(NDCTestCase)
{
- static File TEMP;
- static LoggerPtr logger;
+ static File TEMP;
+ static LoggerPtr logger;
- LOGUNIT_TEST_SUITE(NDCTestCase);
- LOGUNIT_TEST(testPushPop);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(testInherit);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(NDCTestCase);
+ LOGUNIT_TEST(testPushPop);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(testInherit);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp() {
- }
+ void setUp()
+ {
+ }
- void tearDown() {
- logger->getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ logger->getLoggerRepository()->resetConfiguration();
+ }
- /**
- * Push and pop a value from the NDC
- */
- void testPushPop()
- {
- NDC::push("trivial context");
- LogString actual(NDC::pop());
- LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("trivial context"), actual);
- }
+ /**
+ * Push and pop a value from the NDC
+ */
+ void testPushPop()
+ {
+ NDC::push("trivial context");
+ LogString actual(NDC::pop());
+ LOGUNIT_ASSERT_EQUAL((LogString) LOG4CXX_STR("trivial context"), actual);
+ }
- void test1() {
- PropertyConfigurator::configure(File("input/ndc/NDC1.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, File("witness/ndc/NDC.1")));
- }
+ void test1()
+ {
+ PropertyConfigurator::configure(File("input/ndc/NDC1.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, File("witness/ndc/NDC.1")));
+ }
- static void common() {
- commonLog();
- NDC::push("n1");
- commonLog();
- NDC::push("n2");
- NDC::push("n3");
- commonLog();
- NDC::pop();
- commonLog();
- NDC::clear();
- commonLog();
- }
+ static void common()
+ {
+ commonLog();
+ NDC::push("n1");
+ commonLog();
+ NDC::push("n2");
+ NDC::push("n3");
+ commonLog();
+ NDC::pop();
+ commonLog();
+ NDC::clear();
+ commonLog();
+ }
- static void commonLog() {
- LOG4CXX_DEBUG(logger, "m1");
- LOG4CXX_INFO(logger, "m2");
- LOG4CXX_WARN(logger, "m3");
- LOG4CXX_ERROR(logger, "m4");
- LOG4CXX_FATAL(logger, "m5");
- }
-
- void testInherit() {
- NDC::push("hello");
- NDC::push("world");
- NDC::Stack* clone = NDC::cloneStack();
- NDC::clear();
- NDC::push("discard");
- NDC::inherit(clone);
- LogString expected1(LOG4CXX_STR("world"));
- LOGUNIT_ASSERT_EQUAL(expected1, NDC::pop());
- LogString expected2(LOG4CXX_STR("hello"));
- LOGUNIT_ASSERT_EQUAL(expected2, NDC::pop());
- LogString expected3;
- LOGUNIT_ASSERT_EQUAL(expected3, NDC::pop());
- }
+ static void commonLog()
+ {
+ LOG4CXX_DEBUG(logger, "m1");
+ LOG4CXX_INFO(logger, "m2");
+ LOG4CXX_WARN(logger, "m3");
+ LOG4CXX_ERROR(logger, "m4");
+ LOG4CXX_FATAL(logger, "m5");
+ }
+
+ void testInherit()
+ {
+ NDC::push("hello");
+ NDC::push("world");
+ NDC::Stack* clone = NDC::cloneStack();
+ NDC::clear();
+ NDC::push("discard");
+ NDC::inherit(clone);
+ LogString expected1(LOG4CXX_STR("world"));
+ LOGUNIT_ASSERT_EQUAL(expected1, NDC::pop());
+ LogString expected2(LOG4CXX_STR("hello"));
+ LOGUNIT_ASSERT_EQUAL(expected2, NDC::pop());
+ LogString expected3;
+ LOGUNIT_ASSERT_EQUAL(expected3, NDC::pop());
+ }
};
diff --git a/src/test/cpp/net/smtpappendertestcase.cpp b/src/test/cpp/net/smtpappendertestcase.cpp
index e2ebe43..2259b22 100644
--- a/src/test/cpp/net/smtpappendertestcase.cpp
+++ b/src/test/cpp/net/smtpappendertestcase.cpp
@@ -32,31 +32,35 @@
using namespace log4cxx::xml;
using namespace log4cxx::spi;
-namespace log4cxx {
- namespace net {
+namespace log4cxx
+{
+namespace net
+{
- class MockTriggeringEventEvaluator :
- public virtual spi::TriggeringEventEvaluator,
- public virtual helpers::ObjectImpl
- {
- public:
- DECLARE_LOG4CXX_OBJECT(MockTriggeringEventEvaluator)
- BEGIN_LOG4CXX_CAST_MAP()
- LOG4CXX_CAST_ENTRY(MockTriggeringEventEvaluator)
- LOG4CXX_CAST_ENTRY(spi::TriggeringEventEvaluator)
- END_LOG4CXX_CAST_MAP()
+class MockTriggeringEventEvaluator :
+ public virtual spi::TriggeringEventEvaluator,
+ public virtual helpers::ObjectImpl
+{
+ public:
+ DECLARE_LOG4CXX_OBJECT(MockTriggeringEventEvaluator)
+ BEGIN_LOG4CXX_CAST_MAP()
+ LOG4CXX_CAST_ENTRY(MockTriggeringEventEvaluator)
+ LOG4CXX_CAST_ENTRY(spi::TriggeringEventEvaluator)
+ END_LOG4CXX_CAST_MAP()
- MockTriggeringEventEvaluator() {
- }
+ MockTriggeringEventEvaluator()
+ {
+ }
- virtual bool isTriggeringEvent(const spi::LoggingEventPtr& event) {
- return true;
- }
- private:
- MockTriggeringEventEvaluator(const MockTriggeringEventEvaluator&);
- MockTriggeringEventEvaluator& operator=(const MockTriggeringEventEvaluator&);
- };
- }
+ virtual bool isTriggeringEvent(const spi::LoggingEventPtr& event)
+ {
+ return true;
+ }
+ private:
+ MockTriggeringEventEvaluator(const MockTriggeringEventEvaluator&);
+ MockTriggeringEventEvaluator& operator=(const MockTriggeringEventEvaluator&);
+};
+}
}
IMPLEMENT_LOG4CXX_OBJECT(MockTriggeringEventEvaluator)
@@ -67,53 +71,58 @@
*/
class SMTPAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(SMTPAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST(testTrigger);
- LOGUNIT_TEST(testInvalid);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(SMTPAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST(testTrigger);
+ LOGUNIT_TEST(testInvalid);
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- AppenderSkeleton* createAppenderSkeleton() const {
- return new log4cxx::net::SMTPAppender();
- }
-
- void setUp() {
- }
-
- void tearDown() {
- LogManager::resetConfiguration();
- }
+ AppenderSkeleton* createAppenderSkeleton() const
+ {
+ return new log4cxx::net::SMTPAppender();
+ }
- /**
- * Tests that triggeringPolicy element will set evaluator.
- */
- void testTrigger() {
- DOMConfigurator::configure("input/xml/smtpAppender1.xml");
- SMTPAppenderPtr appender(Logger::getRootLogger()->getAppender(LOG4CXX_STR("A1")));
- TriggeringEventEvaluatorPtr evaluator(appender->getEvaluator());
- LOGUNIT_ASSERT_EQUAL(true, evaluator->instanceof(MockTriggeringEventEvaluator::getStaticClass()));
- }
-
- void testInvalid() {
- SMTPAppenderPtr appender(new SMTPAppender());
- appender->setSMTPHost(LOG4CXX_STR("smtp.invalid"));
- appender->setTo(LOG4CXX_STR("you@example.invalid"));
- appender->setFrom(LOG4CXX_STR("me@example.invalid"));
- appender->setLayout(new TTCCLayout());
- Pool p;
- appender->activateOptions(p);
- LoggerPtr root(Logger::getRootLogger());
- root->addAppender(appender);
- LOG4CXX_INFO(root, "Hello, World.")
- LOG4CXX_ERROR(root, "Sending Message")
- }
+ void setUp()
+ {
+ }
+
+ void tearDown()
+ {
+ LogManager::resetConfiguration();
+ }
+
+ /**
+ * Tests that triggeringPolicy element will set evaluator.
+ */
+ void testTrigger()
+ {
+ DOMConfigurator::configure("input/xml/smtpAppender1.xml");
+ SMTPAppenderPtr appender(Logger::getRootLogger()->getAppender(LOG4CXX_STR("A1")));
+ TriggeringEventEvaluatorPtr evaluator(appender->getEvaluator());
+ LOGUNIT_ASSERT_EQUAL(true, evaluator->instanceof(MockTriggeringEventEvaluator::getStaticClass()));
+ }
+
+ void testInvalid()
+ {
+ SMTPAppenderPtr appender(new SMTPAppender());
+ appender->setSMTPHost(LOG4CXX_STR("smtp.invalid"));
+ appender->setTo(LOG4CXX_STR("you@example.invalid"));
+ appender->setFrom(LOG4CXX_STR("me@example.invalid"));
+ appender->setLayout(new TTCCLayout());
+ Pool p;
+ appender->activateOptions(p);
+ LoggerPtr root(Logger::getRootLogger());
+ root->addAppender(appender);
+ LOG4CXX_INFO(root, "Hello, World.")
+ LOG4CXX_ERROR(root, "Sending Message")
+ }
};
diff --git a/src/test/cpp/net/socketappendertestcase.cpp b/src/test/cpp/net/socketappendertestcase.cpp
index 195ba99..fe3753c 100644
--- a/src/test/cpp/net/socketappendertestcase.cpp
+++ b/src/test/cpp/net/socketappendertestcase.cpp
@@ -28,21 +28,22 @@
*/
class SocketAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(SocketAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST_SUITE(SocketAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- AppenderSkeleton* createAppenderSkeleton() const {
- return new log4cxx::net::SocketAppender();
- }
+ AppenderSkeleton* createAppenderSkeleton() const
+ {
+ return new log4cxx::net::SocketAppender();
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(SocketAppenderTestCase);
diff --git a/src/test/cpp/net/sockethubappendertestcase.cpp b/src/test/cpp/net/sockethubappendertestcase.cpp
index d7b86f7..816193d 100644
--- a/src/test/cpp/net/sockethubappendertestcase.cpp
+++ b/src/test/cpp/net/sockethubappendertestcase.cpp
@@ -30,51 +30,58 @@
*/
class SocketHubAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(SocketHubAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST(testActivateClose);
- LOGUNIT_TEST(testActivateSleepClose);
- LOGUNIT_TEST(testActivateWriteClose);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(SocketHubAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST(testActivateClose);
+ LOGUNIT_TEST(testActivateSleepClose);
+ LOGUNIT_TEST(testActivateWriteClose);
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- AppenderSkeleton* createAppenderSkeleton() const {
- return new log4cxx::net::SocketHubAppender();
- }
+ AppenderSkeleton* createAppenderSkeleton() const
+ {
+ return new log4cxx::net::SocketHubAppender();
+ }
- void testActivateClose() {
- SocketHubAppenderPtr hubAppender(new SocketHubAppender());
- Pool p;
- hubAppender->activateOptions(p);
- hubAppender->close();
- }
+ void testActivateClose()
+ {
+ SocketHubAppenderPtr hubAppender(new SocketHubAppender());
+ Pool p;
+ hubAppender->activateOptions(p);
+ hubAppender->close();
+ }
- void testActivateSleepClose() {
- SocketHubAppenderPtr hubAppender(new SocketHubAppender());
- Pool p;
- hubAppender->activateOptions(p);
- Thread::sleep(1000);
- hubAppender->close();
- }
+ void testActivateSleepClose()
+ {
+ SocketHubAppenderPtr hubAppender(new SocketHubAppender());
+ Pool p;
+ hubAppender->activateOptions(p);
+ Thread::sleep(1000);
+ hubAppender->close();
+ }
-
- void testActivateWriteClose() {
- SocketHubAppenderPtr hubAppender(new SocketHubAppender());
- Pool p;
- hubAppender->activateOptions(p);
- LoggerPtr root(Logger::getRootLogger());
- root->addAppender(hubAppender);
- for(int i = 0; i < 50; i++) {
- LOG4CXX_INFO(root, "Hello, World " << i);
- }
- hubAppender->close();
- }
+
+ void testActivateWriteClose()
+ {
+ SocketHubAppenderPtr hubAppender(new SocketHubAppender());
+ Pool p;
+ hubAppender->activateOptions(p);
+ LoggerPtr root(Logger::getRootLogger());
+ root->addAppender(hubAppender);
+
+ for (int i = 0; i < 50; i++)
+ {
+ LOG4CXX_INFO(root, "Hello, World " << i);
+ }
+
+ hubAppender->close();
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(SocketHubAppenderTestCase);
diff --git a/src/test/cpp/net/socketserverstarter.cpp b/src/test/cpp/net/socketserverstarter.cpp
index a8c2ae0..923459f 100644
--- a/src/test/cpp/net/socketserverstarter.cpp
+++ b/src/test/cpp/net/socketserverstarter.cpp
@@ -29,136 +29,174 @@
LOGUNIT_CLASS(SocketServerStarter)
{
- LOGUNIT_TEST_SUITE(SocketServerStarter);
- LOGUNIT_TEST(startServer);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(SocketServerStarter);
+ LOGUNIT_TEST(startServer);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp()
- {
- }
+ void setUp()
+ {
+ }
- void tearDown()
- {
- }
+ void tearDown()
+ {
+ }
- void startServer()
- {
- helpers::Pool p;
- apr_pool_t* pool = p.getAPRPool();
- char* cmd = NULL;
- apr_status_t stat = apr_env_get(&cmd, "SOCKET_SERVER_COMMAND", pool);
- char* param_file = NULL;
- stat = apr_env_get(¶m_file, "SOCKET_SERVER_PARAMETER_FILE", pool);
+ void startServer()
+ {
+ helpers::Pool p;
+ apr_pool_t* pool = p.getAPRPool();
+ char* cmd = NULL;
+ apr_status_t stat = apr_env_get(&cmd, "SOCKET_SERVER_COMMAND", pool);
+ char* param_file = NULL;
+ stat = apr_env_get(¶m_file, "SOCKET_SERVER_PARAMETER_FILE", pool);
- // prepare to launch the server
- //
- apr_proc_t server_pid;
- apr_procattr_t* attr = NULL;
- stat = apr_procattr_create(&attr, pool);
- if (stat != APR_SUCCESS)
- LOGUNIT_FAIL("apr_procattr_create failed");
- stat = apr_procattr_io_set(attr, APR_NO_PIPE, APR_NO_PIPE, APR_NO_PIPE);
- if (stat != APR_SUCCESS)
- LOGUNIT_FAIL("apr_procattr_io_set failed");
+ // prepare to launch the server
+ //
+ apr_proc_t server_pid;
+ apr_procattr_t* attr = NULL;
+ stat = apr_procattr_create(&attr, pool);
- //fprintf(stdout, "SOCKET_SERVER_COMMAND=%s\n", cmd);
- stat = apr_procattr_cmdtype_set(attr, APR_PROGRAM);
- if (stat != APR_SUCCESS)
- LOGUNIT_FAIL("apr_procattr_cmdtype_set failed");
+ if (stat != APR_SUCCESS)
+ {
+ LOGUNIT_FAIL("apr_procattr_create failed");
+ }
- if (cmd && *cmd)
- {
- // convert the space separated cmd string to the argument list
- //
- static const int MaxArgumentCount = 14;
- char** argv = (char**)apr_palloc(pool, (MaxArgumentCount + 1) * sizeof(*argv));
- char* pcmd = apr_pstrdup(pool, cmd);
- int i = 0;
- for (; i < MaxArgumentCount && pcmd && *pcmd; ++i)
- {
- char separ = ' ';
- while(separ == *pcmd)
- {
- *pcmd = 0;
- ++pcmd;
- }
- if ('"' == *pcmd || '\'' == *pcmd)
- {
- separ = *pcmd;
- ++pcmd;
- }
- argv[i] = pcmd;
- if (NULL != (pcmd = strchr(pcmd, separ)))
- {
- *pcmd = 0;
- ++pcmd;
- while(' ' == *pcmd)
- {
- *pcmd = 0;
- ++pcmd;
- }
- }
- }
- argv[i] = 0;
- stat = apr_proc_create(&server_pid, argv[0], argv, NULL, attr, pool);
+ stat = apr_procattr_io_set(attr, APR_NO_PIPE, APR_NO_PIPE, APR_NO_PIPE);
+ if (stat != APR_SUCCESS)
+ {
+ LOGUNIT_FAIL("apr_procattr_io_set failed");
+ }
- if (stat == APR_SUCCESS) // Allow server time to load
- apr_sleep(1000000); // 1 seconds
- else
- fprintf(stderr, "apr_proc_create failed to start %s\n", argv[0]);
- }
- else if (param_file && *param_file)
- {
- // Build the argument list from param_file
- //
- //fprintf(stderr, "Processing: %s\n", param_file);
- std::ifstream in(param_file);
- std::vector<std::string> params;
- while (in)
- {
- params.push_back(std::string());
- std::string& line = params.back();
- std::getline(in, line);
- while (!line.empty() && (' ' == line[0] || '\t' == line[0]))
- line.erase(0, 1);
- while (!line.empty() && (' ' == line[line.size() - 1] || '\t' == line[line.size() - 1]))
- line.erase(line.size() - 1, 1);
- if (line.empty())
- params.pop_back();
- }
- const char** argv = (const char**)apr_palloc(pool, (params.size() + 1) * sizeof(*argv));
- int i = 0;
- for (; i < params.size(); ++i)
- {
- argv[i] = params[i].c_str();
- //fprintf(stderr, "argv[%i]: %s\n", i, argv[i]);
- }
- argv[i] = 0;
- stat = apr_proc_create(&server_pid, argv[0], argv, NULL, attr, pool);
+ //fprintf(stdout, "SOCKET_SERVER_COMMAND=%s\n", cmd);
+ stat = apr_procattr_cmdtype_set(attr, APR_PROGRAM);
+ if (stat != APR_SUCCESS)
+ {
+ LOGUNIT_FAIL("apr_procattr_cmdtype_set failed");
+ }
- if (stat == APR_SUCCESS) // Allow server time to load
- apr_sleep(1000000); // 1 seconds
- else
- fprintf(stderr, "apr_proc_create failed to start %s\n", argv[0]);
- }
- else
- {
- fputs("Either:\n", stderr);
- fputs(" The environment variable SOCKET_SERVER_COMMAND"
- " must contain the server process path"
- " followed by space separated command arguments\n", stderr);
- fputs("Or:\n", stderr);
- fputs(" The file named in the environment variable SOCKET_SERVER_PARAMETER_FILE"
- " must contain a line per argument starting with the server process path"
- " followed by lines containing command arguments\n", stderr);
- stat = -1;
- }
+ if (!(cmd && *cmd) && !(param_file && *param_file))
+ {
+ fputs("Either:\n", stderr);
+ fputs(" The environment variable SOCKET_SERVER_COMMAND"
+ " must contain the server process path"
+ " followed by space separated command arguments\n", stderr);
+ fputs("Or:\n", stderr);
+ fputs(" The file named in the environment variable SOCKET_SERVER_PARAMETER_FILE"
+ " must contain a line per argument starting with the server process path"
+ " followed by lines containing command arguments\n", stderr);
+ LOGUNIT_FAIL("Neither SOCKET_SERVER_COMMAND nor SOCKET_SERVER_PARAMETER_FILE available.");
+ }
- LOGUNIT_ASSERT(stat == APR_SUCCESS);
- }
+ if (cmd && *cmd)
+ {
+ // convert the space separated cmd string to the argument list
+ //
+ static const int MaxArgumentCount = 14;
+ char** argv = (char**)apr_palloc(pool, (MaxArgumentCount + 1) * sizeof(*argv));
+ char* pcmd = apr_pstrdup(pool, cmd);
+ int i = 0;
+
+ for (; i < MaxArgumentCount && pcmd && *pcmd; ++i)
+ {
+ char separ = ' ';
+
+ while (separ == *pcmd)
+ {
+ *pcmd = 0;
+ ++pcmd;
+ }
+
+ if ('"' == *pcmd || '\'' == *pcmd)
+ {
+ separ = *pcmd;
+ ++pcmd;
+ }
+
+ argv[i] = pcmd;
+
+ if (NULL != (pcmd = strchr(pcmd, separ)))
+ {
+ *pcmd = 0;
+ ++pcmd;
+
+ while (' ' == *pcmd)
+ {
+ *pcmd = 0;
+ ++pcmd;
+ }
+ }
+ }
+
+ argv[i] = 0;
+ stat = apr_proc_create(&server_pid, argv[0], argv, NULL, attr, pool);
+
+ if (stat == APR_SUCCESS) // Allow server time to load
+ {
+ apr_sleep(1000000); // 1 seconds
+ }
+ else
+ {
+ fprintf(stderr, "apr_proc_create failed to start %s\n", argv[0]);
+ }
+ }
+
+ if (param_file && *param_file)
+ {
+ // Build the argument list from param_file
+ //
+ //fprintf(stderr, "Processing: %s\n", param_file);
+ std::ifstream in(param_file);
+ std::vector<std::string> params;
+
+ while (in)
+ {
+ params.push_back(std::string());
+ std::string& line = params.back();
+ std::getline(in, line);
+
+ while (!line.empty() && (' ' == line[0] || '\t' == line[0]))
+ {
+ line.erase(0, 1);
+ }
+
+ while (!line.empty() && (' ' == line[line.size() - 1] || '\t' == line[line.size() - 1]))
+ {
+ line.erase(line.size() - 1, 1);
+ }
+
+ if (line.empty())
+ {
+ params.pop_back();
+ }
+ }
+
+ const char** argv = (const char**)apr_palloc(pool, (params.size() + 1) * sizeof(*argv));
+ int i = 0;
+
+ for (; i < params.size(); ++i)
+ {
+ argv[i] = params[i].c_str();
+ //fprintf(stderr, "argv[%i]: %s\n", i, argv[i]);
+ }
+
+ argv[i] = 0;
+ stat = apr_proc_create(&server_pid, argv[0], argv, NULL, attr, pool);
+
+ if (stat == APR_SUCCESS) // Allow server time to load
+ {
+ apr_sleep(1000000); // 1 seconds
+ }
+ else
+ {
+ fprintf(stderr, "apr_proc_create failed to start %s\n", argv[0]);
+ }
+ }
+
+ LOGUNIT_ASSERT(stat == APR_SUCCESS);
+ }
};
diff --git a/src/test/cpp/net/socketservertestcase.cpp b/src/test/cpp/net/socketservertestcase.cpp
index d46b378..fb31bd0 100644
--- a/src/test/cpp/net/socketservertestcase.cpp
+++ b/src/test/cpp/net/socketservertestcase.cpp
@@ -40,11 +40,11 @@
//Define INT64_C for compilers that don't have it
#if (!defined(INT64_C))
-#define INT64_C(value) value ## LL
+ #define INT64_C(value) value ## LL
#endif
#if defined(WIN32) || defined(_WIN32)
-#include <windows.h>
+ #include <windows.h>
#endif
using namespace log4cxx;
@@ -55,423 +55,423 @@
// %5p %x [%t] %c %m%n
// DEBUG T1 [thread] org.apache.log4j.net.SocketAppenderTestCase Message 1
#define PAT1 \
- REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T1 \\[0x[0-9A-F]*]\\ ") \
- REGEX_STR(".* Message [0-9]\\{1,2\\}")
+ REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T1 \\[0x[0-9A-F]*]\\ ") \
+ REGEX_STR(".* Message [0-9]\\{1,2\\}")
// DEBUG T2 [thread] patternlayouttest.cpp(?) Message 1
#define PAT2 \
- REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T2 \\[0x[0-9A-F]*]\\ ") \
- REGEX_STR(".*socketservertestcase.cpp\\([0-9]\\{1,4\\}\\) Message [0-9]\\{1,2\\}")
+ REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T2 \\[0x[0-9A-F]*]\\ ") \
+ REGEX_STR(".*socketservertestcase.cpp\\([0-9]\\{1,4\\}\\) Message [0-9]\\{1,2\\}")
// DEBUG T3 [thread] patternlayouttest.cpp(?) Message 1
#define PAT3 \
- REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T3 \\[0x[0-9A-F]*]\\ ") \
- REGEX_STR(".*socketservertestcase.cpp\\([0-9]\\{1,4\\}\\) Message [0-9]\\{1,2\\}")
+ REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) T3 \\[0x[0-9A-F]*]\\ ") \
+ REGEX_STR(".*socketservertestcase.cpp\\([0-9]\\{1,4\\}\\) Message [0-9]\\{1,2\\}")
// DEBUG some T4 MDC-TEST4 [thread] SocketAppenderTestCase - Message 1
// DEBUG some T4 MDC-TEST4 [thread] SocketAppenderTestCase - Message 1
#define PAT4 \
- REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some T4 MDC-TEST4 \\[0x[0-9A-F]*]\\") \
- REGEX_STR(" (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
+ REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some T4 MDC-TEST4 \\[0x[0-9A-F]*]\\") \
+ REGEX_STR(" (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
#define PAT5 \
- REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some5 T5 MDC-TEST5 \\[0x[0-9A-F]*]\\") \
- REGEX_STR(" (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
+ REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some5 T5 MDC-TEST5 \\[0x[0-9A-F]*]\\") \
+ REGEX_STR(" (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
#define PAT6 \
- REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some6 T6 client-test6 MDC-TEST6") \
- REGEX_STR(" \\[0x[0-9A-F]*]\\ (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
+ REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some6 T6 client-test6 MDC-TEST6") \
+ REGEX_STR(" \\[0x[0-9A-F]*]\\ (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
#define PAT7 \
- REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some7 T7 client-test7 MDC-TEST7") \
- REGEX_STR(" \\[0x[0-9A-F]*]\\ (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
+ REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some7 T7 client-test7 MDC-TEST7") \
+ REGEX_STR(" \\[0x[0-9A-F]*]\\ (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
// DEBUG some8 T8 shortSocketServer MDC-TEST7 [thread] SocketServerTestCase - Message 1
#define PAT8 \
- REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some8 T8 shortSocketServer") \
- REGEX_STR(" MDC-TEST8 \\[0x[0-9A-F]*]\\ (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
+ REGEX_STR("^(DEBUG| INFO| WARN|ERROR|FATAL|LETHAL) some8 T8 shortSocketServer") \
+ REGEX_STR(" MDC-TEST8 \\[0x[0-9A-F]*]\\ (root|SocketServerTestCase) - Message [0-9]\\{1,2\\}")
/**
* This test checks receipt of SocketAppender messages by the ShortSocketServer
* class from log4j. That class must be started externally to this class
- * for this test to succeed.
+ * for this test to succeed.
*/
LOGUNIT_CLASS(SocketServerTestCase)
{
- LOGUNIT_TEST_SUITE(SocketServerTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST(test7);
- LOGUNIT_TEST(test8);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(SocketServerTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST(test7);
+ LOGUNIT_TEST(test8);
+ LOGUNIT_TEST_SUITE_END();
- SocketAppenderPtr socketAppender;
- LoggerPtr logger;
- LoggerPtr root;
+ SocketAppenderPtr socketAppender;
+ LoggerPtr logger;
+ LoggerPtr root;
- class LineNumberFilter : public Filter {
- public:
- LineNumberFilter() {
- patterns.push_back(PatternReplacement("cpp:[0-9]*", "cpp:XXX"));
- }
- };
+ class LineNumberFilter : public Filter
+ {
+ public:
+ LineNumberFilter()
+ {
+ patterns.push_back(PatternReplacement("cpp:[0-9]*", "cpp:XXX"));
+ }
+ };
public:
- void setUp()
- {
- logger = Logger::getLogger(LOG4CXX_STR("org.apache.log4j.net.SocketServerTestCase"));
- root = Logger::getRootLogger();
- }
+ void setUp()
+ {
+ logger = Logger::getLogger(LOG4CXX_STR("org.apache.log4j.net.SocketServerTestCase"));
+ root = Logger::getRootLogger();
+ }
- void tearDown()
- {
- socketAppender = 0;
- root->getLoggerRepository()->resetConfiguration();
- logger = 0;
- root = 0;
- }
+ void tearDown()
+ {
+ socketAppender = 0;
+ root->getLoggerRepository()->resetConfiguration();
+ 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 socketAppender1 =
+ new SocketAppender(LOG4CXX_STR("localhost"), PORT);
+ root->addAppender(socketAppender1);
+ common("test1", LOG4CXX_STR("T1"), LOG4CXX_STR("key1"), LOG4CXX_STR("MDC-TEST1"));
+ delay(1);
- We are testing NDC functionality across the wire.
- */
- void test1()
- {
- SocketAppenderPtr socketAppender1 =
- new SocketAppender(LOG4CXX_STR("localhost"), PORT);
- root->addAppender(socketAppender1);
- common("test1", LOG4CXX_STR("T1"), LOG4CXX_STR("key1"), LOG4CXX_STR("MDC-TEST1"));
- delay(1);
+ ControlFilter cf;
+ cf << PAT1;
- ControlFilter cf;
- cf << PAT1;
+ ThreadFilter threadFilter;
- ThreadFilter threadFilter;
+ std::vector<Filter*> filters;
+ filters.push_back(&cf);
+ filters.push_back(&threadFilter);
- std::vector<Filter *> filters;
- filters.push_back(&cf);
- filters.push_back(&threadFilter);
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.1")));
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.1")));
- }
+ void test2()
+ {
+ SocketAppenderPtr socketAppender1 =
+ new SocketAppender(LOG4CXX_STR("localhost"), PORT);
+ root->addAppender(socketAppender1);
+ common("test2", LOG4CXX_STR("T2"), LOG4CXX_STR("key2"), LOG4CXX_STR("MDC-TEST2"));
+ delay(1);
- void test2()
- {
- SocketAppenderPtr socketAppender1 =
- new SocketAppender(LOG4CXX_STR("localhost"), PORT);
- root->addAppender(socketAppender1);
- common("test2", LOG4CXX_STR("T2"), LOG4CXX_STR("key2"), LOG4CXX_STR("MDC-TEST2"));
- delay(1);
+ ControlFilter cf;
+ cf << PAT2;
- ControlFilter cf;
- cf << PAT2;
+ ThreadFilter threadFilter;
+ LineNumberFilter lineNumberFilter;
+ LogString thisFile;
+ FilenameFilter filenameFilter(__FILE__, "socketservertestcase.cpp");
- ThreadFilter threadFilter;
- LineNumberFilter lineNumberFilter;
- LogString thisFile;
- FilenameFilter filenameFilter(__FILE__, "socketservertestcase.cpp");
+ std::vector<Filter*> filters;
+ filters.push_back(&filenameFilter);
+ filters.push_back(&cf);
+ filters.push_back(&threadFilter);
+ filters.push_back(&lineNumberFilter);
- std::vector<Filter *> filters;
- filters.push_back(&filenameFilter);
- filters.push_back(&cf);
- filters.push_back(&threadFilter);
- filters.push_back(&lineNumberFilter);
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.2")));
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.2")));
- }
+ void test3()
+ {
+ SocketAppenderPtr socketAppender1 =
+ new SocketAppender(LOG4CXX_STR("localhost"), PORT);
+ root->addAppender(socketAppender1);
+ common("test3", LOG4CXX_STR("T3"), LOG4CXX_STR("key3"), LOG4CXX_STR("MDC-TEST3"));
+ delay(1);
- void test3()
- {
- SocketAppenderPtr socketAppender1 =
- new SocketAppender(LOG4CXX_STR("localhost"), PORT);
- root->addAppender(socketAppender1);
- common("test3", LOG4CXX_STR("T3"), LOG4CXX_STR("key3"), LOG4CXX_STR("MDC-TEST3"));
- delay(1);
+ ControlFilter cf;
+ cf << PAT3;
- ControlFilter cf;
- cf << PAT3;
+ ThreadFilter threadFilter;
+ LineNumberFilter lineNumberFilter;
+ LogString thisFile;
+ FilenameFilter filenameFilter(__FILE__, "socketservertestcase.cpp");
- ThreadFilter threadFilter;
- LineNumberFilter lineNumberFilter;
- LogString thisFile;
- FilenameFilter filenameFilter(__FILE__, "socketservertestcase.cpp");
+ std::vector<Filter*> filters;
+ filters.push_back(&filenameFilter);
+ filters.push_back(&cf);
+ filters.push_back(&threadFilter);
+ filters.push_back(&lineNumberFilter);
- std::vector<Filter *> filters;
- filters.push_back(&filenameFilter);
- filters.push_back(&cf);
- filters.push_back(&threadFilter);
- filters.push_back(&lineNumberFilter);
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.3")));
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.3")));
- }
+ void test4()
+ {
+ SocketAppenderPtr socketAppender1 =
+ new SocketAppender(LOG4CXX_STR("localhost"), PORT);
+ root->addAppender(socketAppender1);
+ NDC::push(LOG4CXX_TEST_STR("some"));
+ common("test4", LOG4CXX_STR("T4"), LOG4CXX_STR("key4"), LOG4CXX_STR("MDC-TEST4"));
+ NDC::pop();
+ delay(1);
- void test4()
- {
- SocketAppenderPtr socketAppender1 =
- new SocketAppender(LOG4CXX_STR("localhost"), PORT);
- root->addAppender(socketAppender1);
- NDC::push(LOG4CXX_TEST_STR("some"));
- common("test4", LOG4CXX_STR("T4"), LOG4CXX_STR("key4"), LOG4CXX_STR("MDC-TEST4"));
- NDC::pop();
- delay(1);
+ ControlFilter cf;
+ cf << PAT4;
- ControlFilter cf;
- cf << PAT4;
+ ThreadFilter threadFilter;
- ThreadFilter threadFilter;
+ std::vector<Filter*> filters;
+ filters.push_back(&cf);
+ filters.push_back(&threadFilter);
- std::vector<Filter *> filters;
- filters.push_back(&cf);
- filters.push_back(&threadFilter);
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.4")));
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.4")));
- }
+ void test5()
+ {
+ SocketAppenderPtr socketAppender1 =
+ new SocketAppender(LOG4CXX_STR("localhost"), PORT);
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
- void test5()
- {
- SocketAppenderPtr socketAppender1 =
- new SocketAppender(LOG4CXX_STR("localhost"), PORT);
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ root->addAppender(socketAppender1);
+ root->addAppender(asyncAppender);
- root->addAppender(socketAppender1);
- root->addAppender(asyncAppender);
+ NDC::push(LOG4CXX_TEST_STR("some5"));
+ common("test5", LOG4CXX_STR("T5"), LOG4CXX_STR("key5"), LOG4CXX_STR("MDC-TEST5"));
+ NDC::pop();
+ delay(2);
- NDC::push(LOG4CXX_TEST_STR("some5"));
- common("test5", LOG4CXX_STR("T5"), LOG4CXX_STR("key5"), LOG4CXX_STR("MDC-TEST5"));
- NDC::pop();
- delay(2);
+ ControlFilter cf;
+ cf << PAT5;
+
+ ThreadFilter threadFilter;
+
+ std::vector<Filter*> filters;
+ filters.push_back(&cf);
+ filters.push_back(&threadFilter);
+
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
+
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.5")));
+ }
- ControlFilter cf;
- cf << PAT5;
+ void test6()
+ {
+ SocketAppenderPtr socketAppender1 =
+ new SocketAppender(LOG4CXX_STR("localhost"), PORT);
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
- ThreadFilter threadFilter;
+ root->addAppender(socketAppender1);
+ root->addAppender(asyncAppender);
- std::vector<Filter *> filters;
- filters.push_back(&cf);
- filters.push_back(&threadFilter);
+ NDC::push(LOG4CXX_TEST_STR("some6"));
+ MDC::put(LOG4CXX_TEST_STR("hostID"), LOG4CXX_TEST_STR("client-test6"));
+ common("test6", LOG4CXX_STR("T6"), LOG4CXX_STR("key6"), LOG4CXX_STR("MDC-TEST6"));
+ NDC::pop();
+ MDC::remove(LOG4CXX_TEST_STR("hostID"));
+ delay(2);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ ControlFilter cf;
+ cf << PAT6;
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.5")));
- }
+ ThreadFilter threadFilter;
- void test6()
- {
- SocketAppenderPtr socketAppender1 =
- new SocketAppender(LOG4CXX_STR("localhost"), PORT);
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ std::vector<Filter*> filters;
+ filters.push_back(&cf);
+ filters.push_back(&threadFilter);
- root->addAppender(socketAppender1);
- root->addAppender(asyncAppender);
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- NDC::push(LOG4CXX_TEST_STR("some6"));
- MDC::put(LOG4CXX_TEST_STR("hostID"), LOG4CXX_TEST_STR("client-test6"));
- common("test6", LOG4CXX_STR("T6"), LOG4CXX_STR("key6"), LOG4CXX_STR("MDC-TEST6"));
- NDC::pop();
- MDC::remove(LOG4CXX_TEST_STR("hostID"));
- delay(2);
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.6")));
+ }
- ControlFilter cf;
- cf << PAT6;
+ void test7()
+ {
+ SocketAppenderPtr socketAppender1 =
+ new SocketAppender(LOG4CXX_STR("localhost"), PORT);
+ AsyncAppenderPtr asyncAppender = new AsyncAppender();
- ThreadFilter threadFilter;
+ root->addAppender(socketAppender1);
+ root->addAppender(asyncAppender);
- std::vector<Filter *> filters;
- filters.push_back(&cf);
- filters.push_back(&threadFilter);
+ NDC::push(LOG4CXX_TEST_STR("some7"));
+ MDC::put(LOG4CXX_TEST_STR("hostID"), LOG4CXX_TEST_STR("client-test7"));
+ common("test7", LOG4CXX_STR("T7"), LOG4CXX_STR("key7"), LOG4CXX_STR("MDC-TEST7"));
+ NDC::pop();
+ MDC::remove(LOG4CXX_TEST_STR("hostID"));
+ delay(2);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ ControlFilter cf;
+ cf << PAT7;
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.6")));
- }
+ ThreadFilter threadFilter;
- void test7()
- {
- SocketAppenderPtr socketAppender1 =
- new SocketAppender(LOG4CXX_STR("localhost"), PORT);
- AsyncAppenderPtr asyncAppender = new AsyncAppender();
+ std::vector<Filter*> filters;
+ filters.push_back(&cf);
+ filters.push_back(&threadFilter);
- root->addAppender(socketAppender1);
- root->addAppender(asyncAppender);
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- NDC::push(LOG4CXX_TEST_STR("some7"));
- MDC::put(LOG4CXX_TEST_STR("hostID"), LOG4CXX_TEST_STR("client-test7"));
- common("test7", LOG4CXX_STR("T7"), LOG4CXX_STR("key7"), LOG4CXX_STR("MDC-TEST7"));
- NDC::pop();
- MDC::remove(LOG4CXX_TEST_STR("hostID"));
- delay(2);
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.7")));
+ }
- ControlFilter cf;
- cf << PAT7;
+ void test8()
+ {
+ SocketAppenderPtr socketAppender1 =
+ new SocketAppender(LOG4CXX_STR("localhost"), PORT);
- ThreadFilter threadFilter;
+ root->addAppender(socketAppender1);
- std::vector<Filter *> filters;
- filters.push_back(&cf);
- filters.push_back(&threadFilter);
+ NDC::push(LOG4CXX_TEST_STR("some8"));
+ common("test8", LOG4CXX_STR("T8"), LOG4CXX_STR("key8"), LOG4CXX_STR("MDC-TEST8"));
+ NDC::pop();
+ delay(2);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ ControlFilter cf;
+ cf << PAT8;
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.7")));
- }
+ ThreadFilter threadFilter;
- void test8()
- {
- SocketAppenderPtr socketAppender1 =
- new SocketAppender(LOG4CXX_STR("localhost"), PORT);
+ std::vector<Filter*> filters;
+ filters.push_back(&cf);
+ filters.push_back(&threadFilter);
- root->addAppender(socketAppender1);
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- NDC::push(LOG4CXX_TEST_STR("some8"));
- common("test8", LOG4CXX_STR("T8"), LOG4CXX_STR("key8"), LOG4CXX_STR("MDC-TEST8"));
- NDC::pop();
- delay(2);
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.8")));
+ }
- ControlFilter cf;
- cf << PAT8;
+ void common(const std::string & testName, const LogString & dc, const LogString & key, const LogString & val)
+ {
+ int i = -1;
+ NDC::push(dc);
+ MDC::put(key, val);
- ThreadFilter threadFilter;
+ logger->setLevel(Level::getDebug());
+ root->setLevel(Level::getDebug());
- std::vector<Filter *> filters;
- filters.push_back(&cf);
- filters.push_back(&threadFilter);
+ LOG4CXX_TRACE(logger, "Message " << i);
+ i++;
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ logger->setLevel(Level::getTrace());
+ root->setLevel(Level::getTrace());
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/socketServer.8")));
- }
+ LOG4CXX_TRACE(logger, "Message " << ++i);
+ LOG4CXX_TRACE(root, "Message " << ++i);
- void common(const std::string& testName, const LogString& dc, const LogString& key, const LogString& val)
- {
- int i = -1;
- NDC::push(dc);
- MDC::put(key, val);
-
- logger->setLevel(Level::getDebug());
- root->setLevel(Level::getDebug());
+ LOG4CXX_DEBUG(logger, "Message " << ++i);
+ LOG4CXX_DEBUG(root, "Message " << ++i);
- LOG4CXX_TRACE(logger, "Message " << i);
- i++;
+ LOG4CXX_INFO(logger, "Message " << ++i);
+ LOG4CXX_WARN(logger, "Message " << ++i);
+ LOG4CXX_FATAL(logger, "Message " << ++i); //5
- logger->setLevel(Level::getTrace());
- root->setLevel(Level::getTrace());
-
- LOG4CXX_TRACE(logger, "Message " << ++i);
- LOG4CXX_TRACE(root, "Message " << ++i);
+ std::string exceptionMsg("\njava.lang.Exception: Just testing\n"
+ "\tat org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX)\n"
+ "\tat org.apache.log4j.net.SocketServerTestCase.");
+ exceptionMsg.append(testName);
+ exceptionMsg.append("(SocketServerTestCase.java:XXX)\n"
+ "\tat junit.framework.TestCase.runTest(TestCase.java:XXX)\n"
+ "\tat junit.framework.TestCase.runBare(TestCase.java:XXX)\n"
+ "\tat junit.framework.TestResult$1.protect(TestResult.java:XXX)\n"
+ "\tat junit.framework.TestResult.runProtected(TestResult.java:XXX)\n"
+ "\tat junit.framework.TestResult.run(TestResult.java:XXX)\n"
+ "\tat junit.framework.TestCase.run(TestCase.java:XXX)\n"
+ "\tat junit.framework.TestSuite.runTest(TestSuite.java:XXX)\n"
+ "\tat junit.framework.TestSuite.run(TestSuite.java:XXX)");
- LOG4CXX_DEBUG(logger, "Message " << ++i);
- LOG4CXX_DEBUG(root, "Message " << ++i);
-
- LOG4CXX_INFO(logger, "Message " << ++i);
- LOG4CXX_WARN(logger, "Message " << ++i);
- LOG4CXX_FATAL(logger, "Message " << ++i); //5
-
- std::string exceptionMsg("\njava.lang.Exception: Just testing\n"
- "\tat org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX)\n"
- "\tat org.apache.log4j.net.SocketServerTestCase.");
- exceptionMsg.append(testName);
- exceptionMsg.append("(SocketServerTestCase.java:XXX)\n"
- "\tat junit.framework.TestCase.runTest(TestCase.java:XXX)\n"
- "\tat junit.framework.TestCase.runBare(TestCase.java:XXX)\n"
- "\tat junit.framework.TestResult$1.protect(TestResult.java:XXX)\n"
- "\tat junit.framework.TestResult.runProtected(TestResult.java:XXX)\n"
- "\tat junit.framework.TestResult.run(TestResult.java:XXX)\n"
- "\tat junit.framework.TestCase.run(TestCase.java:XXX)\n"
- "\tat junit.framework.TestSuite.runTest(TestSuite.java:XXX)\n"
- "\tat junit.framework.TestSuite.run(TestSuite.java:XXX)");
-
- LOG4CXX_DEBUG(logger, "Message " << ++i << exceptionMsg);
- LOG4CXX_ERROR(root, "Message " << ++i << exceptionMsg);
+ LOG4CXX_DEBUG(logger, "Message " << ++i << exceptionMsg);
+ LOG4CXX_ERROR(root, "Message " << ++i << exceptionMsg);
- NDC::pop();
- MDC::remove(key);
- }
+ NDC::pop();
+ MDC::remove(key);
+ }
- void delay(int secs)
- {
- apr_sleep(APR_USEC_PER_SEC * secs);
- }
+ void delay(int secs)
+ {
+ apr_sleep(APR_USEC_PER_SEC * secs);
+ }
- private:
- static const File TEMP;
- static const File FILTERED;
+private:
+ static const File TEMP;
+ static const File FILTERED;
};
const File SocketServerTestCase::TEMP("output/temp");
diff --git a/src/test/cpp/net/socketservertestcase.h b/src/test/cpp/net/socketservertestcase.h
index ae285d9..9dec038 100644
--- a/src/test/cpp/net/socketservertestcase.h
+++ b/src/test/cpp/net/socketservertestcase.h
@@ -5,16 +5,16 @@
* 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.
*/
-
+
#ifndef _LOG4CXX_NET_SOCKETSERVER_TESTCASE_H
#define _LOG4CXX_NET_SOCKETSERVER_TESTCASE_H
diff --git a/src/test/cpp/net/syslogappendertestcase.cpp b/src/test/cpp/net/syslogappendertestcase.cpp
index b2b723c..8470548 100644
--- a/src/test/cpp/net/syslogappendertestcase.cpp
+++ b/src/test/cpp/net/syslogappendertestcase.cpp
@@ -27,21 +27,22 @@
*/
class SyslogAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(SyslogAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST_SUITE(SyslogAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- AppenderSkeleton* createAppenderSkeleton() const {
- return new log4cxx::net::SyslogAppender();
- }
+ AppenderSkeleton* createAppenderSkeleton() const
+ {
+ return new log4cxx::net::SyslogAppender();
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(SyslogAppenderTestCase);
diff --git a/src/test/cpp/net/telnetappendertestcase.cpp b/src/test/cpp/net/telnetappendertestcase.cpp
index 394571b..8cde17f 100644
--- a/src/test/cpp/net/telnetappendertestcase.cpp
+++ b/src/test/cpp/net/telnetappendertestcase.cpp
@@ -31,58 +31,65 @@
*/
class TelnetAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(TelnetAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST(testActivateClose);
- LOGUNIT_TEST(testActivateSleepClose);
- LOGUNIT_TEST(testActivateWriteClose);
+ LOGUNIT_TEST_SUITE(TelnetAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST(testActivateClose);
+ LOGUNIT_TEST(testActivateSleepClose);
+ LOGUNIT_TEST(testActivateWriteClose);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
- enum { TEST_PORT = 1723 };
+ enum { TEST_PORT = 1723 };
-public:
+ public:
- AppenderSkeleton* createAppenderSkeleton() const {
- return new log4cxx::net::TelnetAppender();
- }
-
- void testActivateClose() {
- TelnetAppenderPtr appender(new TelnetAppender());
- appender->setLayout(new TTCCLayout());
- appender->setPort(TEST_PORT);
- Pool p;
- appender->activateOptions(p);
- appender->close();
- }
+ AppenderSkeleton* createAppenderSkeleton() const
+ {
+ return new log4cxx::net::TelnetAppender();
+ }
- void testActivateSleepClose() {
- TelnetAppenderPtr appender(new TelnetAppender());
- appender->setLayout(new TTCCLayout());
- appender->setPort(TEST_PORT);
- Pool p;
- appender->activateOptions(p);
- Thread::sleep(1000);
- appender->close();
- }
+ void testActivateClose()
+ {
+ TelnetAppenderPtr appender(new TelnetAppender());
+ appender->setLayout(new TTCCLayout());
+ appender->setPort(TEST_PORT);
+ Pool p;
+ appender->activateOptions(p);
+ appender->close();
+ }
- void testActivateWriteClose() {
- TelnetAppenderPtr appender(new TelnetAppender());
- appender->setLayout(new TTCCLayout());
- appender->setPort(TEST_PORT);
- Pool p;
- appender->activateOptions(p);
- LoggerPtr root(Logger::getRootLogger());
- root->addAppender(appender);
- for (int i = 0; i < 50; i++) {
- LOG4CXX_INFO(root, "Hello, World " << i);
- }
- appender->close();
- }
+ void testActivateSleepClose()
+ {
+ TelnetAppenderPtr appender(new TelnetAppender());
+ appender->setLayout(new TTCCLayout());
+ appender->setPort(TEST_PORT);
+ Pool p;
+ appender->activateOptions(p);
+ Thread::sleep(1000);
+ appender->close();
+ }
+
+ void testActivateWriteClose()
+ {
+ TelnetAppenderPtr appender(new TelnetAppender());
+ appender->setLayout(new TTCCLayout());
+ appender->setPort(TEST_PORT);
+ Pool p;
+ appender->activateOptions(p);
+ LoggerPtr root(Logger::getRootLogger());
+ root->addAppender(appender);
+
+ for (int i = 0; i < 50; i++)
+ {
+ LOG4CXX_INFO(root, "Hello, World " << i);
+ }
+
+ appender->close();
+ }
};
diff --git a/src/test/cpp/net/xmlsocketappendertestcase.cpp b/src/test/cpp/net/xmlsocketappendertestcase.cpp
index 507f8d5..37ae2f1 100644
--- a/src/test/cpp/net/xmlsocketappendertestcase.cpp
+++ b/src/test/cpp/net/xmlsocketappendertestcase.cpp
@@ -28,21 +28,22 @@
*/
class XMLSocketAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(XMLSocketAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST_SUITE(XMLSocketAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- AppenderSkeleton* createAppenderSkeleton() const {
- return new log4cxx::net::XMLSocketAppender();
- }
+ AppenderSkeleton* createAppenderSkeleton() const
+ {
+ return new log4cxx::net::XMLSocketAppender();
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(XMLSocketAppenderTestCase);
diff --git a/src/test/cpp/nt/nteventlogappendertestcase.cpp b/src/test/cpp/nt/nteventlogappendertestcase.cpp
index 5e8c6ff..b4b8211 100644
--- a/src/test/cpp/nt/nteventlogappendertestcase.cpp
+++ b/src/test/cpp/nt/nteventlogappendertestcase.cpp
@@ -36,62 +36,76 @@
*/
class NTEventLogAppenderTestCase : public AppenderSkeletonTestCase
{
- LOGUNIT_TEST_SUITE(NTEventLogAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST(testHelloWorld);
+ LOGUNIT_TEST_SUITE(NTEventLogAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST(testHelloWorld);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- AppenderSkeleton* createAppenderSkeleton() const {
- return new log4cxx::nt::NTEventLogAppender();
- }
+ AppenderSkeleton* createAppenderSkeleton() const
+ {
+ return new log4cxx::nt::NTEventLogAppender();
+ }
- void testHelloWorld() {
- DWORD expectedId = 1;
- HANDLE hEventLog = ::OpenEventLogW(NULL, L"log4cxx_test");
- if (hEventLog != NULL) {
- BOOL stat = GetNumberOfEventLogRecords(hEventLog, &expectedId);
- DWORD oldest;
- if(stat) stat = GetOldestEventLogRecord(hEventLog, &oldest);
- CloseEventLog(hEventLog);
- LOGUNIT_ASSERT(stat);
- expectedId += oldest;
- }
+ void testHelloWorld()
+ {
+ DWORD expectedId = 1;
+ HANDLE hEventLog = ::OpenEventLogW(NULL, L"log4cxx_test");
+
+ if (hEventLog != NULL)
+ {
+ BOOL stat = GetNumberOfEventLogRecords(hEventLog, &expectedId);
+ DWORD oldest;
+
+ if (stat)
+ {
+ stat = GetOldestEventLogRecord(hEventLog, &oldest);
+ }
+
+ CloseEventLog(hEventLog);
+ LOGUNIT_ASSERT(stat);
+ expectedId += oldest;
+ }
- Pool p;
- Date now;
- DWORD expectedTime = now.getTime() / Date::getMicrosecondsPerSecond();
- {
- NTEventLogAppenderPtr appender(new NTEventLogAppender());
- appender->setSource(LOG4CXX_STR("log4cxx_test"));
- LayoutPtr layout(new PatternLayout(LOG4CXX_STR("%c - %m%n")));
- appender->setLayout(layout);
- appender->activateOptions(p);
+ Pool p;
+ Date now;
+ DWORD expectedTime = now.getTime() / Date::getMicrosecondsPerSecond();
+ {
+ NTEventLogAppenderPtr appender(new NTEventLogAppender());
+ appender->setSource(LOG4CXX_STR("log4cxx_test"));
+ LayoutPtr layout(new PatternLayout(LOG4CXX_STR("%c - %m%n")));
+ appender->setLayout(layout);
+ appender->activateOptions(p);
- LoggingEventPtr event(new LoggingEvent(
- LOG4CXX_STR("org.foobar"), Level::getInfo(), LOG4CXX_STR("Hello, World"), LOG4CXX_LOCATION));
- appender->doAppend(event, p);
- }
- hEventLog = ::OpenEventLogW(NULL, L"log4cxx_test");
- LOGUNIT_ASSERT(hEventLog != NULL);
- DWORD actualId;
- BOOL stat = GetNumberOfEventLogRecords(hEventLog, &actualId);
- DWORD oldest;
- if (stat) stat = GetOldestEventLogRecord(hEventLog, &oldest);
- actualId += oldest;
- actualId--;
- CloseEventLog(hEventLog);
- LOGUNIT_ASSERT(stat);
- LOGUNIT_ASSERT_EQUAL(expectedId, actualId);
- }
+ LoggingEventPtr event(new LoggingEvent(
+ LOG4CXX_STR("org.foobar"), Level::getInfo(), LOG4CXX_STR("Hello, World"), LOG4CXX_LOCATION));
+ appender->doAppend(event, p);
+ }
+ hEventLog = ::OpenEventLogW(NULL, L"log4cxx_test");
+ LOGUNIT_ASSERT(hEventLog != NULL);
+ DWORD actualId;
+ BOOL stat = GetNumberOfEventLogRecords(hEventLog, &actualId);
+ DWORD oldest;
+
+ if (stat)
+ {
+ stat = GetOldestEventLogRecord(hEventLog, &oldest);
+ }
+
+ actualId += oldest;
+ actualId--;
+ CloseEventLog(hEventLog);
+ LOGUNIT_ASSERT(stat);
+ LOGUNIT_ASSERT_EQUAL(expectedId, actualId);
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(NTEventLogAppenderTestCase);
diff --git a/src/test/cpp/pattern/num343patternconverter.cpp b/src/test/cpp/pattern/num343patternconverter.cpp
index fa756c5..f330930 100644
--- a/src/test/cpp/pattern/num343patternconverter.cpp
+++ b/src/test/cpp/pattern/num343patternconverter.cpp
@@ -15,7 +15,7 @@
* limitations under the License.
*/
#if defined(_MSC_VER)
-#pragma warning ( disable: 4231 4251 4275 4786 )
+ #pragma warning ( disable: 4231 4251 4275 4786 )
#endif
#include <log4cxx/logstring.h>
@@ -29,20 +29,22 @@
Num343PatternConverter::Num343PatternConverter() :
- LoggingEventPatternConverter(LOG4CXX_STR("Num343"), LOG4CXX_STR("num343")) {
+ LoggingEventPatternConverter(LOG4CXX_STR("Num343"), LOG4CXX_STR("num343"))
+{
}
PatternConverterPtr Num343PatternConverter::newInstance(
- const std::vector<LogString>&) {
- return new Num343PatternConverter();
+ const std::vector<LogString>&)
+{
+ return new Num343PatternConverter();
}
void Num343PatternConverter::format(
- const spi::LoggingEventPtr&,
- LogString& sbuf,
- Pool&) const
+ const spi::LoggingEventPtr&,
+ LogString& sbuf,
+ Pool&) const
{
- sbuf.append(LOG4CXX_STR("343"));
+ sbuf.append(LOG4CXX_STR("343"));
}
diff --git a/src/test/cpp/pattern/num343patternconverter.h b/src/test/cpp/pattern/num343patternconverter.h
index 0e2f75b..ce3d81c 100644
--- a/src/test/cpp/pattern/num343patternconverter.h
+++ b/src/test/cpp/pattern/num343patternconverter.h
@@ -20,21 +20,22 @@
namespace log4cxx
{
- namespace pattern {
- class Num343PatternConverter : public LoggingEventPatternConverter
- {
- public:
- DECLARE_LOG4CXX_OBJECT(Num343PatternConverter)
+namespace pattern
+{
+class Num343PatternConverter : public LoggingEventPatternConverter
+{
+ public:
+ DECLARE_LOG4CXX_OBJECT(Num343PatternConverter)
- Num343PatternConverter();
- static PatternConverterPtr newInstance(
- const std::vector<LogString>& options);
+ Num343PatternConverter();
+ static PatternConverterPtr newInstance(
+ const std::vector<LogString>& options);
- protected:
- void format(
- const log4cxx::spi::LoggingEventPtr& event,
- LogString& toAppendTo,
- log4cxx::helpers::Pool& pool) const;
- };
- }
+ protected:
+ void format(
+ const log4cxx::spi::LoggingEventPtr& event,
+ LogString& toAppendTo,
+ log4cxx::helpers::Pool& pool) const;
+};
+}
}
diff --git a/src/test/cpp/pattern/patternparsertestcase.cpp b/src/test/cpp/pattern/patternparsertestcase.cpp
index f304252..f49e2a2 100644
--- a/src/test/cpp/pattern/patternparsertestcase.cpp
+++ b/src/test/cpp/pattern/patternparsertestcase.cpp
@@ -58,178 +58,190 @@
using namespace log4cxx::pattern;
#define RULES_PUT(spec, cls) \
-map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
+ map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
LOGUNIT_CLASS(PatternParserTestCase)
{
- LOGUNIT_TEST_SUITE(PatternParserTestCase);
- LOGUNIT_TEST(testNewWord);
- LOGUNIT_TEST(testNewWord2);
- LOGUNIT_TEST(testBogusWord1);
- LOGUNIT_TEST(testBogusWord2);
- LOGUNIT_TEST(testBasic1);
- LOGUNIT_TEST(testBasic2);
- LOGUNIT_TEST(testMultiOption);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(PatternParserTestCase);
+ LOGUNIT_TEST(testNewWord);
+ LOGUNIT_TEST(testNewWord2);
+ LOGUNIT_TEST(testBogusWord1);
+ LOGUNIT_TEST(testBogusWord2);
+ LOGUNIT_TEST(testBasic1);
+ LOGUNIT_TEST(testBasic2);
+ LOGUNIT_TEST(testMultiOption);
+ LOGUNIT_TEST_SUITE_END();
- LoggingEventPtr event;
+ LoggingEventPtr event;
public:
- void setUp()
- {
- event = new LoggingEvent(
- LOG4CXX_STR("org.foobar"), Level::getInfo(), LOG4CXX_STR("msg 1"), LOG4CXX_LOCATION);
- }
+ void setUp()
+ {
+ event = new LoggingEvent(
+ LOG4CXX_STR("org.foobar"), Level::getInfo(), LOG4CXX_STR("msg 1"), LOG4CXX_LOCATION);
+ }
- void tearDown()
- {
- }
+ void tearDown()
+ {
+ }
- PatternMap getFormatSpecifiers() {
- PatternMap map;
- RULES_PUT("c", LoggerPatternConverter);
- RULES_PUT("logger", LoggerPatternConverter);
+ PatternMap getFormatSpecifiers()
+ {
+ PatternMap map;
+ RULES_PUT("c", LoggerPatternConverter);
+ RULES_PUT("logger", LoggerPatternConverter);
- RULES_PUT("C", ClassNamePatternConverter);
- RULES_PUT("class", ClassNamePatternConverter);
+ RULES_PUT("C", ClassNamePatternConverter);
+ RULES_PUT("class", ClassNamePatternConverter);
- RULES_PUT("d", DatePatternConverter);
- RULES_PUT("date", DatePatternConverter);
+ RULES_PUT("d", DatePatternConverter);
+ RULES_PUT("date", DatePatternConverter);
- RULES_PUT("F", FileLocationPatternConverter);
- RULES_PUT("file", FileLocationPatternConverter);
+ RULES_PUT("F", FileLocationPatternConverter);
+ RULES_PUT("file", FileLocationPatternConverter);
- RULES_PUT("l", FullLocationPatternConverter);
+ RULES_PUT("l", FullLocationPatternConverter);
- RULES_PUT("L", LineLocationPatternConverter);
- RULES_PUT("line", LineLocationPatternConverter);
+ RULES_PUT("L", LineLocationPatternConverter);
+ RULES_PUT("line", LineLocationPatternConverter);
- RULES_PUT("m", MessagePatternConverter);
- RULES_PUT("message", MessagePatternConverter);
+ RULES_PUT("m", MessagePatternConverter);
+ RULES_PUT("message", MessagePatternConverter);
- RULES_PUT("n", LineSeparatorPatternConverter);
+ RULES_PUT("n", LineSeparatorPatternConverter);
- RULES_PUT("M", MethodLocationPatternConverter);
- RULES_PUT("method", MethodLocationPatternConverter);
+ RULES_PUT("M", MethodLocationPatternConverter);
+ RULES_PUT("method", MethodLocationPatternConverter);
- RULES_PUT("p", LevelPatternConverter);
- RULES_PUT("level", LevelPatternConverter);
+ RULES_PUT("p", LevelPatternConverter);
+ RULES_PUT("level", LevelPatternConverter);
- RULES_PUT("r", RelativeTimePatternConverter);
- RULES_PUT("relative", RelativeTimePatternConverter);
+ RULES_PUT("r", RelativeTimePatternConverter);
+ RULES_PUT("relative", RelativeTimePatternConverter);
- RULES_PUT("t", ThreadPatternConverter);
- RULES_PUT("thread", ThreadPatternConverter);
+ RULES_PUT("t", ThreadPatternConverter);
+ RULES_PUT("thread", ThreadPatternConverter);
- RULES_PUT("x", NDCPatternConverter);
- RULES_PUT("ndc", NDCPatternConverter);
+ RULES_PUT("x", NDCPatternConverter);
+ RULES_PUT("ndc", NDCPatternConverter);
- RULES_PUT("X", PropertiesPatternConverter);
- RULES_PUT("properties", PropertiesPatternConverter);
+ RULES_PUT("X", PropertiesPatternConverter);
+ RULES_PUT("properties", PropertiesPatternConverter);
- RULES_PUT("throwable", ThrowableInformationPatternConverter);
+ RULES_PUT("throwable", ThrowableInformationPatternConverter);
- return map;
+ return map;
- }
+ }
- void assertFormattedEquals(const LogString& pattern,
- const PatternMap& patternMap,
- const LogString& expected) {
- std::vector<PatternConverterPtr> converters;
- std::vector<FormattingInfoPtr> fields;
- PatternParser::parse(pattern, converters, fields, patternMap);
- Pool p;
- LogString actual;
- std::vector<FormattingInfoPtr>::const_iterator fieldIter = fields.begin();
- for(std::vector<PatternConverterPtr>::const_iterator converterIter = converters.begin();
- converterIter != converters.end();
- converterIter++, fieldIter++) {
- int fieldStart = actual.length();
- (*converterIter)->format(event, actual, p);
- (*fieldIter)->format(fieldStart, actual);
- }
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
+ void assertFormattedEquals(const LogString & pattern,
+ const PatternMap & patternMap,
+ const LogString & expected)
+ {
+ std::vector<PatternConverterPtr> converters;
+ std::vector<FormattingInfoPtr> fields;
+ PatternParser::parse(pattern, converters, fields, patternMap);
+ Pool p;
+ LogString actual;
+ std::vector<FormattingInfoPtr>::const_iterator fieldIter = fields.begin();
+
+ for (std::vector<PatternConverterPtr>::const_iterator converterIter = converters.begin();
+ converterIter != converters.end();
+ converterIter++, fieldIter++)
+ {
+ int fieldStart = actual.length();
+ (*converterIter)->format(event, actual, p);
+ (*fieldIter)->format(fieldStart, actual);
+ }
+
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
- void testNewWord() {
- PatternMap testRules(getFormatSpecifiers());
- testRules.insert(
- PatternMap::value_type(LOG4CXX_STR("z343"),
- (PatternConstructor) Num343PatternConverter::newInstance));
- assertFormattedEquals(LOG4CXX_STR("%z343"), testRules, LOG4CXX_STR("343"));
- }
+ void testNewWord()
+ {
+ PatternMap testRules(getFormatSpecifiers());
+ testRules.insert(
+ PatternMap::value_type(LOG4CXX_STR("z343"),
+ (PatternConstructor) Num343PatternConverter::newInstance));
+ assertFormattedEquals(LOG4CXX_STR("%z343"), testRules, LOG4CXX_STR("343"));
+ }
- /* Test whether words starting with the letter 'n' are treated differently,
- * which was previously the case by mistake.
- */
- void testNewWord2() {
- PatternMap testRules(getFormatSpecifiers());
- testRules.insert(
- PatternMap::value_type(LOG4CXX_STR("n343"),
- (PatternConstructor) Num343PatternConverter::newInstance));
- assertFormattedEquals(LOG4CXX_STR("%n343"), testRules, LOG4CXX_STR("343"));
- }
+ /* Test whether words starting with the letter 'n' are treated differently,
+ * which was previously the case by mistake.
+ */
+ void testNewWord2()
+ {
+ PatternMap testRules(getFormatSpecifiers());
+ testRules.insert(
+ PatternMap::value_type(LOG4CXX_STR("n343"),
+ (PatternConstructor) Num343PatternConverter::newInstance));
+ assertFormattedEquals(LOG4CXX_STR("%n343"), testRules, LOG4CXX_STR("343"));
+ }
- void testBogusWord1() {
- assertFormattedEquals(LOG4CXX_STR("%, foobar"),
- getFormatSpecifiers(),
- LOG4CXX_STR("%, foobar"));
- }
+ void testBogusWord1()
+ {
+ assertFormattedEquals(LOG4CXX_STR("%, foobar"),
+ getFormatSpecifiers(),
+ LOG4CXX_STR("%, foobar"));
+ }
- void testBogusWord2() {
- assertFormattedEquals(LOG4CXX_STR("xyz %, foobar"),
- getFormatSpecifiers(),
- LOG4CXX_STR("xyz %, foobar"));
- }
+ void testBogusWord2()
+ {
+ assertFormattedEquals(LOG4CXX_STR("xyz %, foobar"),
+ getFormatSpecifiers(),
+ LOG4CXX_STR("xyz %, foobar"));
+ }
- void testBasic1() {
- assertFormattedEquals(LOG4CXX_STR("hello %-5level - %m%n"),
- getFormatSpecifiers(),
- LogString(LOG4CXX_STR("hello INFO - msg 1")) + LOG4CXX_EOL);
- }
+ void testBasic1()
+ {
+ assertFormattedEquals(LOG4CXX_STR("hello %-5level - %m%n"),
+ getFormatSpecifiers(),
+ LogString(LOG4CXX_STR("hello INFO - msg 1")) + LOG4CXX_EOL);
+ }
- void testBasic2() {
- Pool pool;
- RelativeTimeDateFormat relativeFormat;
- LogString expected;
- relativeFormat.format(expected, event->getTimeStamp(), pool);
+ void testBasic2()
+ {
+ Pool pool;
+ RelativeTimeDateFormat relativeFormat;
+ LogString expected;
+ relativeFormat.format(expected, event->getTimeStamp(), pool);
- expected.append(LOG4CXX_STR(" INFO ["));
- expected.append(event->getThreadName());
- expected.append(LOG4CXX_STR("] org.foobar - msg 1"));
- expected.append(LOG4CXX_EOL);
+ expected.append(LOG4CXX_STR(" INFO ["));
+ expected.append(event->getThreadName());
+ expected.append(LOG4CXX_STR("] org.foobar - msg 1"));
+ expected.append(LOG4CXX_EOL);
- assertFormattedEquals(LOG4CXX_STR("%relative %-5level [%thread] %logger - %m%n"),
- getFormatSpecifiers(),
- expected);
- }
+ assertFormattedEquals(LOG4CXX_STR("%relative %-5level [%thread] %logger - %m%n"),
+ getFormatSpecifiers(),
+ expected);
+ }
- void testMultiOption() {
- Pool pool;
+ void testMultiOption()
+ {
+ Pool pool;
- SimpleDateFormat dateFormat(LOG4CXX_STR("HH:mm:ss"));
- LogString localTime;
- dateFormat.format(localTime, event->getTimeStamp(), pool);
+ SimpleDateFormat dateFormat(LOG4CXX_STR("HH:mm:ss"));
+ LogString localTime;
+ dateFormat.format(localTime, event->getTimeStamp(), pool);
- dateFormat.setTimeZone(TimeZone::getGMT());
- LogString utcTime;
- dateFormat.format(utcTime, event->getTimeStamp(), pool);
+ dateFormat.setTimeZone(TimeZone::getGMT());
+ LogString utcTime;
+ dateFormat.format(utcTime, event->getTimeStamp(), pool);
- LogString expected(utcTime);
- expected.append(1, LOG4CXX_STR(' '));
- expected.append(localTime);
- expected.append(LOG4CXX_STR(" org.foobar - msg 1"));
+ LogString expected(utcTime);
+ expected.append(1, LOG4CXX_STR(' '));
+ expected.append(localTime);
+ expected.append(LOG4CXX_STR(" org.foobar - msg 1"));
- assertFormattedEquals(LOG4CXX_STR("%d{HH:mm:ss}{GMT} %d{HH:mm:ss} %c - %m"),
- getFormatSpecifiers(),
- expected);
- }
+ assertFormattedEquals(LOG4CXX_STR("%d{HH:mm:ss}{GMT} %d{HH:mm:ss} %c - %m"),
+ getFormatSpecifiers(),
+ expected);
+ }
};
@@ -237,5 +249,5 @@
// See bug LOGCXX-204
//
#if !defined(_MSC_VER) || _MSC_VER > 1200
-LOGUNIT_TEST_SUITE_REGISTRATION(PatternParserTestCase);
+ LOGUNIT_TEST_SUITE_REGISTRATION(PatternParserTestCase);
#endif
diff --git a/src/test/cpp/patternlayouttest.cpp b/src/test/cpp/patternlayouttest.cpp
index 9c3818f..b6c8510 100644
--- a/src/test/cpp/patternlayouttest.cpp
+++ b/src/test/cpp/patternlayouttest.cpp
@@ -53,8 +53,8 @@
#define PAT11a REGEX_STR("^(DEBUG|INFO |WARN |ERROR|FATAL) \\[[0-9A-FXx]*]\\ log4j.PatternLayoutTest: Message [0-9]\\{1,2\\}")
#define PAT11b REGEX_STR("^(DEBUG|INFO |WARN |ERROR|FATAL) \\[[0-9A-FXx]*]\\ root: Message [0-9]\\{1,2\\}")
#define PAT12 REGEX_STR("^\\[[0-9A-FXx]*]\\ (DEBUG|INFO |WARN |ERROR|FATAL) ")\
- REGEX_STR(".*patternlayouttest.cpp([0-9]\\{1,4\\}): ")\
- REGEX_STR("Message [0-9]\\{1,2\\}")
+ REGEX_STR(".*patternlayouttest.cpp([0-9]\\{1,4\\}): ")\
+ REGEX_STR("Message [0-9]\\{1,2\\}")
#define PAT_MDC_1 REGEX_STR("")
using namespace log4cxx;
@@ -62,481 +62,482 @@
LOGUNIT_CLASS(PatternLayoutTest)
{
- LOGUNIT_TEST_SUITE(PatternLayoutTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST(test7);
- LOGUNIT_TEST(test8);
- LOGUNIT_TEST(test9);
- LOGUNIT_TEST(test10);
- LOGUNIT_TEST(test11);
- LOGUNIT_TEST(test12);
- LOGUNIT_TEST(testMDC1);
- LOGUNIT_TEST(testMDC2);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(PatternLayoutTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST(test7);
+ LOGUNIT_TEST(test8);
+ LOGUNIT_TEST(test9);
+ LOGUNIT_TEST(test10);
+ LOGUNIT_TEST(test11);
+ LOGUNIT_TEST(test12);
+ LOGUNIT_TEST(testMDC1);
+ LOGUNIT_TEST(testMDC2);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- LoggerPtr logger;
+ LoggerPtr root;
+ LoggerPtr logger;
public:
- void setUp()
- {
- root = Logger::getRootLogger();
- MDC::clear();
- logger = Logger::getLogger(LOG4CXX_TEST_STR("java.org.apache.log4j.PatternLayoutTest"));
- }
+ void setUp()
+ {
+ root = Logger::getRootLogger();
+ MDC::clear();
+ logger = Logger::getLogger(LOG4CXX_TEST_STR("java.org.apache.log4j.PatternLayoutTest"));
+ }
- void tearDown()
- {
- MDC::clear();
- root->getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ MDC::clear();
+ root->getLoggerRepository()->resetConfiguration();
+ }
- void test1()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout1.properties"));
- common();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/patternLayout.1")));
- }
+ void test1()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout1.properties"));
+ common();
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/patternLayout.1")));
+ }
- void test2()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout2.properties"));
- common();
+ void test2()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout2.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT1;
- ISO8601Filter filter2;
- ThreadFilter filter3;
+ ControlFilter filter1;
+ filter1 << PAT1;
+ ISO8601Filter filter2;
+ ThreadFilter filter3;
- std::vector<Filter *> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
- filters.push_back(&filter3);
+ std::vector<Filter*> filters;
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
+ filters.push_back(&filter3);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.2")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.2")));
+ }
- void test3()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout3.properties"));
- common();
+ void test3()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout3.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT1;
- ISO8601Filter filter2;
- ThreadFilter filter3;
+ ControlFilter filter1;
+ filter1 << PAT1;
+ ISO8601Filter filter2;
+ ThreadFilter filter3;
- std::vector<Filter *> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
- filters.push_back(&filter3);
+ std::vector<Filter*> filters;
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
+ filters.push_back(&filter3);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.3")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.3")));
+ }
- // Output format:
- // 06 avr. 2002 18:30:58,937 [12345] DEBUG atternLayoutTest - Message 0
- void test4()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout4.properties"));
- common();
+ // Output format:
+ // 06 avr. 2002 18:30:58,937 [12345] DEBUG atternLayoutTest - Message 0
+ void test4()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout4.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT2;
- AbsoluteDateAndTimeFilter filter2;
- ThreadFilter filter3;
+ ControlFilter filter1;
+ filter1 << PAT2;
+ AbsoluteDateAndTimeFilter filter2;
+ ThreadFilter filter3;
- std::vector<Filter *> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
- filters.push_back(&filter3);
+ std::vector<Filter*> filters;
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
+ filters.push_back(&filter3);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.4")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.4")));
+ }
- void test5()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout5.properties"));
- common();
+ void test5()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout5.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT2;
- AbsoluteDateAndTimeFilter filter2;
- ThreadFilter filter3;
+ ControlFilter filter1;
+ filter1 << PAT2;
+ AbsoluteDateAndTimeFilter filter2;
+ ThreadFilter filter3;
- std::vector<Filter *> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
- filters.push_back(&filter3);
+ std::vector<Filter*> filters;
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
+ filters.push_back(&filter3);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.5")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.5")));
+ }
- void test6()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout6.properties"));
- common();
+ void test6()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout6.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT3;
- AbsoluteTimeFilter filter2;
- ThreadFilter filter3;
+ ControlFilter filter1;
+ filter1 << PAT3;
+ AbsoluteTimeFilter filter2;
+ ThreadFilter filter3;
- std::vector<Filter *> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
- filters.push_back(&filter3);
+ std::vector<Filter*> filters;
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
+ filters.push_back(&filter3);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.6")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.6")));
+ }
- void test7()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout7.properties"));
- common();
+ void test7()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout7.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT3;
- AbsoluteTimeFilter filter2;
- ThreadFilter filter3;
+ ControlFilter filter1;
+ filter1 << PAT3;
+ AbsoluteTimeFilter filter2;
+ ThreadFilter filter3;
- std::vector<Filter *> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
- filters.push_back(&filter3);
+ std::vector<Filter*> filters;
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
+ filters.push_back(&filter3);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.7")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.7")));
+ }
- void test8()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout8.properties"));
- common();
+ void test8()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout8.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT4;
- //
- // combo of relative time and thread identifier
- // (the \\\\1 preserve a leading space)
- Filter filter2(".*]", "[main]");
+ ControlFilter filter1;
+ filter1 << PAT4;
+ //
+ // combo of relative time and thread identifier
+ // (the \\\\1 preserve a leading space)
+ Filter filter2(".*]", "[main]");
- std::vector<Filter *> filters;
+ std::vector<Filter*> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.8")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.8")));
+ }
- void test9()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout9.properties"));
- common();
+ void test9()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout9.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT5;
- ThreadFilter filter2;
+ ControlFilter filter1;
+ filter1 << PAT5;
+ ThreadFilter filter2;
- std::vector<Filter *> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
+ std::vector<Filter*> filters;
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.9")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.9")));
+ }
- void test10()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout10.properties"));
- common();
+ void test10()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout10.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT6;
- ThreadFilter filter2;
- LineNumberFilter filter3;
- FilenameFilter filenameFilter(__FILE__, "patternlayouttest.cpp");
+ ControlFilter filter1;
+ filter1 << PAT6;
+ ThreadFilter filter2;
+ LineNumberFilter filter3;
+ FilenameFilter filenameFilter(__FILE__, "patternlayouttest.cpp");
- std::vector<Filter *> filters;
- filters.push_back(&filenameFilter);
- filters.push_back(&filter1);
- filters.push_back(&filter2);
- filters.push_back(&filter3);
+ std::vector<Filter*> filters;
+ filters.push_back(&filenameFilter);
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
+ filters.push_back(&filter3);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.10")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.10")));
+ }
- void test11()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout11.properties"));
- common();
+ void test11()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout11.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT11a << PAT11b;
- ThreadFilter filter2;
+ ControlFilter filter1;
+ filter1 << PAT11a << PAT11b;
+ ThreadFilter filter2;
- std::vector<Filter *> filters;
- filters.push_back(&filter1);
- filters.push_back(&filter2);
+ std::vector<Filter*> filters;
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.11")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.11")));
+ }
- void test12()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout12.properties"));
- common();
+ void test12()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout12.properties"));
+ common();
- ControlFilter filter1;
- filter1 << PAT12;
- ThreadFilter filter2;
- LineNumberFilter filter3;
- FilenameFilter filenameFilter(__FILE__, "patternlayouttest.cpp");
+ ControlFilter filter1;
+ filter1 << PAT12;
+ ThreadFilter filter2;
+ LineNumberFilter filter3;
+ FilenameFilter filenameFilter(__FILE__, "patternlayouttest.cpp");
- std::vector<Filter *> filters;
- filters.push_back(&filenameFilter);
- filters.push_back(&filter1);
- filters.push_back(&filter2);
- filters.push_back(&filter3);
+ std::vector<Filter*> filters;
+ filters.push_back(&filenameFilter);
+ filters.push_back(&filter1);
+ filters.push_back(&filter2);
+ filters.push_back(&filter3);
- try
- {
- Transformer::transform(TEMP, FILTERED, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(TEMP, FILTERED, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.12")));
- }
+ LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.12")));
+ }
- void testMDC1()
- {
- PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout.mdc.1.properties"));
- MDC::put(LOG4CXX_TEST_STR("key1"), LOG4CXX_TEST_STR("va11"));
- MDC::put(LOG4CXX_TEST_STR("key2"), LOG4CXX_TEST_STR("va12"));
- logger->debug(LOG4CXX_TEST_STR("Hello World"));
- MDC::clear();
+ void testMDC1()
+ {
+ PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout.mdc.1.properties"));
+ MDC::put(LOG4CXX_TEST_STR("key1"), LOG4CXX_TEST_STR("va11"));
+ MDC::put(LOG4CXX_TEST_STR("key2"), LOG4CXX_TEST_STR("va12"));
+ logger->debug(LOG4CXX_TEST_STR("Hello World"));
+ MDC::clear();
- LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/patternLayout.mdc.1")));
- }
+ LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/patternLayout.mdc.1")));
+ }
- void testMDC2()
- {
- LogString OUTPUT_FILE = LOG4CXX_STR("output/patternLayout.mdc.2");
- File WITNESS_FILE = LOG4CXX_FILE("witness/patternLayout.mdc.2");
+ void testMDC2()
+ {
+ LogString OUTPUT_FILE = LOG4CXX_STR("output/patternLayout.mdc.2");
+ File WITNESS_FILE = LOG4CXX_FILE("witness/patternLayout.mdc.2");
- LogString mdcMsgPattern1 = LOG4CXX_STR("%m : %X%n");
- LogString mdcMsgPattern2 = LOG4CXX_STR("%m : %X{key1}%n");
- LogString mdcMsgPattern3 = LOG4CXX_STR("%m : %X{key2}%n");
- LogString mdcMsgPattern4 = LOG4CXX_STR("%m : %X{key3}%n");
- LogString mdcMsgPattern5 = LOG4CXX_STR("%m : %X{key1},%X{key2},%X{key3}%n");
+ LogString mdcMsgPattern1 = LOG4CXX_STR("%m : %X%n");
+ LogString mdcMsgPattern2 = LOG4CXX_STR("%m : %X{key1}%n");
+ LogString mdcMsgPattern3 = LOG4CXX_STR("%m : %X{key2}%n");
+ LogString mdcMsgPattern4 = LOG4CXX_STR("%m : %X{key3}%n");
+ LogString mdcMsgPattern5 = LOG4CXX_STR("%m : %X{key1},%X{key2},%X{key3}%n");
- // set up appender
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m%n"));
- AppenderPtr appender = new FileAppender(layout, OUTPUT_FILE, false);
+ // set up appender
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m%n"));
+ AppenderPtr appender = new FileAppender(layout, OUTPUT_FILE, false);
- // set appender on root and set level to debug
- root->addAppender(appender);
- root->setLevel(Level::getDebug());
+ // set appender on root and set level to debug
+ root->addAppender(appender);
+ root->setLevel(Level::getDebug());
- // output starting message
- root->debug(LOG4CXX_TEST_STR("starting mdc pattern test"));
+ // output starting message
+ root->debug(LOG4CXX_TEST_STR("starting mdc pattern test"));
- layout->setConversionPattern(mdcMsgPattern1);
- log4cxx::helpers::Pool pool;
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("empty mdc, no key specified in pattern"));
+ layout->setConversionPattern(mdcMsgPattern1);
+ log4cxx::helpers::Pool pool;
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("empty mdc, no key specified in pattern"));
- layout->setConversionPattern(mdcMsgPattern2);
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("empty mdc, key1 in pattern"));
+ layout->setConversionPattern(mdcMsgPattern2);
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("empty mdc, key1 in pattern"));
- layout->setConversionPattern(mdcMsgPattern3);
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("empty mdc, key2 in pattern"));
+ layout->setConversionPattern(mdcMsgPattern3);
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("empty mdc, key2 in pattern"));
- layout->setConversionPattern(mdcMsgPattern4);
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("empty mdc, key3 in pattern"));
+ layout->setConversionPattern(mdcMsgPattern4);
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("empty mdc, key3 in pattern"));
- layout->setConversionPattern(mdcMsgPattern5);
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("empty mdc, key1, key2, and key3 in pattern"));
+ layout->setConversionPattern(mdcMsgPattern5);
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("empty mdc, key1, key2, and key3 in pattern"));
- MDC::put(LOG4CXX_TEST_STR("key1"), LOG4CXX_TEST_STR("value1"));
- MDC::put(LOG4CXX_TEST_STR("key2"), LOG4CXX_TEST_STR("value2"));
+ MDC::put(LOG4CXX_TEST_STR("key1"), LOG4CXX_TEST_STR("value1"));
+ MDC::put(LOG4CXX_TEST_STR("key2"), LOG4CXX_TEST_STR("value2"));
- layout->setConversionPattern(mdcMsgPattern1);
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("filled mdc, no key specified in pattern"));
+ layout->setConversionPattern(mdcMsgPattern1);
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("filled mdc, no key specified in pattern"));
- layout->setConversionPattern(mdcMsgPattern2);
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("filled mdc, key1 in pattern"));
+ layout->setConversionPattern(mdcMsgPattern2);
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("filled mdc, key1 in pattern"));
- layout->setConversionPattern(mdcMsgPattern3);
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("filled mdc, key2 in pattern"));
+ layout->setConversionPattern(mdcMsgPattern3);
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("filled mdc, key2 in pattern"));
- layout->setConversionPattern(mdcMsgPattern4);
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("filled mdc, key3 in pattern"));
+ layout->setConversionPattern(mdcMsgPattern4);
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("filled mdc, key3 in pattern"));
- layout->setConversionPattern(mdcMsgPattern5);
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("filled mdc, key1, key2, and key3 in pattern"));
+ layout->setConversionPattern(mdcMsgPattern5);
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("filled mdc, key1, key2, and key3 in pattern"));
- MDC::remove(LOG4CXX_TEST_STR("key1"));
- MDC::remove(LOG4CXX_TEST_STR("key2"));
+ MDC::remove(LOG4CXX_TEST_STR("key1"));
+ MDC::remove(LOG4CXX_TEST_STR("key2"));
- layout->setConversionPattern(LOG4CXX_STR("%m%n"));
- layout->activateOptions(pool);
- root->debug(LOG4CXX_TEST_STR("finished mdc pattern test"));
+ layout->setConversionPattern(LOG4CXX_STR("%m%n"));
+ layout->activateOptions(pool);
+ root->debug(LOG4CXX_TEST_STR("finished mdc pattern test"));
- LOGUNIT_ASSERT(Compare::compare(OUTPUT_FILE, WITNESS_FILE));
- }
+ LOGUNIT_ASSERT(Compare::compare(OUTPUT_FILE, WITNESS_FILE));
+ }
- std::string createMessage(Pool& pool, int i) {
- std::string msg("Message ");
- msg.append(pool.itoa(i));
- return msg;
- }
+ std::string createMessage(Pool & pool, int i)
+ {
+ std::string msg("Message ");
+ msg.append(pool.itoa(i));
+ return msg;
+ }
- void common()
- {
- int i = -1;
+ void common()
+ {
+ int i = -1;
- Pool pool;
+ Pool pool;
- LOG4CXX_DEBUG(logger, createMessage(pool, ++i));
- LOG4CXX_DEBUG(root, createMessage(pool, i));
+ LOG4CXX_DEBUG(logger, createMessage(pool, ++i));
+ LOG4CXX_DEBUG(root, createMessage(pool, i));
- LOG4CXX_INFO(logger, createMessage(pool, ++i));
- LOG4CXX_INFO(root, createMessage(pool, i));
+ LOG4CXX_INFO(logger, createMessage(pool, ++i));
+ LOG4CXX_INFO(root, createMessage(pool, i));
- LOG4CXX_WARN(logger, createMessage(pool, ++i));
- LOG4CXX_WARN(root, createMessage(pool, i));
+ LOG4CXX_WARN(logger, createMessage(pool, ++i));
+ LOG4CXX_WARN(root, createMessage(pool, i));
- LOG4CXX_ERROR(logger, createMessage(pool, ++i));
- LOG4CXX_ERROR(root, createMessage(pool, i));
+ LOG4CXX_ERROR(logger, createMessage(pool, ++i));
+ LOG4CXX_ERROR(root, createMessage(pool, i));
- LOG4CXX_FATAL(logger, createMessage(pool, ++i));
- LOG4CXX_FATAL(root, createMessage(pool, i));
- }
+ LOG4CXX_FATAL(logger, createMessage(pool, ++i));
+ LOG4CXX_FATAL(root, createMessage(pool, i));
+ }
private:
- static const LogString FILTERED;
- static const LogString TEMP;
+ static const LogString FILTERED;
+ static const LogString TEMP;
};
diff --git a/src/test/cpp/propertyconfiguratortest.cpp b/src/test/cpp/propertyconfiguratortest.cpp
index c93c363..15e2f55 100644
--- a/src/test/cpp/propertyconfiguratortest.cpp
+++ b/src/test/cpp/propertyconfiguratortest.cpp
@@ -27,60 +27,63 @@
LOGUNIT_CLASS(PropertyConfiguratorTest)
{
- LOGUNIT_TEST_SUITE(PropertyConfiguratorTest);
- LOGUNIT_TEST(testInherited);
- LOGUNIT_TEST(testNull);
- LOGUNIT_TEST(testAppenderThreshold);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(PropertyConfiguratorTest);
+ LOGUNIT_TEST(testInherited);
+ LOGUNIT_TEST(testNull);
+ LOGUNIT_TEST(testAppenderThreshold);
+ LOGUNIT_TEST_SUITE_END();
public:
- void testInherited() {
- Properties props;
- props.put(LOG4CXX_STR("log4j.rootLogger"),LOG4CXX_STR("DEBUG,VECTOR1"));
- props.put(LOG4CXX_STR("log4j.logger.org.apache.log4j.PropertyConfiguratorTest"), LOG4CXX_STR("inherited,VECTOR2"));
- props.put(LOG4CXX_STR("log4j.appender.VECTOR1"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
- props.put(LOG4CXX_STR("log4j.appender.VECTOR2"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
- PropertyConfigurator::configure(props);
- LoggerPtr logger = Logger::getLogger("org.apache.log4j.PropertyConfiguratorTest");
- LOGUNIT_ASSERT_EQUAL((int) Level::DEBUG_INT,
- logger->getEffectiveLevel()->toInt());
- Logger::getRootLogger()->setLevel(Level::getError());
- LOGUNIT_ASSERT_EQUAL((int) Level::ERROR_INT,
- logger->getEffectiveLevel()->toInt());
- LogManager::resetConfiguration();
- }
+ void testInherited()
+ {
+ Properties props;
+ props.put(LOG4CXX_STR("log4j.rootLogger"), LOG4CXX_STR("DEBUG,VECTOR1"));
+ props.put(LOG4CXX_STR("log4j.logger.org.apache.log4j.PropertyConfiguratorTest"), LOG4CXX_STR("inherited,VECTOR2"));
+ props.put(LOG4CXX_STR("log4j.appender.VECTOR1"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
+ props.put(LOG4CXX_STR("log4j.appender.VECTOR2"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
+ PropertyConfigurator::configure(props);
+ LoggerPtr logger = Logger::getLogger("org.apache.log4j.PropertyConfiguratorTest");
+ LOGUNIT_ASSERT_EQUAL((int) Level::DEBUG_INT,
+ logger->getEffectiveLevel()->toInt());
+ Logger::getRootLogger()->setLevel(Level::getError());
+ LOGUNIT_ASSERT_EQUAL((int) Level::ERROR_INT,
+ logger->getEffectiveLevel()->toInt());
+ LogManager::resetConfiguration();
+ }
- void testNull() {
- Properties props;
- props.put(LOG4CXX_STR("log4j.rootLogger"),LOG4CXX_STR("DEBUG,VECTOR1"));
- props.put(LOG4CXX_STR("log4j.logger.org.apache.log4j.PropertyConfiguratorTest"), LOG4CXX_STR("NuLL,VECTOR2"));
- props.put(LOG4CXX_STR("log4j.appender.VECTOR1"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
- props.put(LOG4CXX_STR("log4j.appender.VECTOR2"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
- PropertyConfigurator::configure(props);
- LoggerPtr logger = Logger::getLogger("org.apache.log4j.PropertyConfiguratorTest");
- LOGUNIT_ASSERT_EQUAL((int) Level::DEBUG_INT,
- logger->getEffectiveLevel()->toInt());
- Logger::getRootLogger()->setLevel(Level::getError());
- LOGUNIT_ASSERT_EQUAL((int) Level::ERROR_INT,
- logger->getEffectiveLevel()->toInt());
- LogManager::resetConfiguration();
- }
+ void testNull()
+ {
+ Properties props;
+ props.put(LOG4CXX_STR("log4j.rootLogger"), LOG4CXX_STR("DEBUG,VECTOR1"));
+ props.put(LOG4CXX_STR("log4j.logger.org.apache.log4j.PropertyConfiguratorTest"), LOG4CXX_STR("NuLL,VECTOR2"));
+ props.put(LOG4CXX_STR("log4j.appender.VECTOR1"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
+ props.put(LOG4CXX_STR("log4j.appender.VECTOR2"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
+ PropertyConfigurator::configure(props);
+ LoggerPtr logger = Logger::getLogger("org.apache.log4j.PropertyConfiguratorTest");
+ LOGUNIT_ASSERT_EQUAL((int) Level::DEBUG_INT,
+ logger->getEffectiveLevel()->toInt());
+ Logger::getRootLogger()->setLevel(Level::getError());
+ LOGUNIT_ASSERT_EQUAL((int) Level::ERROR_INT,
+ logger->getEffectiveLevel()->toInt());
+ LogManager::resetConfiguration();
+ }
- void testAppenderThreshold() {
- Properties props;
- props.put(LOG4CXX_STR("log4j.rootLogger"), LOG4CXX_STR("ALL,VECTOR1"));
- props.put(LOG4CXX_STR("log4j.appender.VECTOR1"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
- props.put(LOG4CXX_STR("log4j.appender.VECTOR1.threshold"), LOG4CXX_STR("WARN"));
- PropertyConfigurator::configure(props);
- LoggerPtr root(Logger::getRootLogger());
- VectorAppenderPtr appender(root->getAppender(LOG4CXX_STR("VECTOR1")));
- LOGUNIT_ASSERT_EQUAL((int) Level::WARN_INT, appender->getThreshold()->toInt());
- LOG4CXX_INFO(root, "Info message");
- LOG4CXX_WARN(root, "Warn message");
- LOG4CXX_WARN(root, "Error message");
- LOGUNIT_ASSERT_EQUAL((size_t) 2, appender->vector.size());
- LogManager::resetConfiguration();
- }
+ void testAppenderThreshold()
+ {
+ Properties props;
+ props.put(LOG4CXX_STR("log4j.rootLogger"), LOG4CXX_STR("ALL,VECTOR1"));
+ props.put(LOG4CXX_STR("log4j.appender.VECTOR1"), LOG4CXX_STR("org.apache.log4j.VectorAppender"));
+ props.put(LOG4CXX_STR("log4j.appender.VECTOR1.threshold"), LOG4CXX_STR("WARN"));
+ PropertyConfigurator::configure(props);
+ LoggerPtr root(Logger::getRootLogger());
+ VectorAppenderPtr appender(root->getAppender(LOG4CXX_STR("VECTOR1")));
+ LOGUNIT_ASSERT_EQUAL((int) Level::WARN_INT, appender->getThreshold()->toInt());
+ LOG4CXX_INFO(root, "Info message");
+ LOG4CXX_WARN(root, "Warn message");
+ LOG4CXX_WARN(root, "Error message");
+ LOGUNIT_ASSERT_EQUAL((size_t) 2, appender->vector.size());
+ LogManager::resetConfiguration();
+ }
};
diff --git a/src/test/cpp/rolling/filenamepatterntestcase.cpp b/src/test/cpp/rolling/filenamepatterntestcase.cpp
index de6b655..e703f50 100644
--- a/src/test/cpp/rolling/filenamepatterntestcase.cpp
+++ b/src/test/cpp/rolling/filenamepatterntestcase.cpp
@@ -35,149 +35,172 @@
/**
* Tests for FileNamePattern.
*
- *
- *
+ *
+ *
*
*/
-LOGUNIT_CLASS(FileNamePatternTestCase) {
- LOGUNIT_TEST_SUITE(FileNamePatternTestCase);
- LOGUNIT_TEST(testFormatInteger1);
- LOGUNIT_TEST(testFormatInteger2);
- LOGUNIT_TEST(testFormatInteger3);
- LOGUNIT_TEST(testFormatInteger4);
- LOGUNIT_TEST(testFormatInteger5);
- LOGUNIT_TEST(testFormatInteger6);
- LOGUNIT_TEST(testFormatInteger7);
- LOGUNIT_TEST(testFormatInteger8);
- LOGUNIT_TEST(testFormatInteger9);
- LOGUNIT_TEST(testFormatInteger10);
- LOGUNIT_TEST(testFormatInteger11);
- LOGUNIT_TEST(testFormatDate1);
-//
-// TODO: Problem with timezone offset
-// LOGUNIT_TEST(testFormatDate2);
-// LOGUNIT_TEST(testFormatDate3);
- LOGUNIT_TEST(testFormatDate4);
- LOGUNIT_TEST(testFormatDate5);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(FileNamePatternTestCase)
+{
+ LOGUNIT_TEST_SUITE(FileNamePatternTestCase);
+ LOGUNIT_TEST(testFormatInteger1);
+ LOGUNIT_TEST(testFormatInteger2);
+ LOGUNIT_TEST(testFormatInteger3);
+ LOGUNIT_TEST(testFormatInteger4);
+ LOGUNIT_TEST(testFormatInteger5);
+ LOGUNIT_TEST(testFormatInteger6);
+ LOGUNIT_TEST(testFormatInteger7);
+ LOGUNIT_TEST(testFormatInteger8);
+ LOGUNIT_TEST(testFormatInteger9);
+ LOGUNIT_TEST(testFormatInteger10);
+ LOGUNIT_TEST(testFormatInteger11);
+ LOGUNIT_TEST(testFormatDate1);
+ //
+ // TODO: Problem with timezone offset
+ // LOGUNIT_TEST(testFormatDate2);
+ // LOGUNIT_TEST(testFormatDate3);
+ LOGUNIT_TEST(testFormatDate4);
+ LOGUNIT_TEST(testFormatDate5);
+ LOGUNIT_TEST_SUITE_END();
public:
- LogString format(const LogString& pattern,
- const ObjectPtr& obj) {
- std::vector<PatternConverterPtr> converters;
- std::vector<FormattingInfoPtr> fields;
- PatternMap rules;
- rules.insert(PatternMap::value_type(LOG4CXX_STR("d"), (PatternConstructor) FileDatePatternConverter::newInstance));
- rules.insert(PatternMap::value_type(LOG4CXX_STR("i"), (PatternConstructor) IntegerPatternConverter::newInstance));
- PatternParser::parse(pattern, converters, fields, rules);
- LogString result;
- Pool pool;
- std::vector<FormattingInfoPtr>::const_iterator fieldIter = fields.begin();
- for(std::vector<PatternConverterPtr>::const_iterator converterIter = converters.begin();
- converterIter != converters.end();
- converterIter++, fieldIter++) {
- LogString::size_type i = result.length();
- (*converterIter)->format(obj, result, pool);
- (*fieldIter)->format(i, result);
- }
- return result;
- }
+ LogString format(const LogString & pattern,
+ const ObjectPtr & obj)
+ {
+ std::vector<PatternConverterPtr> converters;
+ std::vector<FormattingInfoPtr> fields;
+ PatternMap rules;
+ rules.insert(PatternMap::value_type(LOG4CXX_STR("d"), (PatternConstructor) FileDatePatternConverter::newInstance));
+ rules.insert(PatternMap::value_type(LOG4CXX_STR("i"), (PatternConstructor) IntegerPatternConverter::newInstance));
+ PatternParser::parse(pattern, converters, fields, rules);
+ LogString result;
+ Pool pool;
+ std::vector<FormattingInfoPtr>::const_iterator fieldIter = fields.begin();
+
+ for (std::vector<PatternConverterPtr>::const_iterator converterIter = converters.begin();
+ converterIter != converters.end();
+ converterIter++, fieldIter++)
+ {
+ LogString::size_type i = result.length();
+ (*converterIter)->format(obj, result, pool);
+ (*fieldIter)->format(i, result);
+ }
+
+ return result;
+ }
- void assertDatePattern(const LogString& pattern,
- int year,
- int month,
- int day, int hour,
- int min,
- const LogString& expected) {
- apr_time_exp_t tm;
- memset(&tm, 0, sizeof(tm));
- tm.tm_min = min;
- tm.tm_hour = hour;
- tm.tm_mday = day;
- tm.tm_mon = month;
- tm.tm_year = year - 1900;
- apr_time_t n;
- /*apr_status_t stat = */apr_time_exp_get(&n, &tm);
- ObjectPtr obj(new Date(n));
- LOGUNIT_ASSERT_EQUAL(expected, format(pattern, obj));
- }
+ void assertDatePattern(const LogString & pattern,
+ int year,
+ int month,
+ int day, int hour,
+ int min,
+ const LogString & expected)
+ {
+ apr_time_exp_t tm;
+ memset(&tm, 0, sizeof(tm));
+ tm.tm_min = min;
+ tm.tm_hour = hour;
+ tm.tm_mday = day;
+ tm.tm_mon = month;
+ tm.tm_year = year - 1900;
+ apr_time_t n;
+ /*apr_status_t stat = */apr_time_exp_get(&n, &tm);
+ ObjectPtr obj(new Date(n));
+ LOGUNIT_ASSERT_EQUAL(expected, format(pattern, obj));
+ }
- void assertIntegerPattern(const LogString& pattern, int value,
- const LogString& expected) {
- ObjectPtr obj(new Integer(value));
- LOGUNIT_ASSERT_EQUAL(expected, format(pattern, obj));
- }
+ void assertIntegerPattern(const LogString & pattern, int value,
+ const LogString & expected)
+ {
+ ObjectPtr obj(new Integer(value));
+ LOGUNIT_ASSERT_EQUAL(expected, format(pattern, obj));
+ }
- void testFormatInteger1() {
- assertIntegerPattern(LOG4CXX_STR("t"), 3, LOG4CXX_STR("t"));
- }
+ void testFormatInteger1()
+ {
+ assertIntegerPattern(LOG4CXX_STR("t"), 3, LOG4CXX_STR("t"));
+ }
- void testFormatInteger2() {
- assertIntegerPattern(LOG4CXX_STR("foo"), 3, LOG4CXX_STR("foo"));
- }
+ void testFormatInteger2()
+ {
+ assertIntegerPattern(LOG4CXX_STR("foo"), 3, LOG4CXX_STR("foo"));
+ }
- void testFormatInteger3() {
- assertIntegerPattern(LOG4CXX_STR("foo%"), 3, LOG4CXX_STR("foo%"));
- }
+ void testFormatInteger3()
+ {
+ assertIntegerPattern(LOG4CXX_STR("foo%"), 3, LOG4CXX_STR("foo%"));
+ }
- void testFormatInteger4() {
- assertIntegerPattern(LOG4CXX_STR("%ifoo"), 3, LOG4CXX_STR("3foo"));
- }
+ void testFormatInteger4()
+ {
+ assertIntegerPattern(LOG4CXX_STR("%ifoo"), 3, LOG4CXX_STR("3foo"));
+ }
- void testFormatInteger5() {
- assertIntegerPattern(LOG4CXX_STR("foo%ixixo"), 3, LOG4CXX_STR("foo3xixo"));
- }
+ void testFormatInteger5()
+ {
+ assertIntegerPattern(LOG4CXX_STR("foo%ixixo"), 3, LOG4CXX_STR("foo3xixo"));
+ }
- void testFormatInteger6() {
- assertIntegerPattern(LOG4CXX_STR("foo%i.log"), 3, LOG4CXX_STR("foo3.log"));
- }
+ void testFormatInteger6()
+ {
+ assertIntegerPattern(LOG4CXX_STR("foo%i.log"), 3, LOG4CXX_STR("foo3.log"));
+ }
- void testFormatInteger7() {
- assertIntegerPattern(LOG4CXX_STR("foo.%i.log"), 3, LOG4CXX_STR("foo.3.log"));
- }
+ void testFormatInteger7()
+ {
+ assertIntegerPattern(LOG4CXX_STR("foo.%i.log"), 3, LOG4CXX_STR("foo.3.log"));
+ }
- void testFormatInteger8() {
- assertIntegerPattern(LOG4CXX_STR("%ifoo%"), 3, LOG4CXX_STR("3foo%"));
- }
+ void testFormatInteger8()
+ {
+ assertIntegerPattern(LOG4CXX_STR("%ifoo%"), 3, LOG4CXX_STR("3foo%"));
+ }
- void testFormatInteger9() {
- assertIntegerPattern(LOG4CXX_STR("%ifoo%%"), 3, LOG4CXX_STR("3foo%"));
- }
+ void testFormatInteger9()
+ {
+ assertIntegerPattern(LOG4CXX_STR("%ifoo%%"), 3, LOG4CXX_STR("3foo%"));
+ }
- void testFormatInteger10() {
- assertIntegerPattern(LOG4CXX_STR("%%foo"), 3, LOG4CXX_STR("%foo"));
- }
+ void testFormatInteger10()
+ {
+ assertIntegerPattern(LOG4CXX_STR("%%foo"), 3, LOG4CXX_STR("%foo"));
+ }
- void testFormatInteger11() {
- assertIntegerPattern(LOG4CXX_STR("foo%ibar%i"), 3, LOG4CXX_STR("foo3bar3"));
- }
+ void testFormatInteger11()
+ {
+ assertIntegerPattern(LOG4CXX_STR("foo%ibar%i"), 3, LOG4CXX_STR("foo3bar3"));
+ }
- void testFormatDate1() {
- assertDatePattern(LOG4CXX_STR("foo%d{yyyy.MM.dd}"), 2003, 4, 20, 17, 55,
- LOG4CXX_STR("foo2003.05.20"));
- }
+ void testFormatDate1()
+ {
+ assertDatePattern(LOG4CXX_STR("foo%d{yyyy.MM.dd}"), 2003, 4, 20, 17, 55,
+ LOG4CXX_STR("foo2003.05.20"));
+ }
- void testFormatDate2() {
- assertDatePattern(LOG4CXX_STR("foo%d{yyyy.MM.dd HH:mm}"), 2003, 4, 20, 17, 55,
- LOG4CXX_STR("foo2003.05.20 17:55"));
- }
+ void testFormatDate2()
+ {
+ assertDatePattern(LOG4CXX_STR("foo%d{yyyy.MM.dd HH:mm}"), 2003, 4, 20, 17, 55,
+ LOG4CXX_STR("foo2003.05.20 17:55"));
+ }
- void testFormatDate3() {
- assertDatePattern(LOG4CXX_STR("%d{yyyy.MM.dd HH:mm} foo"), 2003, 4, 20, 17, 55,
- LOG4CXX_STR("2003.05.20 17:55 foo"));
- }
+ void testFormatDate3()
+ {
+ assertDatePattern(LOG4CXX_STR("%d{yyyy.MM.dd HH:mm} foo"), 2003, 4, 20, 17, 55,
+ LOG4CXX_STR("2003.05.20 17:55 foo"));
+ }
- void testFormatDate4() {
- assertDatePattern(LOG4CXX_STR("foo%dyyyy.MM.dd}"), 2003, 4, 20, 17, 55,
- LOG4CXX_STR("foo2003-05-20yyyy.MM.dd}"));
- }
+ void testFormatDate4()
+ {
+ assertDatePattern(LOG4CXX_STR("foo%dyyyy.MM.dd}"), 2003, 4, 20, 17, 55,
+ LOG4CXX_STR("foo2003-05-20yyyy.MM.dd}"));
+ }
- void testFormatDate5() {
- assertDatePattern(LOG4CXX_STR("foo%d{yyyy.MM.dd"), 2003, 4, 20, 17, 55,
- LOG4CXX_STR("foo2003-05-20{yyyy.MM.dd"));
- }
+ void testFormatDate5()
+ {
+ assertDatePattern(LOG4CXX_STR("foo%d{yyyy.MM.dd"), 2003, 4, 20, 17, 55,
+ LOG4CXX_STR("foo2003-05-20{yyyy.MM.dd"));
+ }
};
@@ -185,5 +208,5 @@
// See bug LOGCXX-204
//
#if !defined(_MSC_VER) || _MSC_VER > 1200
-LOGUNIT_TEST_SUITE_REGISTRATION(FileNamePatternTestCase);
+ LOGUNIT_TEST_SUITE_REGISTRATION(FileNamePatternTestCase);
#endif
diff --git a/src/test/cpp/rolling/filterbasedrollingtest.cpp b/src/test/cpp/rolling/filterbasedrollingtest.cpp
index c1e238a..c1f615b 100644
--- a/src/test/cpp/rolling/filterbasedrollingtest.cpp
+++ b/src/test/cpp/rolling/filterbasedrollingtest.cpp
@@ -38,106 +38,120 @@
*
* Tests of rolling file appender with a filter based triggering policy.
*
- *
- *
+ *
+ *
*
*/
-LOGUNIT_CLASS(FilterBasedRollingTest) {
- LOGUNIT_TEST_SUITE(FilterBasedRollingTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(FilterBasedRollingTest)
+{
+ LOGUNIT_TEST_SUITE(FilterBasedRollingTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST_SUITE_END();
public:
- void tearDown() {
- LogManager::getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ LogManager::getLoggerRepository()->resetConfiguration();
+ }
- /**
- * Test basic rolling functionality using configuration file.
- */
- void test1() {
- DOMConfigurator::configure(
- "./input/rolling/filter1.xml" /*, LogManager::getLoggerRepository() */);
+ /**
+ * Test basic rolling functionality using configuration file.
+ */
+ void test1()
+ {
+ DOMConfigurator::configure(
+ "./input/rolling/filter1.xml" /*, LogManager::getLoggerRepository() */);
- common(LOG4CXX_STR("output/filterBased-test1"));
- }
+ common(LOG4CXX_STR("output/filterBased-test1"));
+ }
- /**
- * Test basic rolling functionality using explicit configuration.
- * @remarks Test fails when run immediately after test1.
- */
- void test2() {
- LayoutPtr layout(new PatternLayout(LOG4CXX_STR("%m\n")));
- RollingFileAppenderPtr rfa(new RollingFileAppender());
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setLayout(layout);
+ /**
+ * Test basic rolling functionality using explicit configuration.
+ * @remarks Test fails when run immediately after test1.
+ */
+ void test2()
+ {
+ LayoutPtr layout(new PatternLayout(LOG4CXX_STR("%m\n")));
+ RollingFileAppenderPtr rfa(new RollingFileAppender());
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setLayout(layout);
- FixedWindowRollingPolicyPtr swrp(new FixedWindowRollingPolicy());
- FilterBasedTriggeringPolicyPtr fbtp(new FilterBasedTriggeringPolicy());
+ FixedWindowRollingPolicyPtr swrp(new FixedWindowRollingPolicy());
+ FilterBasedTriggeringPolicyPtr fbtp(new FilterBasedTriggeringPolicy());
- LevelRangeFilterPtr rf(new LevelRangeFilter());
- rf->setLevelMin(Level::getInfo());
- fbtp->addFilter(rf);
+ LevelRangeFilterPtr rf(new LevelRangeFilter());
+ rf->setLevelMin(Level::getInfo());
+ fbtp->addFilter(rf);
- Pool p;
- fbtp->activateOptions(p);
+ Pool p;
+ fbtp->activateOptions(p);
- swrp->setMinIndex(0);
- rfa->setFile(LOG4CXX_STR("output/filterBased-test2.log"));
- rfa->setAppend(false);
+ swrp->setMinIndex(0);
+ rfa->setFile(LOG4CXX_STR("output/filterBased-test2.log"));
+ rfa->setAppend(false);
- swrp->setFileNamePattern(LOG4CXX_STR("output/filterBased-test2.%i"));
- swrp->activateOptions(p);
+ swrp->setFileNamePattern(LOG4CXX_STR("output/filterBased-test2.%i"));
+ swrp->activateOptions(p);
- rfa->setRollingPolicy(swrp);
- rfa->setTriggeringPolicy(fbtp);
- rfa->activateOptions(p);
- Logger::getRootLogger()->addAppender(rfa);
- Logger::getRootLogger()->setLevel(Level::getDebug());
+ rfa->setRollingPolicy(swrp);
+ rfa->setTriggeringPolicy(fbtp);
+ rfa->activateOptions(p);
+ Logger::getRootLogger()->addAppender(rfa);
+ Logger::getRootLogger()->setLevel(Level::getDebug());
- common(LOG4CXX_STR("output/filterBased-test2"));
- }
+ common(LOG4CXX_STR("output/filterBased-test2"));
+ }
private:
- /**
- * Common aspects of test1 and test2
- */
- void common(const LogString& baseName) {
- LoggerPtr logger(Logger::getLogger("org.apache.log4j.rolling.FilterBasedRollingTest"));
+ /**
+ * Common aspects of test1 and test2
+ */
+ void common(const LogString & baseName)
+ {
+ LoggerPtr logger(Logger::getLogger("org.apache.log4j.rolling.FilterBasedRollingTest"));
- // Write exactly 10 bytes with each log
- for (int i = 0; i < 25; i++) {
- char msg[10];
+ // Write exactly 10 bytes with each log
+ for (int i = 0; i < 25; i++)
+ {
+ char msg[10];
#if defined(__STDC_LIB_EXT1__) || defined(__STDC_SECURE_LIB__)
- strcpy_s(msg, sizeof msg, "Hello---?");
+ strcpy_s(msg, sizeof msg, "Hello---?");
#else
- strcpy(msg, "Hello---?");
+ strcpy(msg, "Hello---?");
#endif
- if (i < 10) {
- msg[8] = (char) ('0' + i);
- LOG4CXX_DEBUG(logger, msg);
- } else if (i < 100) {
- msg[7] = (char) ('0' + (i / 10));
- msg[8] = (char) ('0' + (i % 10));
- if ((i % 10) == 0) {
- LOG4CXX_WARN(logger, msg);
- } else {
- LOG4CXX_DEBUG(logger, msg);
- }
- }
- }
- //
- // test was constructed to mimic SizeBasedRollingTest.test2
- //
- LOGUNIT_ASSERT_EQUAL(true,
- Compare::compare(baseName + LOG4CXX_STR(".log"), LogString(LOG4CXX_STR("witness/rolling/sbr-test2.log"))));
- LOGUNIT_ASSERT_EQUAL(true,
- Compare::compare(baseName + LOG4CXX_STR(".0"), LogString(LOG4CXX_STR("witness/rolling/sbr-test2.0"))));
- LOGUNIT_ASSERT_EQUAL(true,
- Compare::compare(baseName + LOG4CXX_STR(".1"), LogString(LOG4CXX_STR("witness/rolling/sbr-test2.1"))));
- }
+ if (i < 10)
+ {
+ msg[8] = (char) ('0' + i);
+ LOG4CXX_DEBUG(logger, msg);
+ }
+ else if (i < 100)
+ {
+ msg[7] = (char) ('0' + (i / 10));
+ msg[8] = (char) ('0' + (i % 10));
+
+ if ((i % 10) == 0)
+ {
+ LOG4CXX_WARN(logger, msg);
+ }
+ else
+ {
+ LOG4CXX_DEBUG(logger, msg);
+ }
+ }
+ }
+
+ //
+ // test was constructed to mimic SizeBasedRollingTest.test2
+ //
+ LOGUNIT_ASSERT_EQUAL(true,
+ Compare::compare(baseName + LOG4CXX_STR(".log"), LogString(LOG4CXX_STR("witness/rolling/sbr-test2.log"))));
+ LOGUNIT_ASSERT_EQUAL(true,
+ Compare::compare(baseName + LOG4CXX_STR(".0"), LogString(LOG4CXX_STR("witness/rolling/sbr-test2.0"))));
+ LOGUNIT_ASSERT_EQUAL(true,
+ Compare::compare(baseName + LOG4CXX_STR(".1"), LogString(LOG4CXX_STR("witness/rolling/sbr-test2.1"))));
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(FilterBasedRollingTest);
diff --git a/src/test/cpp/rolling/manualrollingtest.cpp b/src/test/cpp/rolling/manualrollingtest.cpp
index 4e479ac..188d4f3 100644
--- a/src/test/cpp/rolling/manualrollingtest.cpp
+++ b/src/test/cpp/rolling/manualrollingtest.cpp
@@ -43,252 +43,272 @@
/**
* Tests of explicit manual rolling of RollingFileAppenders.
*
- *
+ *
*
*/
-LOGUNIT_CLASS(ManualRollingTest) {
- LOGUNIT_TEST_SUITE(ManualRollingTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
-// TODO: Compression not yet implemented
-// LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(ManualRollingTest)
+{
+ LOGUNIT_TEST_SUITE(ManualRollingTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ // TODO: Compression not yet implemented
+ // LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- LoggerPtr logger;
+ LoggerPtr root;
+ LoggerPtr logger;
- public:
- void setUp() {
- logger = Logger::getLogger("org.apache.log4j.rolling.ManualRollingTest");
- root = Logger::getRootLogger();
- }
+public:
+ void setUp()
+ {
+ logger = Logger::getLogger("org.apache.log4j.rolling.ManualRollingTest");
+ root = Logger::getRootLogger();
+ }
- void tearDown() {
- LogManager::shutdown();
- }
+ void tearDown()
+ {
+ LogManager::shutdown();
+ }
- void common(RollingFileAppenderPtr& rfa,
- Pool& pool,
- LoggerPtr& logger1) {
- char msg[] = { 'H', 'e', 'l', 'l', 'o', '-', '-', '-', 'N', 0 };
+ void common(RollingFileAppenderPtr & rfa,
+ Pool & pool,
+ LoggerPtr & logger1)
+ {
+ char msg[] = { 'H', 'e', 'l', 'l', 'o', '-', '-', '-', 'N', 0 };
- // Write exactly 10 bytes with each log
- for (int i = 0; i < 25; i++) {
- if (i < 10) {
- msg[8] = '0' + i;
- } else if (i < 100) {
- int digit = i % 10;
- if (digit == 0) {
- rfa->rollover(pool);
- }
- msg[7] = '0' + i / 10;
- msg[8] = '0' + digit;
- }
- LOG4CXX_DEBUG(logger1, msg);
- }
- }
+ // Write exactly 10 bytes with each log
+ for (int i = 0; i < 25; i++)
+ {
+ if (i < 10)
+ {
+ msg[8] = '0' + i;
+ }
+ else if (i < 100)
+ {
+ int digit = i % 10;
+
+ if (digit == 0)
+ {
+ rfa->rollover(pool);
+ }
+
+ msg[7] = '0' + i / 10;
+ msg[8] = '0' + digit;
+ }
+
+ LOG4CXX_DEBUG(logger1, msg);
+ }
+ }
- /**
- * Tests that the lack of an explicit active file will use the
- * low index as the active file.
- *
- */
- void test1() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setAppend(false);
- rfa->setLayout(layout);
+ /**
+ * Tests that the lack of an explicit active file will use the
+ * low index as the active file.
+ *
+ */
+ void test1()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
- FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
- swrp->setMinIndex(0);
+ FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
+ swrp->setMinIndex(0);
- swrp->setFileNamePattern(LOG4CXX_STR("output/manual-test1.%i"));
- Pool p;
- swrp->activateOptions(p);
+ swrp->setFileNamePattern(LOG4CXX_STR("output/manual-test1.%i"));
+ Pool p;
+ swrp->activateOptions(p);
- rfa->setRollingPolicy(swrp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ rfa->setRollingPolicy(swrp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- common(rfa, p, logger);
+ common(rfa, p, logger);
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test1.0").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test1.1").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test1.2").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test1.0"),
- File("witness/rolling/sbr-test2.log")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test1.1"),
- File("witness/rolling/sbr-test2.0")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test1.2"),
- File("witness/rolling/sbr-test2.1")));
- }
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test1.0").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test1.1").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test1.2").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test1.0"),
+ File("witness/rolling/sbr-test2.log")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test1.1"),
+ File("witness/rolling/sbr-test2.0")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test1.2"),
+ File("witness/rolling/sbr-test2.1")));
+ }
- /**
- * Test basic rolling functionality with explicit setting of FileAppender.file.
- */
- void test2() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setAppend(false);
- rfa->setLayout(layout);
- rfa->setFile(LOG4CXX_STR("output/manual-test2.log"));
+ /**
+ * Test basic rolling functionality with explicit setting of FileAppender.file.
+ */
+ void test2()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
+ rfa->setFile(LOG4CXX_STR("output/manual-test2.log"));
- Pool p;
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ Pool p;
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- common(rfa, p, logger);
+ common(rfa, p, logger);
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test2.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test2.log.1").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test2.log.2").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test2.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test2.log.1").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test2.log.2").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test2.log"),
- File("witness/rolling/sbr-test2.log")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test2.log.1"),
- File("witness/rolling/sbr-test2.0")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test2.log.2"),
- File("witness/rolling/sbr-test2.1")));
- }
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test2.log"),
+ File("witness/rolling/sbr-test2.log")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test2.log.1"),
+ File("witness/rolling/sbr-test2.0")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test2.log.2"),
+ File("witness/rolling/sbr-test2.1")));
+ }
- /**
- * Same as testBasic but also with GZ compression.
- */
- void test3() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setAppend(false);
- rfa->setLayout(layout);
+ /**
+ * Same as testBasic but also with GZ compression.
+ */
+ void test3()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
- FixedWindowRollingPolicyPtr fwrp = new FixedWindowRollingPolicy();
+ FixedWindowRollingPolicyPtr fwrp = new FixedWindowRollingPolicy();
- fwrp->setMinIndex(0);
- rfa->setFile(LOG4CXX_STR("output/manual-test3.log"));
- fwrp->setFileNamePattern(LOG4CXX_STR("output/sbr-test3.%i.gz"));
- Pool p;
- fwrp->activateOptions(p);
- rfa->setRollingPolicy(fwrp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ fwrp->setMinIndex(0);
+ rfa->setFile(LOG4CXX_STR("output/manual-test3.log"));
+ fwrp->setFileNamePattern(LOG4CXX_STR("output/sbr-test3.%i.gz"));
+ Pool p;
+ fwrp->activateOptions(p);
+ rfa->setRollingPolicy(fwrp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- common(rfa, p, logger);
+ common(rfa, p, logger);
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test3.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test3.0.gz").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test3.1.gz").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test3.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test3.0.gz").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test3.1.gz").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test3.log"), File("witness/rolling/sbr-test3.log")));
- LOGUNIT_ASSERT_EQUAL(File("witness/rolling/sbr-test3.0.gz").length(p), File("output/manual-test3.0.gz").length(p));
- LOGUNIT_ASSERT_EQUAL(File("witness/rolling/sbr-test3.1.gz").length(p), File("output/manual-test3.1.gz").length(p));
- }
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test3.log"), File("witness/rolling/sbr-test3.log")));
+ LOGUNIT_ASSERT_EQUAL(File("witness/rolling/sbr-test3.0.gz").length(p), File("output/manual-test3.0.gz").length(p));
+ LOGUNIT_ASSERT_EQUAL(File("witness/rolling/sbr-test3.1.gz").length(p), File("output/manual-test3.1.gz").length(p));
+ }
- /**
- * Test basic rolling functionality with bogus path in file name pattern.
- */
- void test4() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setAppend(false);
- rfa->setLayout(layout);
- rfa->setFile(LOG4CXX_STR("output/manual-test4.log"));
+ /**
+ * Test basic rolling functionality with bogus path in file name pattern.
+ */
+ void test4()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
+ rfa->setFile(LOG4CXX_STR("output/manual-test4.log"));
- FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
+ FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
- swrp->setMinIndex(0);
+ swrp->setMinIndex(0);
- //
- // test4 directory should not exists. Should cause all rollover attempts to fail.
- //
- swrp->setFileNamePattern(LOG4CXX_STR("output/test4/manual-test4.%i"));
- Pool p;
- swrp->activateOptions(p);
+ //
+ // test4 directory should not exists. Should cause all rollover attempts to fail.
+ //
+ swrp->setFileNamePattern(LOG4CXX_STR("output/test4/manual-test4.%i"));
+ Pool p;
+ swrp->activateOptions(p);
- rfa->setRollingPolicy(swrp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ rfa->setRollingPolicy(swrp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- common(rfa, p, logger);
+ common(rfa, p, logger);
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test4.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test4.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test4.log"),
- File("witness/rolling/sbr-test4.log")));
- }
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test4.log"),
+ File("witness/rolling/sbr-test4.log")));
+ }
- /**
- * Checking handling of rename failures due to other access
- * to the indexed files.
- */
- void test5() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setAppend(false);
- rfa->setLayout(layout);
- rfa->setFile(LOG4CXX_STR("output/manual-test5.log"));
+ /**
+ * Checking handling of rename failures due to other access
+ * to the indexed files.
+ */
+ void test5()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
+ rfa->setFile(LOG4CXX_STR("output/manual-test5.log"));
- FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
+ FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
- swrp->setMinIndex(0);
+ swrp->setMinIndex(0);
- swrp->setFileNamePattern(LOG4CXX_STR("output/manual-test5.%i"));
- Pool p;
- swrp->activateOptions(p);
+ swrp->setFileNamePattern(LOG4CXX_STR("output/manual-test5.%i"));
+ Pool p;
+ swrp->activateOptions(p);
- rfa->setRollingPolicy(swrp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ rfa->setRollingPolicy(swrp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- //
- // put stray file about locked file
- FileOutputStream os1(LOG4CXX_STR("output/manual-test5.1"), false);
- os1.close(p);
+ //
+ // put stray file about locked file
+ FileOutputStream os1(LOG4CXX_STR("output/manual-test5.1"), false);
+ os1.close(p);
- FileOutputStream os0(LOG4CXX_STR("output/manual-test5.0"), false);
+ FileOutputStream os0(LOG4CXX_STR("output/manual-test5.0"), false);
- common(rfa, p, logger);
+ common(rfa, p, logger);
- os0.close(p);
+ os0.close(p);
- if (File("output/manual-test5.3").exists(p)) {
- //
- // looks like platform where open files can be renamed
- //
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.0").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.1").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.2").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.3").exists(p));
+ if (File("output/manual-test5.3").exists(p))
+ {
+ //
+ // looks like platform where open files can be renamed
+ //
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.0").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.1").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.2").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.3").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test5.log"),
- File("witness/rolling/sbr-test2.log")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test5.0"),
- File("witness/rolling/sbr-test2.0")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test5.1"),
- File("witness/rolling/sbr-test2.1")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test5.log"),
+ File("witness/rolling/sbr-test2.log")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test5.0"),
+ File("witness/rolling/sbr-test2.0")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test5.1"),
+ File("witness/rolling/sbr-test2.1")));
- } else {
- //
- // rollover attempts should all fail
- // so initial log file should have all log content
- // open file should be unaffected
- // stray file should have only been moved one slot.
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.0").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.2").exists(p));
+ }
+ else
+ {
+ //
+ // rollover attempts should all fail
+ // so initial log file should have all log content
+ // open file should be unaffected
+ // stray file should have only been moved one slot.
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.0").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/manual-test5.2").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test5.log"),
- File("witness/rolling/sbr-test4.log")));
- }
- }
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/manual-test5.log"),
+ File("witness/rolling/sbr-test4.log")));
+ }
+ }
};
diff --git a/src/test/cpp/rolling/obsoletedailyrollingfileappendertest.cpp b/src/test/cpp/rolling/obsoletedailyrollingfileappendertest.cpp
index 7e18e87..d04e50c 100644
--- a/src/test/cpp/rolling/obsoletedailyrollingfileappendertest.cpp
+++ b/src/test/cpp/rolling/obsoletedailyrollingfileappendertest.cpp
@@ -43,92 +43,102 @@
/**
* Tests the emulation of org.apache.log4j.DailyRollingFileAppender
*
- *
+ *
*
*/
-LOGUNIT_CLASS(ObsoleteDailyRollingFileAppenderTest) {
- LOGUNIT_TEST_SUITE(ObsoleteDailyRollingFileAppenderTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(ObsoleteDailyRollingFileAppenderTest)
+{
+ LOGUNIT_TEST_SUITE(ObsoleteDailyRollingFileAppenderTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST_SUITE_END();
public:
- void tearDown() {
- LogManager::shutdown();
- }
+ void tearDown()
+ {
+ LogManager::shutdown();
+ }
- /**
- * Test basic rolling functionality.
- */
- void test1() {
- PropertyConfigurator::configure(File("input/rolling/obsoleteDRFA1.properties"));
+ /**
+ * Test basic rolling functionality.
+ */
+ void test1()
+ {
+ PropertyConfigurator::configure(File("input/rolling/obsoleteDRFA1.properties"));
- int preCount = getFileCount("output", LOG4CXX_STR("obsoleteDRFA-test1.log."));
- LoggerPtr logger(Logger::getLogger("org.apache.log4j.ObsoleteDailyRollingFileAppenderTest"));
+ int preCount = getFileCount("output", LOG4CXX_STR("obsoleteDRFA-test1.log."));
+ LoggerPtr logger(Logger::getLogger("org.apache.log4j.ObsoleteDailyRollingFileAppenderTest"));
- char msg[11];
- strcpy(msg, "Hello---??");
+ char msg[11];
+ strcpy(msg, "Hello---??");
- for (int i = 0; i < 25; i++) {
- apr_sleep(100000);
- msg[8] = (char) ('0' + (i / 10));
- msg[9] = (char) ('0' + (i % 10));
- LOG4CXX_DEBUG(logger, msg);
- }
+ for (int i = 0; i < 25; i++)
+ {
+ apr_sleep(100000);
+ msg[8] = (char) ('0' + (i / 10));
+ msg[9] = (char) ('0' + (i % 10));
+ LOG4CXX_DEBUG(logger, msg);
+ }
- int postCount = getFileCount("output", LOG4CXX_STR("obsoleteDRFA-test1.log."));
- LOGUNIT_ASSERT_EQUAL(true, postCount > preCount);
- }
+ int postCount = getFileCount("output", LOG4CXX_STR("obsoleteDRFA-test1.log."));
+ LOGUNIT_ASSERT_EQUAL(true, postCount > preCount);
+ }
- /**
- * Test basic rolling functionality.
- * @deprecated Class under test is deprecated.
- */
- void test2() {
- PatternLayoutPtr layout(new PatternLayout(LOG4CXX_STR("%m%n")));
- log4cxx::DailyRollingFileAppenderPtr rfa(new log4cxx::DailyRollingFileAppender());
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setLayout(layout);
- rfa->setAppend(false);
- rfa->setFile(LOG4CXX_STR("output/obsoleteDRFA-test2.log"));
- rfa->setDatePattern(LOG4CXX_STR("'.'yyyy-MM-dd-HH_mm_ss"));
- Pool p;
- rfa->activateOptions(p);
- LoggerPtr root(Logger::getRootLogger());
- root->addAppender(rfa);
- LoggerPtr logger(Logger::getLogger("org.apache.log4j.ObsoleteDailyRollingAppenderTest"));
+ /**
+ * Test basic rolling functionality.
+ * @deprecated Class under test is deprecated.
+ */
+ void test2()
+ {
+ PatternLayoutPtr layout(new PatternLayout(LOG4CXX_STR("%m%n")));
+ log4cxx::DailyRollingFileAppenderPtr rfa(new log4cxx::DailyRollingFileAppender());
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setLayout(layout);
+ rfa->setAppend(false);
+ rfa->setFile(LOG4CXX_STR("output/obsoleteDRFA-test2.log"));
+ rfa->setDatePattern(LOG4CXX_STR("'.'yyyy-MM-dd-HH_mm_ss"));
+ Pool p;
+ rfa->activateOptions(p);
+ LoggerPtr root(Logger::getRootLogger());
+ root->addAppender(rfa);
+ LoggerPtr logger(Logger::getLogger("org.apache.log4j.ObsoleteDailyRollingAppenderTest"));
- int preCount = getFileCount("output", LOG4CXX_STR("obsoleteDRFA-test2.log."));
+ int preCount = getFileCount("output", LOG4CXX_STR("obsoleteDRFA-test2.log."));
- char msg[11];
- strcpy(msg, "Hello---??");
- for (int i = 0; i < 25; i++) {
- apr_sleep(100000);
- msg[8] = (char) ('0' + i / 10);
- msg[9] = (char) ('0' + i % 10);
- LOG4CXX_DEBUG(logger, msg);
- }
+ char msg[11];
+ strcpy(msg, "Hello---??");
- int postCount = getFileCount("output", LOG4CXX_STR("obsoleteDRFA-test2.log."));
- LOGUNIT_ASSERT_EQUAL(true, postCount > preCount);
- }
+ for (int i = 0; i < 25; i++)
+ {
+ apr_sleep(100000);
+ msg[8] = (char) ('0' + i / 10);
+ msg[9] = (char) ('0' + i % 10);
+ LOG4CXX_DEBUG(logger, msg);
+ }
+
+ int postCount = getFileCount("output", LOG4CXX_STR("obsoleteDRFA-test2.log."));
+ LOGUNIT_ASSERT_EQUAL(true, postCount > preCount);
+ }
private:
- static int getFileCount(const char* dir, const LogString& initial) {
- Pool p;
- std::vector<LogString> files(File(dir).list(p));
- int count = 0;
+ static int getFileCount(const char* dir, const LogString & initial)
+ {
+ Pool p;
+ std::vector<LogString> files(File(dir).list(p));
+ int count = 0;
- for (size_t i = 0; i < files.size(); i++) {
- if (StringHelper::startsWith(files[i], initial)) {
- count++;
- }
- }
+ for (size_t i = 0; i < files.size(); i++)
+ {
+ if (StringHelper::startsWith(files[i], initial))
+ {
+ count++;
+ }
+ }
- return count;
- }
+ return count;
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(ObsoleteDailyRollingFileAppenderTest);
diff --git a/src/test/cpp/rolling/obsoleterollingfileappendertest.cpp b/src/test/cpp/rolling/obsoleterollingfileappendertest.cpp
index c3840fb..a7ead2b 100644
--- a/src/test/cpp/rolling/obsoleterollingfileappendertest.cpp
+++ b/src/test/cpp/rolling/obsoleterollingfileappendertest.cpp
@@ -31,113 +31,127 @@
#include <log4cxx/rollingfileappender.h>
#include <log4cxx/helpers/stringhelper.h>
- using namespace log4cxx;
- using namespace log4cxx::xml;
- using namespace log4cxx::filter;
- using namespace log4cxx::helpers;
+using namespace log4cxx;
+using namespace log4cxx::xml;
+using namespace log4cxx::filter;
+using namespace log4cxx::helpers;
/**
* Tests the emulation of org.apache.log4j.RollingFileAppender
*
- *
+ *
*
*/
- LOGUNIT_CLASS(ObsoleteRollingFileAppenderTest) {
- LOGUNIT_TEST_SUITE(ObsoleteRollingFileAppenderTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(testIsOptionHandler);
- LOGUNIT_TEST(testClassForName);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(ObsoleteRollingFileAppenderTest)
+{
+ LOGUNIT_TEST_SUITE(ObsoleteRollingFileAppenderTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(testIsOptionHandler);
+ LOGUNIT_TEST(testClassForName);
+ LOGUNIT_TEST_SUITE_END();
- public:
+public:
- void tearDown() {
- LogManager::shutdown();
- }
+ void tearDown()
+ {
+ LogManager::shutdown();
+ }
- /**
- * Test basic rolling functionality.
- */
- void test1() {
- PropertyConfigurator::configure(File("input/rolling/obsoleteRFA1.properties"));
+ /**
+ * Test basic rolling functionality.
+ */
+ void test1()
+ {
+ PropertyConfigurator::configure(File("input/rolling/obsoleteRFA1.properties"));
- char msg[] = { 'H', 'e', 'l', 'l', 'o', '-', '-', '-', '?', 0};
- LoggerPtr logger(Logger::getLogger("org.apache.logj4.ObsoleteRollingFileAppenderTest"));
+ char msg[] = { 'H', 'e', 'l', 'l', 'o', '-', '-', '-', '?', 0};
+ LoggerPtr logger(Logger::getLogger("org.apache.logj4.ObsoleteRollingFileAppenderTest"));
- // Write exactly 10 bytes with each log
- for (int i = 0; i < 25; i++) {
- apr_sleep(100000);
+ // Write exactly 10 bytes with each log
+ for (int i = 0; i < 25; i++)
+ {
+ apr_sleep(100000);
- if (i < 10) {
- msg[8] = (char) ('0' + i);
- LOG4CXX_DEBUG(logger, msg);
- } else if (i < 100) {
- msg[7] = (char) ('0' + i / 10);
- msg[8] = (char) ('0' + i % 10);
- LOG4CXX_DEBUG(logger, msg);
- }
- }
+ if (i < 10)
+ {
+ msg[8] = (char) ('0' + i);
+ LOG4CXX_DEBUG(logger, msg);
+ }
+ else if (i < 100)
+ {
+ msg[7] = (char) ('0' + i / 10);
+ msg[8] = (char) ('0' + i % 10);
+ LOG4CXX_DEBUG(logger, msg);
+ }
+ }
- Pool p;
- LOGUNIT_ASSERT_EQUAL(true, File("output/obsoleteRFA-test1.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/obsoleteRFA-test1.log.1").exists(p));
- }
+ Pool p;
+ LOGUNIT_ASSERT_EQUAL(true, File("output/obsoleteRFA-test1.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/obsoleteRFA-test1.log.1").exists(p));
+ }
- /**
- * Test basic rolling functionality.
- * @deprecated Class under test is deprecated.
- */
- void test2() {
- PatternLayoutPtr layout(new PatternLayout(LOG4CXX_STR("%m\n")));
- log4cxx::RollingFileAppenderPtr rfa(
- new log4cxx::RollingFileAppender());
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setLayout(layout);
- rfa->setOption(LOG4CXX_STR("append"), LOG4CXX_STR("false"));
- rfa->setMaximumFileSize(100);
- rfa->setFile(LOG4CXX_STR("output/obsoleteRFA-test2.log"));
- Pool p;
- rfa->activateOptions(p);
- LoggerPtr root(Logger::getRootLogger());
- root->addAppender(rfa);
+ /**
+ * Test basic rolling functionality.
+ * @deprecated Class under test is deprecated.
+ */
+ void test2()
+ {
+ PatternLayoutPtr layout(new PatternLayout(LOG4CXX_STR("%m\n")));
+ log4cxx::RollingFileAppenderPtr rfa(
+ new log4cxx::RollingFileAppender());
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setLayout(layout);
+ rfa->setOption(LOG4CXX_STR("append"), LOG4CXX_STR("false"));
+ rfa->setMaximumFileSize(100);
+ rfa->setFile(LOG4CXX_STR("output/obsoleteRFA-test2.log"));
+ Pool p;
+ rfa->activateOptions(p);
+ LoggerPtr root(Logger::getRootLogger());
+ root->addAppender(rfa);
- char msg[] = { 'H', 'e', 'l', 'l', 'o', '-', '-', '-', '?', 0};
- LoggerPtr logger(Logger::getLogger("org.apache.logj4.ObsoleteRollingFileAppenderTest"));
+ char msg[] = { 'H', 'e', 'l', 'l', 'o', '-', '-', '-', '?', 0};
+ LoggerPtr logger(Logger::getLogger("org.apache.logj4.ObsoleteRollingFileAppenderTest"));
- // Write exactly 10 bytes with each log
- for (int i = 0; i < 25; i++) {
- apr_sleep(100000);
+ // Write exactly 10 bytes with each log
+ for (int i = 0; i < 25; i++)
+ {
+ apr_sleep(100000);
- if (i < 10) {
- msg[8] = (char) ('0' + i);
- LOG4CXX_DEBUG(logger, msg);
- } else if (i < 100) {
- msg[7] = (char) ('0' + i / 10);
- msg[8] = (char) ('0' + i % 10);
- LOG4CXX_DEBUG(logger, msg);
- }
- }
+ if (i < 10)
+ {
+ msg[8] = (char) ('0' + i);
+ LOG4CXX_DEBUG(logger, msg);
+ }
+ else if (i < 100)
+ {
+ msg[7] = (char) ('0' + i / 10);
+ msg[8] = (char) ('0' + i % 10);
+ LOG4CXX_DEBUG(logger, msg);
+ }
+ }
- LOGUNIT_ASSERT_EQUAL(true, File("output/obsoleteRFA-test2.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/obsoleteRFA-test2.log.1").exists(p));
- }
+ LOGUNIT_ASSERT_EQUAL(true, File("output/obsoleteRFA-test2.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/obsoleteRFA-test2.log.1").exists(p));
+ }
- /**
- * Tests if class is declared to support the OptionHandler interface.
- * See LOGCXX-136.
- */
- void testIsOptionHandler() {
- RollingFileAppenderPtr rfa(new RollingFileAppender());
- LOGUNIT_ASSERT_EQUAL(true, rfa->instanceof(log4cxx::spi::OptionHandler::getStaticClass()));
- }
+ /**
+ * Tests if class is declared to support the OptionHandler interface.
+ * See LOGCXX-136.
+ */
+ void testIsOptionHandler()
+ {
+ RollingFileAppenderPtr rfa(new RollingFileAppender());
+ LOGUNIT_ASSERT_EQUAL(true, rfa->instanceof(log4cxx::spi::OptionHandler::getStaticClass()));
+ }
- void testClassForName() {
- LogString className(LOG4CXX_STR("org.apache.log4j.RollingFileAppender"));
- const Class& myclass = Class::forName(className);
- LOGUNIT_ASSERT_EQUAL(className, LogString(myclass.getName()));
- }
+ void testClassForName()
+ {
+ LogString className(LOG4CXX_STR("org.apache.log4j.RollingFileAppender"));
+ const Class& myclass = Class::forName(className);
+ LOGUNIT_ASSERT_EQUAL(className, LogString(myclass.getName()));
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(ObsoleteRollingFileAppenderTest);
diff --git a/src/test/cpp/rolling/sizebasedrollingtest.cpp b/src/test/cpp/rolling/sizebasedrollingtest.cpp
index e036b3c..ccee138 100644
--- a/src/test/cpp/rolling/sizebasedrollingtest.cpp
+++ b/src/test/cpp/rolling/sizebasedrollingtest.cpp
@@ -44,307 +44,325 @@
*
* Do not forget to call activateOptions when configuring programatically.
*
- *
+ *
*
*/
-LOGUNIT_CLASS(SizeBasedRollingTest) {
- LOGUNIT_TEST_SUITE(SizeBasedRollingTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST_SUITE_END();
+LOGUNIT_CLASS(SizeBasedRollingTest)
+{
+ LOGUNIT_TEST_SUITE(SizeBasedRollingTest);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- LoggerPtr logger;
+ LoggerPtr root;
+ LoggerPtr logger;
- public:
- void setUp() {
- PatternLayoutPtr layout(new PatternLayout(LOG4CXX_STR("%d %level %c -%m%n")));
- AppenderPtr ca(new ConsoleAppender(layout));
- ca->setName(LOG4CXX_STR("CONSOLE"));
- root = Logger::getRootLogger();
- root->addAppender(ca);
- logger = Logger::getLogger("org.apache.log4j.rolling.SizeBasedRollingTest");
- }
+public:
+ void setUp()
+ {
+ PatternLayoutPtr layout(new PatternLayout(LOG4CXX_STR("%d %level %c -%m%n")));
+ AppenderPtr ca(new ConsoleAppender(layout));
+ ca->setName(LOG4CXX_STR("CONSOLE"));
+ root = Logger::getRootLogger();
+ root->addAppender(ca);
+ logger = Logger::getLogger("org.apache.log4j.rolling.SizeBasedRollingTest");
+ }
- void tearDown() {
- LogManager::shutdown();
- }
+ void tearDown()
+ {
+ LogManager::shutdown();
+ }
- void common(LoggerPtr& logger1, int /*sleep*/) {
- char msg[] = { 'H', 'e', 'l', 'l', 'o', '-', '-', '-', 'N', 0 };
+ void common(LoggerPtr & logger1, int /*sleep*/)
+ {
+ char msg[] = { 'H', 'e', 'l', 'l', 'o', '-', '-', '-', 'N', 0 };
- // Write exactly 10 bytes with each log
- for (int i = 0; i < 25; i++) {
- if (i < 10) {
- msg[8] = '0' + i;
- } else if (i < 100) {
- msg[7] = '0' + i / 10;
- msg[8] = '0' + i % 10;
- }
- LOG4CXX_DEBUG(logger1, msg);
- }
- }
+ // Write exactly 10 bytes with each log
+ for (int i = 0; i < 25; i++)
+ {
+ if (i < 10)
+ {
+ msg[8] = '0' + i;
+ }
+ else if (i < 100)
+ {
+ msg[7] = '0' + i / 10;
+ msg[8] = '0' + i % 10;
+ }
+
+ LOG4CXX_DEBUG(logger1, msg);
+ }
+ }
- /**
- * Tests that the lack of an explicit active file will use the
- * low index as the active file.
- *
- */
- void test1() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setAppend(false);
- rfa->setLayout(layout);
+ /**
+ * Tests that the lack of an explicit active file will use the
+ * low index as the active file.
+ *
+ */
+ void test1()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
- FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
- SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
+ FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
+ SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
- sbtp->setMaxFileSize(100);
- swrp->setMinIndex(0);
+ sbtp->setMaxFileSize(100);
+ swrp->setMinIndex(0);
- swrp->setFileNamePattern(LOG4CXX_STR("output/sizeBased-test1.%i"));
- Pool p;
- swrp->activateOptions(p);
+ swrp->setFileNamePattern(LOG4CXX_STR("output/sizeBased-test1.%i"));
+ Pool p;
+ swrp->activateOptions(p);
- rfa->setRollingPolicy(swrp);
- rfa->setTriggeringPolicy(sbtp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ rfa->setRollingPolicy(swrp);
+ rfa->setTriggeringPolicy(sbtp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- common(logger, 0);
+ common(logger, 0);
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test1.0").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test1.1").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test1.2").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test1.0"),
- File("witness/rolling/sbr-test2.log")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test1.1"),
- File("witness/rolling/sbr-test2.0")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test1.2"),
- File("witness/rolling/sbr-test2.1")));
- }
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test1.0").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test1.1").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test1.2").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test1.0"),
+ File("witness/rolling/sbr-test2.log")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test1.1"),
+ File("witness/rolling/sbr-test2.0")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test1.2"),
+ File("witness/rolling/sbr-test2.1")));
+ }
- /**
- * Test basic rolling functionality with explicit setting of FileAppender.file.
- */
- void test2() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setAppend(false);
- rfa->setLayout(layout);
- rfa->setFile(LOG4CXX_STR("output/sizeBased-test2.log"));
+ /**
+ * Test basic rolling functionality with explicit setting of FileAppender.file.
+ */
+ void test2()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
+ rfa->setFile(LOG4CXX_STR("output/sizeBased-test2.log"));
- FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
- SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
+ FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
+ SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
- sbtp->setMaxFileSize(100);
- swrp->setMinIndex(0);
+ sbtp->setMaxFileSize(100);
+ swrp->setMinIndex(0);
- swrp->setFileNamePattern(LOG4CXX_STR("output/sizeBased-test2.%i"));
- Pool p;
- swrp->activateOptions(p);
+ swrp->setFileNamePattern(LOG4CXX_STR("output/sizeBased-test2.%i"));
+ Pool p;
+ swrp->activateOptions(p);
- rfa->setRollingPolicy(swrp);
- rfa->setTriggeringPolicy(sbtp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ rfa->setRollingPolicy(swrp);
+ rfa->setTriggeringPolicy(sbtp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- common(logger, 0);
+ common(logger, 0);
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test2.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test2.0").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test2.1").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test2.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test2.0").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test2.1").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test2.log"),
- File("witness/rolling/sbr-test2.log")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test2.0"),
- File("witness/rolling/sbr-test2.0")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test2.1"),
- File("witness/rolling/sbr-test2.1")));
- }
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test2.log"),
+ File("witness/rolling/sbr-test2.log")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test2.0"),
+ File("witness/rolling/sbr-test2.0")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test2.1"),
+ File("witness/rolling/sbr-test2.1")));
+ }
- /**
- * Same as testBasic but also with GZ compression.
- */
- void test3() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setAppend(false);
- rfa->setLayout(layout);
+ /**
+ * Same as testBasic but also with GZ compression.
+ */
+ void test3()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
- FixedWindowRollingPolicyPtr fwrp = new FixedWindowRollingPolicy();
- SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
+ FixedWindowRollingPolicyPtr fwrp = new FixedWindowRollingPolicy();
+ SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
- sbtp->setMaxFileSize(100);
- fwrp->setMinIndex(0);
- rfa->setFile(LOG4CXX_STR("output/sbr-test3.log"));
- fwrp->setFileNamePattern(LOG4CXX_STR("output/sbr-test3.%i.gz"));
- Pool p;
- fwrp->activateOptions(p);
- rfa->setRollingPolicy(fwrp);
- rfa->setTriggeringPolicy(sbtp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ sbtp->setMaxFileSize(100);
+ fwrp->setMinIndex(0);
+ rfa->setFile(LOG4CXX_STR("output/sbr-test3.log"));
+ fwrp->setFileNamePattern(LOG4CXX_STR("output/sbr-test3.%i.gz"));
+ Pool p;
+ fwrp->activateOptions(p);
+ rfa->setRollingPolicy(fwrp);
+ rfa->setTriggeringPolicy(sbtp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- common(logger, 100);
+ common(logger, 100);
- LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test3.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test3.0.gz").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test3.1.gz").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test3.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test3.0.gz").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test3.1.gz").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sbr-test3.log"), File("witness/rolling/sbr-test3.log")));
- LOGUNIT_ASSERT_EQUAL(File("witness/rolling/sbr-test3.0.gz").length(p), File("output/sbr-test3.0.gz").length(p));
- LOGUNIT_ASSERT_EQUAL(File("witness/rolling/sbr-test3.1.gz").length(p), File("output/sbr-test3.1.gz").length(p));
- }
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sbr-test3.log"), File("witness/rolling/sbr-test3.log")));
+ LOGUNIT_ASSERT_EQUAL(File("witness/rolling/sbr-test3.0.gz").length(p), File("output/sbr-test3.0.gz").length(p));
+ LOGUNIT_ASSERT_EQUAL(File("witness/rolling/sbr-test3.1.gz").length(p), File("output/sbr-test3.1.gz").length(p));
+ }
- /**
- * Test basic rolling functionality with bogus path in file name pattern.
- */
- void test4() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setAppend(false);
- rfa->setLayout(layout);
- rfa->setFile(LOG4CXX_STR("output/sizeBased-test4.log"));
+ /**
+ * Test basic rolling functionality with bogus path in file name pattern.
+ */
+ void test4()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
+ rfa->setFile(LOG4CXX_STR("output/sizeBased-test4.log"));
- FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
- SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
+ FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
+ SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
- sbtp->setMaxFileSize(100);
- swrp->setMinIndex(0);
+ sbtp->setMaxFileSize(100);
+ swrp->setMinIndex(0);
- //
- // test4 directory should not exists. Should cause all rollover attempts to fail.
- //
- swrp->setFileNamePattern(LOG4CXX_STR("output/test4/sizeBased-test4.%i"));
- Pool p;
- swrp->activateOptions(p);
+ //
+ // test4 directory should not exists. Should cause all rollover attempts to fail.
+ //
+ swrp->setFileNamePattern(LOG4CXX_STR("output/test4/sizeBased-test4.%i"));
+ Pool p;
+ swrp->activateOptions(p);
- rfa->setRollingPolicy(swrp);
- rfa->setTriggeringPolicy(sbtp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ rfa->setRollingPolicy(swrp);
+ rfa->setTriggeringPolicy(sbtp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- common(logger, 0);
+ common(logger, 0);
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test4.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test4.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test4.log"),
- File("witness/rolling/sbr-test4.log")));
- }
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test4.log"),
+ File("witness/rolling/sbr-test4.log")));
+ }
- /**
- * Checking handling of rename failures due to other access
- * to the indexed files.
- */
- void test5() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setName(LOG4CXX_STR("ROLLING"));
- rfa->setAppend(false);
- rfa->setLayout(layout);
- rfa->setFile(LOG4CXX_STR("output/sizeBased-test5.log"));
+ /**
+ * Checking handling of rename failures due to other access
+ * to the indexed files.
+ */
+ void test5()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setName(LOG4CXX_STR("ROLLING"));
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
+ rfa->setFile(LOG4CXX_STR("output/sizeBased-test5.log"));
- FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
- SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
+ FixedWindowRollingPolicyPtr swrp = new FixedWindowRollingPolicy();
+ SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
- sbtp->setMaxFileSize(100);
- swrp->setMinIndex(0);
+ sbtp->setMaxFileSize(100);
+ swrp->setMinIndex(0);
- swrp->setFileNamePattern(LOG4CXX_STR("output/sizeBased-test5.%i"));
- Pool p;
- swrp->activateOptions(p);
+ swrp->setFileNamePattern(LOG4CXX_STR("output/sizeBased-test5.%i"));
+ Pool p;
+ swrp->activateOptions(p);
- rfa->setRollingPolicy(swrp);
- rfa->setTriggeringPolicy(sbtp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ rfa->setRollingPolicy(swrp);
+ rfa->setTriggeringPolicy(sbtp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- //
- // put stray file about locked file
- FileOutputStream os1(LOG4CXX_STR("output/sizeBased-test5.1"), false);
- os1.close(p);
+ //
+ // put stray file about locked file
+ FileOutputStream os1(LOG4CXX_STR("output/sizeBased-test5.1"), false);
+ os1.close(p);
- FileOutputStream os0(LOG4CXX_STR("output/sizeBased-test5.0"), false);
+ FileOutputStream os0(LOG4CXX_STR("output/sizeBased-test5.0"), false);
- common(logger, 0);
+ common(logger, 0);
- os0.close(p);
+ os0.close(p);
- if (File("output/sizeBased-test5.3").exists(p)) {
- //
- // looks like platform where open files can be renamed
- //
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.0").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.1").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.2").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.3").exists(p));
+ if (File("output/sizeBased-test5.3").exists(p))
+ {
+ //
+ // looks like platform where open files can be renamed
+ //
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.0").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.1").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.2").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.3").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test5.log"),
- File("witness/rolling/sbr-test2.log")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test5.0"),
- File("witness/rolling/sbr-test2.0")));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test5.1"),
- File("witness/rolling/sbr-test2.1")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test5.log"),
+ File("witness/rolling/sbr-test2.log")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test5.0"),
+ File("witness/rolling/sbr-test2.0")));
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test5.1"),
+ File("witness/rolling/sbr-test2.1")));
- } else {
- //
- // rollover attempts should all fail
- // so initial log file should have all log content
- // open file should be unaffected
- // stray file should have only been moved one slot.
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.0").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.2").exists(p));
+ }
+ else
+ {
+ //
+ // rollover attempts should all fail
+ // so initial log file should have all log content
+ // open file should be unaffected
+ // stray file should have only been moved one slot.
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.0").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sizeBased-test5.2").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test5.log"),
- File("witness/rolling/sbr-test4.log")));
- }
- }
-
- /**
- * Same as testBasic but also with GZ compression.
- */
- void test6() {
- PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
- RollingFileAppenderPtr rfa = new RollingFileAppender();
- rfa->setAppend(false);
- rfa->setLayout(layout);
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sizeBased-test5.log"),
+ File("witness/rolling/sbr-test4.log")));
+ }
+ }
- FixedWindowRollingPolicyPtr fwrp = new FixedWindowRollingPolicy();
- SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
+ /**
+ * Same as testBasic but also with GZ compression.
+ */
+ void test6()
+ {
+ PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m\n"));
+ RollingFileAppenderPtr rfa = new RollingFileAppender();
+ rfa->setAppend(false);
+ rfa->setLayout(layout);
- sbtp->setMaxFileSize(100);
- fwrp->setMinIndex(0);
- rfa->setFile(LOG4CXX_STR("output/sbr-test6.log"));
- fwrp->setFileNamePattern(LOG4CXX_STR("output/sbr-test6.%i.zip"));
- Pool p;
- fwrp->activateOptions(p);
- rfa->setRollingPolicy(fwrp);
- rfa->setTriggeringPolicy(sbtp);
- rfa->activateOptions(p);
- root->addAppender(rfa);
+ FixedWindowRollingPolicyPtr fwrp = new FixedWindowRollingPolicy();
+ SizeBasedTriggeringPolicyPtr sbtp = new SizeBasedTriggeringPolicy();
- common(logger, 100);
+ sbtp->setMaxFileSize(100);
+ fwrp->setMinIndex(0);
+ rfa->setFile(LOG4CXX_STR("output/sbr-test6.log"));
+ fwrp->setFileNamePattern(LOG4CXX_STR("output/sbr-test6.%i.zip"));
+ Pool p;
+ fwrp->activateOptions(p);
+ rfa->setRollingPolicy(fwrp);
+ rfa->setTriggeringPolicy(sbtp);
+ rfa->activateOptions(p);
+ root->addAppender(rfa);
- LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test6.log").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test6.0.zip").exists(p));
- LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test6.1.zip").exists(p));
+ common(logger, 100);
- LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sbr-test6.log"), File("witness/rolling/sbr-test3.log")));
- }
-
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test6.log").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test6.0.zip").exists(p));
+ LOGUNIT_ASSERT_EQUAL(true, File("output/sbr-test6.1.zip").exists(p));
+
+ LOGUNIT_ASSERT_EQUAL(true, Compare::compare(File("output/sbr-test6.log"), File("witness/rolling/sbr-test3.log")));
+ }
+
};
diff --git a/src/test/cpp/rolling/timebasedrollingtest.cpp b/src/test/cpp/rolling/timebasedrollingtest.cpp
index 76b8678..d3ab1c9 100644
--- a/src/test/cpp/rolling/timebasedrollingtest.cpp
+++ b/src/test/cpp/rolling/timebasedrollingtest.cpp
@@ -32,16 +32,16 @@
#include <apr_strings.h>
#include <apr_time.h>
#ifndef INT64_C
-#define INT64_C(x) x ## LL
+ #define INT64_C(x) x ## LL
#endif
// We often need one and the same date pattern, but in different contexts, to either easily embed it
// into other string literals or as an object. While macros are hard to debug, embedding into string
// literals is easier this way, because the compiler can automatically collaps them, and if we have
// one macro already, a second for a similar purpose shouldn't hurt as well.
-#define DATE_PATTERN "yyyy-MM-dd_HH_mm_ss"
-#define DATE_PATTERN_STR LogString(LOG4CXX_STR("yyyy-MM-dd_HH_mm_ss"))
-#define PATTERN_LAYOUT LOG4CXX_STR("%c{1} - %m%n")
+#define DATE_PATTERN "yyyy-MM-dd_HH_mm_ss"
+#define DATE_PATTERN_STR LogString(LOG4CXX_STR("yyyy-MM-dd_HH_mm_ss"))
+#define PATTERN_LAYOUT LOG4CXX_STR("%c{1} - %m%n")
using namespace log4cxx;
using namespace log4cxx::helpers;
@@ -69,13 +69,13 @@
LOGUNIT_CLASS(TimeBasedRollingTest)
{
LOGUNIT_TEST_SUITE(TimeBasedRollingTest);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST(test5);
- LOGUNIT_TEST(test6);
- LOGUNIT_TEST(test7);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST(test5);
+ LOGUNIT_TEST(test6);
+ LOGUNIT_TEST(test7);
LOGUNIT_TEST_SUITE_END();
private:
@@ -111,24 +111,25 @@
* therefore "now" could have easily past and the first file name will never be found, because
* the rolling appender creates it with a newer "now", at least one second in the future.
* </p>
- * @param[in,out] pool
- * @param[in] prefix
- * @param[in] fileNames
- * param[in,opt] withCompression
- * param[in,opt] startInFuture
+ * @param[in,out] pool
+ * @param[in] prefix
+ * @param[in] fileNames
+ * param[in,opt] withCompression
+ * param[in,opt] startInFuture
*/
template<size_t N>
- void buildTsFileNames( Pool& pool,
- const logchar* prefix,
- LogString (&fileNames)[N],
- bool withCompression = false,
- bool startInFuture = false)
+ void buildTsFileNames( Pool & pool,
+ const logchar * prefix,
+ LogString (&fileNames)[N],
+ bool withCompression = false,
+ bool startInFuture = false)
{
- SimpleDateFormat sdf(DATE_PATTERN_STR);
- apr_time_t now(apr_time_now());
- LogString ext(withCompression ? LOG4CXX_STR(".gz") : LOG4CXX_STR(""));
+ SimpleDateFormat sdf(DATE_PATTERN_STR);
+ apr_time_t now(apr_time_now());
+ LogString ext(withCompression ? LOG4CXX_STR(".gz") : LOG4CXX_STR(""));
now += startInFuture ? APR_USEC_PER_SEC : 0;
+
for (size_t i = 0; i < N; ++i)
{
fileNames[i].assign(LogString(LOG4CXX_STR("output/")) + prefix);
@@ -167,40 +168,40 @@
* We had macro wrappers around this method dealing with such things in the past, but as args
* where added, those become more and more difficult to maintain properly and therefore removed.
* </p>
- * @param[in,out] pool
- * @param[in] howOften
- * @param[in] srcFunc
- * @param[in] srcLine
- * @param[in,opt] startWith
- * @param[in] waitFactor
+ * @param[in,out] pool
+ * @param[in] howOften
+ * @param[in] srcFunc
+ * @param[in] srcLine
+ * @param[in,opt] startWith
+ * @param[in] waitFactor
*/
- void logMsgAndSleep(Pool& pool,
- size_t howOften,
- std::string srcFunc,
- size_t srcLine,
- size_t startWith = 0,
- float waitFactor = 0.5)
+ void logMsgAndSleep(Pool & pool,
+ size_t howOften,
+ std::string srcFunc,
+ size_t srcLine,
+ size_t startWith = 0,
+ float waitFactor = 0.5)
{
-#undef LOG4CXX_LOCATION
-#define LOG4CXX_LOCATION ::log4cxx::spi::LocationInfo( \
- __FILE__, \
- srcFunc.c_str(), \
- srcLine)
+#undef LOG4CXX_LOCATION
+#define LOG4CXX_LOCATION ::log4cxx::spi::LocationInfo( \
+ __FILE__, \
+ srcFunc.c_str(), \
+ srcLine)
for (size_t i = startWith; i < startWith + howOften; ++i)
{
- std::string message("Hello---");
- message.append(pool.itoa(i));
+ std::string message("Hello---");
+ message.append(pool.itoa(i));
LOG4CXX_DEBUG(logger, message);
apr_sleep(APR_USEC_PER_SEC * waitFactor);
}
-#undef LOG4CXX_LOCATION
-#define LOG4CXX_LOCATION ::log4cxx::spi::LocationInfo( \
- __FILE__, \
- __LOG4CXX_FUNC__, \
- __LINE__)
+#undef LOG4CXX_LOCATION
+#define LOG4CXX_LOCATION ::log4cxx::spi::LocationInfo( \
+ __FILE__, \
+ __LOG4CXX_FUNC__, \
+ __LINE__)
}
/**
@@ -215,20 +216,20 @@
* We don't use a wrapper macro this time because the src line should have the same name in all
* compilers and is easily to add for the caller.
* </p>
- * @param[in,out] pool
- * @param[in] prefix
- * @param[in] fileName
- * @param[in] witnessIdx
- * @param[in] srcLine
+ * @param[in,out] pool
+ * @param[in] prefix
+ * @param[in] fileName
+ * @param[in] witnessIdx
+ * @param[in] srcLine
*/
- void compareWitness( Pool& pool,
- const logchar* prefix,
- const LogString& fileName,
- size_t witnessIdx,
- size_t srcLine)
+ void compareWitness( Pool & pool,
+ const logchar * prefix,
+ const LogString & fileName,
+ size_t witnessIdx,
+ size_t srcLine)
{
- LogString witness(LOG4CXX_STR("witness/rolling/tbr-"));
- witness.append(prefix);
+ LogString witness(LOG4CXX_STR("witness/rolling/tbr-"));
+ witness.append(prefix);
StringHelper::toString(witnessIdx, pool, witness);
LOGUNIT_ASSERT_SRCL(Compare::compare(fileName, File(witness)), srcLine);
@@ -240,16 +241,16 @@
* This method is a wrapper around {@link compareWitness}, used to iterate over all files from a
* given test.
* </p>
- * @param[in,out] pool
- * @param[in] prefix
- * @param[in] fileNames
- * @param[in] srcLine
+ * @param[in,out] pool
+ * @param[in] prefix
+ * @param[in] fileNames
+ * @param[in] srcLine
*/
template<size_t N>
- void compareWitnesses( Pool& pool,
- const logchar* prefix,
- LogString (&fileNames)[N],
- size_t srcLine)
+ void compareWitnesses( Pool & pool,
+ const logchar * prefix,
+ LogString (&fileNames)[N],
+ size_t srcLine)
{
for (int i = 0; i < N; ++i)
{
@@ -267,16 +268,16 @@
* We don't use a wrapper macro this time because the src line schould have the same name in all
* compilers and is easily to add for the caller.
* </p>
- * @param[in,out] pool
- * @param[in] prefix
- * @param[in] fileNames
- * @param[in] srcLine
+ * @param[in,out] pool
+ * @param[in] prefix
+ * @param[in] fileNames
+ * @param[in] srcLine
*/
template<size_t N>
- void checkFilesExist( Pool& pool,
- const logchar* prefix,
- LogString (&fileNames)[N],
- size_t srcLine)
+ void checkFilesExist( Pool & pool,
+ const logchar * prefix,
+ LogString (&fileNames)[N],
+ size_t srcLine)
{
for (int i = 0; i < N - 1; ++i)
{
@@ -332,8 +333,8 @@
*/
void deleteGenericLogFilePerTest(size_t num_test)
{
- Pool pool;
- LogString path(LOG4CXX_STR("output/test"));
+ Pool pool;
+ LogString path(LOG4CXX_STR("output/test"));
StringHelper::toString(num_test, pool, path);
path.append(LOG4CXX_STR(".log"));
@@ -364,7 +365,7 @@
void internalTearDown()
{
// Nothing to do currently.
- }
+ }
public:
/**
@@ -374,7 +375,7 @@
* is the only place where we can extract and save it in the instance.
* </p>
*/
- void setCase(abts_case* tc)
+ void setCase(abts_case * tc)
{
LogUnit::TestFixture::setCase(tc);
this->num_test = tc->suite->num_test;
@@ -401,12 +402,12 @@
*/
void test1()
{
- Pool pool;
- const size_t nrOfFileNames = 4;
- LogString fileNames[nrOfFileNames];
+ Pool pool;
+ const size_t nrOfFileNames = 4;
+ LogString fileNames[nrOfFileNames];
- PatternLayoutPtr layout( new PatternLayout(PATTERN_LAYOUT));
- RollingFileAppenderPtr rfa( new RollingFileAppender());
+ PatternLayoutPtr layout( new PatternLayout(PATTERN_LAYOUT));
+ RollingFileAppenderPtr rfa( new RollingFileAppender());
rfa->setLayout(layout);
TimeBasedRollingPolicyPtr tbrp(new TimeBasedRollingPolicy());
@@ -418,8 +419,8 @@
this->buildTsFileNames(pool, LOG4CXX_STR("test1-"), fileNames);
this->delayUntilNextSecondWithMsg();
- this->logMsgAndSleep( pool, nrOfFileNames + 1, __LOG4CXX_FUNC__, __LINE__);
- this->compareWitnesses( pool, LOG4CXX_STR("test1."), fileNames, __LINE__);
+ this->logMsgAndSleep( pool, nrOfFileNames + 1, __LOG4CXX_FUNC__, __LINE__);
+ this->compareWitnesses( pool, LOG4CXX_STR("test1."), fileNames, __LINE__);
}
/**
@@ -427,12 +428,12 @@
*/
void test2()
{
- Pool pool;
- const size_t nrOfFileNames = 4;
- LogString fileNames[nrOfFileNames];
+ Pool pool;
+ const size_t nrOfFileNames = 4;
+ LogString fileNames[nrOfFileNames];
- PatternLayoutPtr layout1(new PatternLayout(PATTERN_LAYOUT));
- RollingFileAppenderPtr rfa1( new RollingFileAppender());
+ PatternLayoutPtr layout1(new PatternLayout(PATTERN_LAYOUT));
+ RollingFileAppenderPtr rfa1( new RollingFileAppender());
rfa1->setLayout(layout1);
TimeBasedRollingPolicyPtr tbrp1(new TimeBasedRollingPolicy());
@@ -449,8 +450,8 @@
logger->removeAppender(rfa1);
rfa1->close();
- PatternLayoutPtr layout2(new PatternLayout(PATTERN_LAYOUT));
- RollingFileAppenderPtr rfa2( new RollingFileAppender());
+ PatternLayoutPtr layout2(new PatternLayout(PATTERN_LAYOUT));
+ RollingFileAppenderPtr rfa2( new RollingFileAppender());
rfa2->setLayout(layout2);
TimeBasedRollingPolicyPtr tbrp2 = new TimeBasedRollingPolicy();
@@ -460,8 +461,8 @@
rfa2->activateOptions(pool);
logger->addAppender(rfa2);
- this->logMsgAndSleep( pool, 2, __LOG4CXX_FUNC__, __LINE__, 3);
- this->compareWitnesses( pool, LOG4CXX_STR("test2."), fileNames, __LINE__);
+ this->logMsgAndSleep( pool, 2, __LOG4CXX_FUNC__, __LINE__, 3);
+ this->compareWitnesses( pool, LOG4CXX_STR("test2."), fileNames, __LINE__);
}
/**
@@ -469,12 +470,12 @@
*/
void test3()
{
- Pool pool;
- const size_t nrOfFileNames = 4;
- LogString fileNames[nrOfFileNames];
+ Pool pool;
+ const size_t nrOfFileNames = 4;
+ LogString fileNames[nrOfFileNames];
- PatternLayoutPtr layout( new PatternLayout(PATTERN_LAYOUT));
- RollingFileAppenderPtr rfa( new RollingFileAppender());
+ PatternLayoutPtr layout( new PatternLayout(PATTERN_LAYOUT));
+ RollingFileAppenderPtr rfa( new RollingFileAppender());
rfa->setAppend(false);
rfa->setLayout(layout);
@@ -488,8 +489,8 @@
this->buildTsFileNames(pool, LOG4CXX_STR("test3-"), fileNames, true);
fileNames[3].resize(fileNames[3].size() - 3);
this->delayUntilNextSecondWithMsg();
- this->logMsgAndSleep( pool, nrOfFileNames + 1, __LOG4CXX_FUNC__, __LINE__);
- this->checkFilesExist( pool, LOG4CXX_STR("test3."), fileNames, __LINE__);
+ this->logMsgAndSleep( pool, nrOfFileNames + 1, __LOG4CXX_FUNC__, __LINE__);
+ this->checkFilesExist( pool, LOG4CXX_STR("test3."), fileNames, __LINE__);
}
/**
@@ -497,12 +498,12 @@
*/
void test4()
{
- Pool pool;
- const size_t nrOfFileNames = 4;
- LogString fileNames[nrOfFileNames];
+ Pool pool;
+ const size_t nrOfFileNames = 4;
+ LogString fileNames[nrOfFileNames];
- PatternLayoutPtr layout1(new PatternLayout(PATTERN_LAYOUT));
- RollingFileAppenderPtr rfa1( new RollingFileAppender());
+ PatternLayoutPtr layout1(new PatternLayout(PATTERN_LAYOUT));
+ RollingFileAppenderPtr rfa1( new RollingFileAppender());
rfa1->setLayout(layout1);
TimeBasedRollingPolicyPtr tbrp1 = new TimeBasedRollingPolicy();
@@ -521,8 +522,8 @@
logger->removeAppender(rfa1);
rfa1->close();
- PatternLayoutPtr layout2(new PatternLayout(PATTERN_LAYOUT));
- RollingFileAppenderPtr rfa2( new RollingFileAppender());
+ PatternLayoutPtr layout2(new PatternLayout(PATTERN_LAYOUT));
+ RollingFileAppenderPtr rfa2( new RollingFileAppender());
rfa2->setLayout(layout2);
TimeBasedRollingPolicyPtr tbrp2 = new TimeBasedRollingPolicy();
@@ -533,8 +534,8 @@
rfa2->activateOptions(pool);
logger->addAppender(rfa2);
- this->logMsgAndSleep( pool, 2, __LOG4CXX_FUNC__, __LINE__, 3);
- this->compareWitnesses( pool, LOG4CXX_STR("test4."), fileNames, __LINE__);
+ this->logMsgAndSleep( pool, 2, __LOG4CXX_FUNC__, __LINE__, 3);
+ this->compareWitnesses( pool, LOG4CXX_STR("test4."), fileNames, __LINE__);
}
/**
@@ -542,12 +543,12 @@
*/
void test5()
{
- Pool pool;
- const size_t nrOfFileNames = 4;
- LogString fileNames[nrOfFileNames];
+ Pool pool;
+ const size_t nrOfFileNames = 4;
+ LogString fileNames[nrOfFileNames];
- PatternLayoutPtr layout( new PatternLayout(PATTERN_LAYOUT));
- RollingFileAppenderPtr rfa( new RollingFileAppender());
+ PatternLayoutPtr layout( new PatternLayout(PATTERN_LAYOUT));
+ RollingFileAppenderPtr rfa( new RollingFileAppender());
rfa->setLayout(layout);
TimeBasedRollingPolicyPtr tbrp = new TimeBasedRollingPolicy();
@@ -562,8 +563,8 @@
this->buildTsFileNames(pool, LOG4CXX_STR("test5-"), fileNames);
fileNames[3].assign(rfa->getFile());
this->delayUntilNextSecondWithMsg();
- this->logMsgAndSleep( pool, nrOfFileNames + 1, __LOG4CXX_FUNC__, __LINE__);
- this->compareWitnesses( pool, LOG4CXX_STR("test5."), fileNames, __LINE__);
+ this->logMsgAndSleep( pool, nrOfFileNames + 1, __LOG4CXX_FUNC__, __LINE__);
+ this->compareWitnesses( pool, LOG4CXX_STR("test5."), fileNames, __LINE__);
}
/**
@@ -571,12 +572,12 @@
*/
void test6()
{
- Pool pool;
- const size_t nrOfFileNames = 4;
- LogString fileNames[nrOfFileNames];
+ Pool pool;
+ const size_t nrOfFileNames = 4;
+ LogString fileNames[nrOfFileNames];
- PatternLayoutPtr layout( new PatternLayout(PATTERN_LAYOUT));
- RollingFileAppenderPtr rfa( new RollingFileAppender());
+ PatternLayoutPtr layout( new PatternLayout(PATTERN_LAYOUT));
+ RollingFileAppenderPtr rfa( new RollingFileAppender());
rfa->setAppend(false);
rfa->setLayout(layout);
@@ -591,8 +592,8 @@
this->buildTsFileNames(pool, LOG4CXX_STR("test6-"), fileNames, true);
fileNames[3].assign(rfa->getFile());
this->delayUntilNextSecondWithMsg();
- this->logMsgAndSleep( pool, nrOfFileNames + 1, __LOG4CXX_FUNC__, __LINE__);
- this->checkFilesExist( pool, LOG4CXX_STR("test6."), fileNames, __LINE__);
+ this->logMsgAndSleep( pool, nrOfFileNames + 1, __LOG4CXX_FUNC__, __LINE__);
+ this->checkFilesExist( pool, LOG4CXX_STR("test6."), fileNames, __LINE__);
}
/**
@@ -607,8 +608,8 @@
typedef void (TimeBasedRollingTest::*Test)();
typedef std::vector<Test> Tests;
- Tests tests(10);
- size_t numTest = 0;
+ Tests tests(10);
+ size_t numTest = 0;
tests.at(4) = &TimeBasedRollingTest::test4;
tests.at(5) = &TimeBasedRollingTest::test5;
@@ -617,6 +618,7 @@
for (size_t numTest = 1; numTest < tests.size(); ++numTest)
{
Test test(tests.at(numTest));
+
if (!test)
{
continue;
diff --git a/src/test/cpp/rollingfileappendertestcase.cpp b/src/test/cpp/rollingfileappendertestcase.cpp
index 7bf1d75..f77f116 100644
--- a/src/test/cpp/rollingfileappendertestcase.cpp
+++ b/src/test/cpp/rollingfileappendertestcase.cpp
@@ -26,21 +26,22 @@
*/
class RollingFileAppenderTestCase : public FileAppenderAbstractTestCase
{
- LOGUNIT_TEST_SUITE(RollingFileAppenderTestCase);
- //
- // tests inherited from AppenderSkeletonTestCase
- //
- LOGUNIT_TEST(testDefaultThreshold);
- LOGUNIT_TEST(testSetOptionThreshold);
+ LOGUNIT_TEST_SUITE(RollingFileAppenderTestCase);
+ //
+ // tests inherited from AppenderSkeletonTestCase
+ //
+ LOGUNIT_TEST(testDefaultThreshold);
+ LOGUNIT_TEST(testSetOptionThreshold);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
-public:
+ public:
- FileAppender* createFileAppender() const {
- return new log4cxx::rolling::RollingFileAppender();
- }
+ FileAppender* createFileAppender() const
+ {
+ return new log4cxx::rolling::RollingFileAppender();
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(RollingFileAppenderTestCase);
diff --git a/src/test/cpp/spi/loggingeventtest.cpp b/src/test/cpp/spi/loggingeventtest.cpp
index bbe6b84..ba07301 100644
--- a/src/test/cpp/spi/loggingeventtest.cpp
+++ b/src/test/cpp/spi/loggingeventtest.cpp
@@ -33,88 +33,93 @@
*/
LOGUNIT_CLASS(LoggingEventTest)
{
- LOGUNIT_TEST_SUITE(LoggingEventTest);
- LOGUNIT_TEST(testSerializationSimple);
- LOGUNIT_TEST(testSerializationWithLocation);
- LOGUNIT_TEST(testSerializationNDC);
- LOGUNIT_TEST(testSerializationMDC);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(LoggingEventTest);
+ LOGUNIT_TEST(testSerializationSimple);
+ LOGUNIT_TEST(testSerializationWithLocation);
+ LOGUNIT_TEST(testSerializationNDC);
+ LOGUNIT_TEST(testSerializationMDC);
+ LOGUNIT_TEST_SUITE_END();
public:
- void setUp() {
- NDC::clear();
- MDC::clear();
- }
+ void setUp()
+ {
+ NDC::clear();
+ MDC::clear();
+ }
- void tearDown()
- {
- LogManager::shutdown();
- }
-
-
-
-
- /**
- * Serialize a simple logging event and check it against
- * a witness.
- * @throws Exception if exception during test.
- */
- void testSerializationSimple() {
- LoggingEventPtr event =
- new LoggingEvent(
- LOG4CXX_STR("root"), Level::getInfo(), LOG4CXX_STR("Hello, world."), LocationInfo::getLocationUnavailable());
-
- LOGUNIT_ASSERT_EQUAL(true, SerializationTestHelper::compare(
- "witness/serialization/simple.bin", event, 237));
- }
+ void tearDown()
+ {
+ LogManager::shutdown();
+ }
- /**
- * Serialize a logging event with an exception and check it against
- * a witness.
- * @throws Exception if exception during test.
- *
- */
- void testSerializationWithLocation() {
- LoggingEventPtr event =
- new LoggingEvent(
- LOG4CXX_STR("root"), Level::getInfo(), LOG4CXX_STR("Hello, world."), LOG4CXX_LOCATION);
- LOGUNIT_ASSERT_EQUAL(true, SerializationTestHelper::compare(
- "witness/serialization/location.bin", event, 237));
- }
- /**
- * Serialize a logging event with ndc.
- * @throws Exception if exception during test.
- *
- */
- void testSerializationNDC() {
- NDC::push("ndc test");
+ /**
+ * Serialize a simple logging event and check it against
+ * a witness.
+ * @throws Exception if exception during test.
+ */
+ void testSerializationSimple()
+ {
+ LoggingEventPtr event =
+ new LoggingEvent(
+ LOG4CXX_STR("root"), Level::getInfo(), LOG4CXX_STR("Hello, world."), LocationInfo::getLocationUnavailable());
- LoggingEventPtr event =
- new LoggingEvent(
- LOG4CXX_STR("root"), Level::getInfo(), LOG4CXX_STR("Hello, world."), LocationInfo::getLocationUnavailable());
+ LOGUNIT_ASSERT_EQUAL(true, SerializationTestHelper::compare(
+ "witness/serialization/simple.bin", event, 237));
+ }
- LOGUNIT_ASSERT_EQUAL(true, SerializationTestHelper::compare(
- "witness/serialization/ndc.bin", event, 237));
- }
- /**
- * Serialize a logging event with mdc.
- * @throws Exception if exception during test.
- *
- */
- void testSerializationMDC() {
- MDC::put("mdckey", "mdcvalue");
-
- LoggingEventPtr event =
- new LoggingEvent(
- LOG4CXX_STR("root"), Level::getInfo(), LOG4CXX_STR("Hello, world."), LocationInfo::getLocationUnavailable());
+ /**
+ * Serialize a logging event with an exception and check it against
+ * a witness.
+ * @throws Exception if exception during test.
+ *
+ */
+ void testSerializationWithLocation()
+ {
+ LoggingEventPtr event =
+ new LoggingEvent(
+ LOG4CXX_STR("root"), Level::getInfo(), LOG4CXX_STR("Hello, world."), LOG4CXX_LOCATION);
- LOGUNIT_ASSERT_EQUAL(true, SerializationTestHelper::compare(
- "witness/serialization/mdc.bin", event, 237));
- }
+ LOGUNIT_ASSERT_EQUAL(true, SerializationTestHelper::compare(
+ "witness/serialization/location.bin", event, 237));
+ }
+
+ /**
+ * Serialize a logging event with ndc.
+ * @throws Exception if exception during test.
+ *
+ */
+ void testSerializationNDC()
+ {
+ NDC::push("ndc test");
+
+ LoggingEventPtr event =
+ new LoggingEvent(
+ LOG4CXX_STR("root"), Level::getInfo(), LOG4CXX_STR("Hello, world."), LocationInfo::getLocationUnavailable());
+
+ LOGUNIT_ASSERT_EQUAL(true, SerializationTestHelper::compare(
+ "witness/serialization/ndc.bin", event, 237));
+ }
+
+ /**
+ * Serialize a logging event with mdc.
+ * @throws Exception if exception during test.
+ *
+ */
+ void testSerializationMDC()
+ {
+ MDC::put("mdckey", "mdcvalue");
+
+ LoggingEventPtr event =
+ new LoggingEvent(
+ LOG4CXX_STR("root"), Level::getInfo(), LOG4CXX_STR("Hello, world."), LocationInfo::getLocationUnavailable());
+
+ LOGUNIT_ASSERT_EQUAL(true, SerializationTestHelper::compare(
+ "witness/serialization/mdc.bin", event, 237));
+ }
};
diff --git a/src/test/cpp/streamtestcase.cpp b/src/test/cpp/streamtestcase.cpp
index 7609e24..271e65e 100644
--- a/src/test/cpp/streamtestcase.cpp
+++ b/src/test/cpp/streamtestcase.cpp
@@ -26,17 +26,19 @@
#include <log4cxx/stream.h>
#if LOG4CXX_CFSTRING_API
-#include <CoreFoundation/CFString.h>
+ #include <CoreFoundation/CFString.h>
#endif
using namespace log4cxx;
using namespace log4cxx::helpers;
using namespace std;
-class ExceptionOnInsert {
-public:
- ExceptionOnInsert() {
- }
+class ExceptionOnInsert
+{
+ public:
+ ExceptionOnInsert()
+ {
+ }
};
//
@@ -46,9 +48,10 @@
//
template<class Elem, class Tr>
::std::basic_ostream<Elem, Tr>& operator<<(
- ::std::basic_ostream<Elem, Tr>&,
- const ExceptionOnInsert&) {
- throw std::exception();
+ ::std::basic_ostream<Elem, Tr>&,
+ const ExceptionOnInsert&)
+{
+ throw std::exception();
}
@@ -57,525 +60,587 @@
*/
LOGUNIT_CLASS(StreamTestCase)
{
- LOGUNIT_TEST_SUITE(StreamTestCase);
- LOGUNIT_TEST(testSimple);
- LOGUNIT_TEST(testMultiple);
- LOGUNIT_TEST(testShortCircuit);
- LOGUNIT_TEST_EXCEPTION(testInsertException, std::exception);
- LOGUNIT_TEST(testScientific);
- LOGUNIT_TEST(testPrecision);
- LOGUNIT_TEST(testWidth);
+ LOGUNIT_TEST_SUITE(StreamTestCase);
+ LOGUNIT_TEST(testSimple);
+ LOGUNIT_TEST(testMultiple);
+ LOGUNIT_TEST(testShortCircuit);
+ LOGUNIT_TEST_EXCEPTION(testInsertException, std::exception);
+ LOGUNIT_TEST(testScientific);
+ LOGUNIT_TEST(testPrecision);
+ LOGUNIT_TEST(testWidth);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(testWide);
- LOGUNIT_TEST(testWideAppend);
- LOGUNIT_TEST(testWideWidth);
+ LOGUNIT_TEST(testWide);
+ LOGUNIT_TEST(testWideAppend);
+ LOGUNIT_TEST(testWideWidth);
#endif
- LOGUNIT_TEST(testBaseFlags);
- LOGUNIT_TEST(testBasePrecisionAndWidth);
- LOGUNIT_TEST(testLogStreamSimple);
- LOGUNIT_TEST(testLogStreamMultiple);
- LOGUNIT_TEST(testLogStreamShortCircuit);
- LOGUNIT_TEST_EXCEPTION(testLogStreamInsertException, std::exception);
- LOGUNIT_TEST(testLogStreamScientific);
- LOGUNIT_TEST(testLogStreamPrecision);
- LOGUNIT_TEST(testLogStreamWidth);
- LOGUNIT_TEST(testLogStreamDelegate);
- LOGUNIT_TEST(testLogStreamFormattingPersists);
- LOGUNIT_TEST(testSetWidthInsert);
+ LOGUNIT_TEST(testBaseFlags);
+ LOGUNIT_TEST(testBasePrecisionAndWidth);
+ LOGUNIT_TEST(testLogStreamSimple);
+ LOGUNIT_TEST(testLogStreamMultiple);
+ LOGUNIT_TEST(testLogStreamShortCircuit);
+ LOGUNIT_TEST_EXCEPTION(testLogStreamInsertException, std::exception);
+ LOGUNIT_TEST(testLogStreamScientific);
+ LOGUNIT_TEST(testLogStreamPrecision);
+ LOGUNIT_TEST(testLogStreamWidth);
+ LOGUNIT_TEST(testLogStreamDelegate);
+ LOGUNIT_TEST(testLogStreamFormattingPersists);
+ LOGUNIT_TEST(testSetWidthInsert);
#if LOG4CXX_WCHAR_T_API
- LOGUNIT_TEST(testWLogStreamSimple);
- LOGUNIT_TEST(testWLogStreamMultiple);
- LOGUNIT_TEST(testWLogStreamShortCircuit);
- LOGUNIT_TEST_EXCEPTION(testWLogStreamInsertException, std::exception);
- LOGUNIT_TEST(testWLogStreamScientific);
- LOGUNIT_TEST(testWLogStreamPrecision);
- LOGUNIT_TEST(testWLogStreamWidth);
- LOGUNIT_TEST(testWLogStreamDelegate);
- LOGUNIT_TEST(testWLogStreamFormattingPersists);
- LOGUNIT_TEST(testWSetWidthInsert);
+ LOGUNIT_TEST(testWLogStreamSimple);
+ LOGUNIT_TEST(testWLogStreamMultiple);
+ LOGUNIT_TEST(testWLogStreamShortCircuit);
+ LOGUNIT_TEST_EXCEPTION(testWLogStreamInsertException, std::exception);
+ LOGUNIT_TEST(testWLogStreamScientific);
+ LOGUNIT_TEST(testWLogStreamPrecision);
+ LOGUNIT_TEST(testWLogStreamWidth);
+ LOGUNIT_TEST(testWLogStreamDelegate);
+ LOGUNIT_TEST(testWLogStreamFormattingPersists);
+ LOGUNIT_TEST(testWSetWidthInsert);
#endif
#if LOG4CXX_UNICHAR_API
- LOGUNIT_TEST(testUniChar);
- LOGUNIT_TEST(testUniCharAppend);
-// LOGUNIT_TEST(testUniCharWidth);
- LOGUNIT_TEST(testULogStreamSimple);
- LOGUNIT_TEST(testULogStreamMultiple);
- LOGUNIT_TEST(testULogStreamShortCircuit);
- LOGUNIT_TEST_EXCEPTION(testULogStreamInsertException, std::exception);
-// LOGUNIT_TEST(testULogStreamScientific);
-// LOGUNIT_TEST(testULogStreamPrecision);
-// LOGUNIT_TEST(testULogStreamWidth);
- LOGUNIT_TEST(testULogStreamDelegate);
-// LOGUNIT_TEST(testULogStreamFormattingPersists);
-// LOGUNIT_TEST(testUSetWidthInsert);
+ LOGUNIT_TEST(testUniChar);
+ LOGUNIT_TEST(testUniCharAppend);
+ // LOGUNIT_TEST(testUniCharWidth);
+ LOGUNIT_TEST(testULogStreamSimple);
+ LOGUNIT_TEST(testULogStreamMultiple);
+ LOGUNIT_TEST(testULogStreamShortCircuit);
+ LOGUNIT_TEST_EXCEPTION(testULogStreamInsertException, std::exception);
+ // LOGUNIT_TEST(testULogStreamScientific);
+ // LOGUNIT_TEST(testULogStreamPrecision);
+ // LOGUNIT_TEST(testULogStreamWidth);
+ LOGUNIT_TEST(testULogStreamDelegate);
+ // LOGUNIT_TEST(testULogStreamFormattingPersists);
+ // LOGUNIT_TEST(testUSetWidthInsert);
#endif
#if LOG4CXX_CFSTRING_API
- LOGUNIT_TEST(testCFString);
- LOGUNIT_TEST(testCFStringAppend);
- LOGUNIT_TEST(testULogStreamCFString);
- LOGUNIT_TEST(testULogStreamCFString2);
+ LOGUNIT_TEST(testCFString);
+ LOGUNIT_TEST(testCFStringAppend);
+ LOGUNIT_TEST(testULogStreamCFString);
+ LOGUNIT_TEST(testULogStreamCFString2);
#endif
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE_END();
- VectorAppenderPtr vectorAppender;
+ VectorAppenderPtr vectorAppender;
public:
- void setUp() {
- LoggerPtr root(Logger::getRootLogger());
- LayoutPtr layout(new SimpleLayout());
- vectorAppender = new VectorAppender();
- root->addAppender(vectorAppender);
- }
+ void setUp()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LayoutPtr layout(new SimpleLayout());
+ vectorAppender = new VectorAppender();
+ root->addAppender(vectorAppender);
+ }
- void tearDown()
- {
- LogManager::shutdown();
- }
+ void tearDown()
+ {
+ LogManager::shutdown();
+ }
- void testSimple() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, "This is a test");
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testSimple()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, "This is a test");
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testMultiple() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, "This is a test" << ": Details to follow");
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testMultiple()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, "This is a test" << ": Details to follow");
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testShortCircuit() {
- LoggerPtr logger(Logger::getLogger("StreamTestCase.shortCircuit"));
- logger->setLevel(Level::getInfo());
- ExceptionOnInsert someObj;
- LOG4CXX_DEBUG(logger, someObj);
- LOGUNIT_ASSERT_EQUAL((size_t) 0, vectorAppender->getVector().size());
- }
+ void testShortCircuit()
+ {
+ LoggerPtr logger(Logger::getLogger("StreamTestCase.shortCircuit"));
+ logger->setLevel(Level::getInfo());
+ ExceptionOnInsert someObj;
+ LOG4CXX_DEBUG(logger, someObj);
+ LOGUNIT_ASSERT_EQUAL((size_t) 0, vectorAppender->getVector().size());
+ }
- void testInsertException() {
- LoggerPtr logger(Logger::getLogger("StreamTestCase.insertException"));
- ExceptionOnInsert someObj;
- LOG4CXX_INFO(logger, someObj);
- }
+ void testInsertException()
+ {
+ LoggerPtr logger(Logger::getLogger("StreamTestCase.insertException"));
+ ExceptionOnInsert someObj;
+ LOG4CXX_INFO(logger, someObj);
+ }
- void testScientific() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, std::scientific << 0.000001115);
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("e-")) != LogString::npos ||
- msg.find(LOG4CXX_STR("E-")) != LogString::npos);
- }
+ void testScientific()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, std::scientific << 0.000001115);
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("e-")) != LogString::npos ||
+ msg.find(LOG4CXX_STR("E-")) != LogString::npos);
+ }
- void testPrecision() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, std::setprecision(4) << 1.000001);
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("1.00000")) == LogString::npos);
- }
+ void testPrecision()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, std::setprecision(4) << 1.000001);
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("1.00000")) == LogString::npos);
+ }
- void testWidth() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, '[' << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill('_') << 10.0 << ']');
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
- }
+ void testWidth()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, '[' << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill('_') << 10.0 << ']');
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
+ }
- void testBaseFlags() {
- logstream base1(Logger::getRootLogger(), Level::getInfo());
- logstream base2(Logger::getRootLogger(), Level::getInfo());
- base1 << std::boolalpha;
- base2 << std::noboolalpha;
- std::ostringstream os1a, os1b, os2a, os2b;
- os1a << std::boolalpha;
- int fillchar;
- if (base1.set_stream_state(os1b, fillchar)) {
- os1b.fill(fillchar);
- }
- LOGUNIT_ASSERT_EQUAL(os1a.flags(), os1b.flags());
- os2a << std::noboolalpha;
- if (base2.set_stream_state(os2b, fillchar)) {
- os2b.fill(fillchar);
- }
- LOGUNIT_ASSERT_EQUAL(os2a.flags(), os2b.flags());
- }
+ void testBaseFlags()
+ {
+ logstream base1(Logger::getRootLogger(), Level::getInfo());
+ logstream base2(Logger::getRootLogger(), Level::getInfo());
+ base1 << std::boolalpha;
+ base2 << std::noboolalpha;
+ std::ostringstream os1a, os1b, os2a, os2b;
+ os1a << std::boolalpha;
+ int fillchar;
+
+ if (base1.set_stream_state(os1b, fillchar))
+ {
+ os1b.fill(fillchar);
+ }
+
+ LOGUNIT_ASSERT_EQUAL(os1a.flags(), os1b.flags());
+ os2a << std::noboolalpha;
+
+ if (base2.set_stream_state(os2b, fillchar))
+ {
+ os2b.fill(fillchar);
+ }
+
+ LOGUNIT_ASSERT_EQUAL(os2a.flags(), os2b.flags());
+ }
- void testBasePrecisionAndWidth() {
- logstream base(Logger::getRootLogger(), Level::getInfo());
- base.precision(2);
- base.width(5);
- std::ostringstream os1, os2;
- os1.precision(2);
- os1.width(5);
- os1 << 3.1415926;
- int fillchar;
- if (base.set_stream_state(os2, fillchar)) {
- os2.fill(fillchar);
- }
- os2 << 3.1415926;
- string expected(os1.str());
- string actual(os2.str());
- LOGUNIT_ASSERT_EQUAL(expected, actual);
- }
-
- void testLogStreamSimple() {
- logstream root(Logger::getRootLogger(), Level::getInfo());
- root << std::string("This is a test") << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testBasePrecisionAndWidth()
+ {
+ logstream base(Logger::getRootLogger(), Level::getInfo());
+ base.precision(2);
+ base.width(5);
+ std::ostringstream os1, os2;
+ os1.precision(2);
+ os1.width(5);
+ os1 << 3.1415926;
+ int fillchar;
- void testLogStreamMultiple() {
- logstream root(Logger::getRootLogger(), Level::getInfo());
- root << std::string("This is a test") << std::string(": Details to follow") << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ if (base.set_stream_state(os2, fillchar))
+ {
+ os2.fill(fillchar);
+ }
- void testLogStreamShortCircuit() {
- LoggerPtr logger(Logger::getLogger("StreamTestCase.shortCircuit"));
- logger->setLevel(Level::getInfo());
- logstream os(logger, Level::getDebug());
- ExceptionOnInsert someObj;
- os << someObj << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 0, vectorAppender->getVector().size());
- }
+ os2 << 3.1415926;
+ string expected(os1.str());
+ string actual(os2.str());
+ LOGUNIT_ASSERT_EQUAL(expected, actual);
+ }
- void testLogStreamInsertException() {
- LoggerPtr logger(Logger::getLogger("StreamTestCase.insertException"));
- ExceptionOnInsert someObj;
- logstream os(logger, Level::getInfo());
- os << someObj << LOG4CXX_ENDMSG;
- }
+ void testLogStreamSimple()
+ {
+ logstream root(Logger::getRootLogger(), Level::getInfo());
+ root << std::string("This is a test") << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testLogStreamScientific() {
- LoggerPtr root(Logger::getRootLogger());
- logstream os(root, Level::getInfo());
- os << std::scientific << 0.000001115 << LOG4CXX_ENDMSG;
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("e-")) != LogString::npos ||
- msg.find(LOG4CXX_STR("E-")) != LogString::npos);
- }
+ void testLogStreamMultiple()
+ {
+ logstream root(Logger::getRootLogger(), Level::getInfo());
+ root << std::string("This is a test") << std::string(": Details to follow") << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testLogStreamPrecision() {
- LoggerPtr root(Logger::getRootLogger());
- logstream os(root, Level::getInfo());
- os << std::setprecision(4) << 1.000001 << LOG4CXX_ENDMSG;
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("1.00000")) == LogString::npos);
- }
+ void testLogStreamShortCircuit()
+ {
+ LoggerPtr logger(Logger::getLogger("StreamTestCase.shortCircuit"));
+ logger->setLevel(Level::getInfo());
+ logstream os(logger, Level::getDebug());
+ ExceptionOnInsert someObj;
+ os << someObj << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 0, vectorAppender->getVector().size());
+ }
+
+ void testLogStreamInsertException()
+ {
+ LoggerPtr logger(Logger::getLogger("StreamTestCase.insertException"));
+ ExceptionOnInsert someObj;
+ logstream os(logger, Level::getInfo());
+ os << someObj << LOG4CXX_ENDMSG;
+ }
+
+ void testLogStreamScientific()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ logstream os(root, Level::getInfo());
+ os << std::scientific << 0.000001115 << LOG4CXX_ENDMSG;
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("e-")) != LogString::npos ||
+ msg.find(LOG4CXX_STR("E-")) != LogString::npos);
+ }
+
+ void testLogStreamPrecision()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ logstream os(root, Level::getInfo());
+ os << std::setprecision(4) << 1.000001 << LOG4CXX_ENDMSG;
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("1.00000")) == LogString::npos);
+ }
- void testLogStreamWidth() {
- LoggerPtr root(Logger::getRootLogger());
- logstream os(root, Level::getInfo());
- os << '[' << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill('_') << 10.0 << ']' << LOG4CXX_ENDMSG;
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
- }
-
- void report(std::ostream& os) {
- os << "This just in: \n";
- os << "Use logstream in places that expect a std::ostream.\n";
- }
-
- void testLogStreamDelegate() {
- logstream root(Logger::getRootLogger(), Level::getInfo());
- report(root);
- root << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
-
- void testLogStreamFormattingPersists() {
- LoggerPtr root(Logger::getRootLogger());
- root->setLevel(Level::getInfo());
- logstream os(root, Level::getDebug());
- os << std::hex << 20 << LOG4CXX_ENDMSG;
- os << Level::getInfo() << 16 << LOG4CXX_ENDMSG;
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("10")), msg);
- }
+ void testLogStreamWidth()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ logstream os(root, Level::getInfo());
+ os << '[' << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill('_') << 10.0 << ']' << LOG4CXX_ENDMSG;
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
+ }
- void testSetWidthInsert() {
- LoggerPtr root(Logger::getRootLogger());
- root->setLevel(Level::getInfo());
- logstream os(root, Level::getInfo());
- os << std::setw(5);
- LOGUNIT_ASSERT_EQUAL(5, os.width());
- }
-
-
+ void report(std::ostream & os)
+ {
+ os << "This just in: \n";
+ os << "Use logstream in places that expect a std::ostream.\n";
+ }
+
+ void testLogStreamDelegate()
+ {
+ logstream root(Logger::getRootLogger(), Level::getInfo());
+ report(root);
+ root << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
+
+ void testLogStreamFormattingPersists()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ root->setLevel(Level::getInfo());
+ logstream os(root, Level::getDebug());
+ os << std::hex << 20 << LOG4CXX_ENDMSG;
+ os << Level::getInfo() << 16 << LOG4CXX_ENDMSG;
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("10")), msg);
+ }
+
+ void testSetWidthInsert()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ root->setLevel(Level::getInfo());
+ logstream os(root, Level::getInfo());
+ os << std::setw(5);
+ LOGUNIT_ASSERT_EQUAL(5, os.width());
+ }
+
+
#if LOG4CXX_WCHAR_T_API
- void testWide() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, L"This is a test");
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testWide()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, L"This is a test");
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testWideAppend() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, L"This is a test" << L": Details to follow");
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
-
- void testWideWidth() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, L'[' << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill(L'_') << 10.0 << L"]");
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
- }
+ void testWideAppend()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, L"This is a test" << L": Details to follow");
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testWLogStreamSimple() {
- wlogstream root(Logger::getRootLogger(), Level::getInfo());
- root << L"This is a test" << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testWideWidth()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, L'[' << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill(L'_') << 10.0 << L"]");
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
+ }
- void testWLogStreamMultiple() {
- wlogstream root(Logger::getRootLogger(), Level::getInfo());
- root << L"This is a test" << L": Details to follow" << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testWLogStreamSimple()
+ {
+ wlogstream root(Logger::getRootLogger(), Level::getInfo());
+ root << L"This is a test" << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testWLogStreamShortCircuit() {
- LoggerPtr logger(Logger::getLogger("StreamTestCase.shortCircuit"));
- logger->setLevel(Level::getInfo());
- wlogstream os(logger, Level::getDebug());
- ExceptionOnInsert someObj;
- os << someObj << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 0, vectorAppender->getVector().size());
- }
+ void testWLogStreamMultiple()
+ {
+ wlogstream root(Logger::getRootLogger(), Level::getInfo());
+ root << L"This is a test" << L": Details to follow" << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testWLogStreamInsertException() {
- LoggerPtr logger(Logger::getLogger("StreamTestCase.insertException"));
- ExceptionOnInsert someObj;
- wlogstream os(logger, Level::getInfo());
- os << someObj << LOG4CXX_ENDMSG;
- }
+ void testWLogStreamShortCircuit()
+ {
+ LoggerPtr logger(Logger::getLogger("StreamTestCase.shortCircuit"));
+ logger->setLevel(Level::getInfo());
+ wlogstream os(logger, Level::getDebug());
+ ExceptionOnInsert someObj;
+ os << someObj << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 0, vectorAppender->getVector().size());
+ }
- void testWLogStreamScientific() {
- LoggerPtr root(Logger::getRootLogger());
- wlogstream os(root, Level::getInfo());
- os << std::scientific << 0.000001115 << LOG4CXX_ENDMSG;
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("e-")) != LogString::npos ||
- msg.find(LOG4CXX_STR("E-")) != LogString::npos);
- }
+ void testWLogStreamInsertException()
+ {
+ LoggerPtr logger(Logger::getLogger("StreamTestCase.insertException"));
+ ExceptionOnInsert someObj;
+ wlogstream os(logger, Level::getInfo());
+ os << someObj << LOG4CXX_ENDMSG;
+ }
- void testWLogStreamPrecision() {
- LoggerPtr root(Logger::getRootLogger());
- wlogstream os(root, Level::getInfo());
- os << std::setprecision(4) << 1.000001 << LOG4CXX_ENDMSG;
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("1.00000")) == LogString::npos);
- }
+ void testWLogStreamScientific()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ wlogstream os(root, Level::getInfo());
+ os << std::scientific << 0.000001115 << LOG4CXX_ENDMSG;
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("e-")) != LogString::npos ||
+ msg.find(LOG4CXX_STR("E-")) != LogString::npos);
+ }
+
+ void testWLogStreamPrecision()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ wlogstream os(root, Level::getInfo());
+ os << std::setprecision(4) << 1.000001 << LOG4CXX_ENDMSG;
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("1.00000")) == LogString::npos);
+ }
- void testWLogStreamWidth() {
- LoggerPtr root(Logger::getRootLogger());
- wlogstream os(root, Level::getInfo());
- os << L"[" << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill(L'_') << 10.0 << L"]" << LOG4CXX_ENDMSG;
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
- }
-
- void wreport(std::basic_ostream<wchar_t>& os) {
- os << L"This just in: \n";
- os << L"Use logstream in places that expect a std::ostream.\n";
- }
-
- void testWLogStreamDelegate() {
- wlogstream root(Logger::getRootLogger(), Level::getInfo());
- wreport(root);
- root << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
-
- void testWLogStreamFormattingPersists() {
- LoggerPtr root(Logger::getRootLogger());
- root->setLevel(Level::getInfo());
- wlogstream os(root, Level::getDebug());
- os << std::hex << 20 << LOG4CXX_ENDMSG;
- os << Level::getInfo() << 16 << LOG4CXX_ENDMSG;
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("10")), msg);
- }
+ void testWLogStreamWidth()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ wlogstream os(root, Level::getInfo());
+ os << L"[" << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill(L'_') << 10.0 << L"]" << LOG4CXX_ENDMSG;
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
+ }
- void testWSetWidthInsert() {
- LoggerPtr root(Logger::getRootLogger());
- root->setLevel(Level::getInfo());
- wlogstream os(root, Level::getInfo());
- os << std::setw(5);
- LOGUNIT_ASSERT_EQUAL(5, os.width());
- }
-
-#endif
+ void wreport(std::basic_ostream<wchar_t>& os)
+ {
+ os << L"This just in: \n";
+ os << L"Use logstream in places that expect a std::ostream.\n";
+ }
+
+ void testWLogStreamDelegate()
+ {
+ wlogstream root(Logger::getRootLogger(), Level::getInfo());
+ wreport(root);
+ root << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
+
+ void testWLogStreamFormattingPersists()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ root->setLevel(Level::getInfo());
+ wlogstream os(root, Level::getDebug());
+ os << std::hex << 20 << LOG4CXX_ENDMSG;
+ os << Level::getInfo() << 16 << LOG4CXX_ENDMSG;
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("10")), msg);
+ }
+
+ void testWSetWidthInsert()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ root->setLevel(Level::getInfo());
+ wlogstream os(root, Level::getInfo());
+ os << std::setw(5);
+ LOGUNIT_ASSERT_EQUAL(5, os.width());
+ }
+
+#endif
#if LOG4CXX_UNICHAR_API
- void testUniChar() {
- LoggerPtr root(Logger::getRootLogger());
- const log4cxx::UniChar msg[] = { 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 0 };
- LOG4CXX_INFO(root, msg)
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testUniChar()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ const log4cxx::UniChar msg[] = { 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 0 };
+ LOG4CXX_INFO(root, msg)
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testUniCharAppend() {
- LoggerPtr root(Logger::getRootLogger());
- const log4cxx::UniChar msg1[] = { 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 0 };
- const log4cxx::UniChar msg2[] = { ':', ' ', 'D', 'e', 't', 'a', 'i', 'l', 's', ' ', 't', 'o', ' ', 'f', 'o', 'l', 'l', 'o', 'w', 0 };
- LOG4CXX_INFO(root, msg1 << msg2)
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
-
- void testUniCharWidth() {
- LoggerPtr root(Logger::getRootLogger());
- const log4cxx::UniChar openBracket[] = { '[', 0 };
- const log4cxx::UniChar closeBracket[] = { ']', 0 };
- LOG4CXX_INFO(root, openBracket << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill((log4cxx::UniChar) '_') << 10.0 << closeBracket)
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
- }
+ void testUniCharAppend()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ const log4cxx::UniChar msg1[] = { 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 0 };
+ const log4cxx::UniChar msg2[] = { ':', ' ', 'D', 'e', 't', 'a', 'i', 'l', 's', ' ', 't', 'o', ' ', 'f', 'o', 'l', 'l', 'o', 'w', 0 };
+ LOG4CXX_INFO(root, msg1 << msg2)
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testULogStreamSimple() {
- ulogstream root(Logger::getRootLogger(), Level::getInfo());
- const log4cxx::UniChar msg[] = { 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 0 };
- root << msg << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testUniCharWidth()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ const log4cxx::UniChar openBracket[] = { '[', 0 };
+ const log4cxx::UniChar closeBracket[] = { ']', 0 };
+ LOG4CXX_INFO(root, openBracket << std::fixed << std::setprecision(2) << std::setw(7) << std::right << std::setfill((log4cxx::UniChar) '_') << 10.0 << closeBracket)
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
+ }
- void testULogStreamMultiple() {
- ulogstream root(Logger::getRootLogger(), Level::getInfo());
- const log4cxx::UniChar msg1[] = { 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 0 };
- const log4cxx::UniChar msg2[] = { ':', ' ', 'D', 'e', 't', 'a', 'i', 'l', 's', ' ', 't', 'o', ' ', 'f', 'o', 'l', 'l', 'o', 'w', 0 };
- root << msg1 << msg2 << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testULogStreamSimple()
+ {
+ ulogstream root(Logger::getRootLogger(), Level::getInfo());
+ const log4cxx::UniChar msg[] = { 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 0 };
+ root << msg << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testULogStreamShortCircuit() {
- LoggerPtr logger(Logger::getLogger("StreamTestCase.shortCircuit"));
- logger->setLevel(Level::getInfo());
- ulogstream os(logger, Level::getDebug());
- ExceptionOnInsert someObj;
- os << someObj << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 0, vectorAppender->getVector().size());
- }
+ void testULogStreamMultiple()
+ {
+ ulogstream root(Logger::getRootLogger(), Level::getInfo());
+ const log4cxx::UniChar msg1[] = { 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', 0 };
+ const log4cxx::UniChar msg2[] = { ':', ' ', 'D', 'e', 't', 'a', 'i', 'l', 's', ' ', 't', 'o', ' ', 'f', 'o', 'l', 'l', 'o', 'w', 0 };
+ root << msg1 << msg2 << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testULogStreamInsertException() {
- LoggerPtr logger(Logger::getLogger("StreamTestCase.insertException"));
- ExceptionOnInsert someObj;
- ulogstream os(logger, Level::getInfo());
- os << someObj << LOG4CXX_ENDMSG;
- }
+ void testULogStreamShortCircuit()
+ {
+ LoggerPtr logger(Logger::getLogger("StreamTestCase.shortCircuit"));
+ logger->setLevel(Level::getInfo());
+ ulogstream os(logger, Level::getDebug());
+ ExceptionOnInsert someObj;
+ os << someObj << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 0, vectorAppender->getVector().size());
+ }
- void testULogStreamScientific() {
- LoggerPtr root(Logger::getRootLogger());
- ulogstream os(root, Level::getInfo());
- os << std::scientific << 0.000001115 << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("e-")) != LogString::npos ||
- msg.find(LOG4CXX_STR("E-")) != LogString::npos);
- }
+ void testULogStreamInsertException()
+ {
+ LoggerPtr logger(Logger::getLogger("StreamTestCase.insertException"));
+ ExceptionOnInsert someObj;
+ ulogstream os(logger, Level::getInfo());
+ os << someObj << LOG4CXX_ENDMSG;
+ }
- void testULogStreamPrecision() {
- LoggerPtr root(Logger::getRootLogger());
- ulogstream os(root, Level::getInfo());
- os << std::setprecision(4) << 1.000001 << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("1.00000")) == LogString::npos);
- }
+ void testULogStreamScientific()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ ulogstream os(root, Level::getInfo());
+ os << std::scientific << 0.000001115 << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("e-")) != LogString::npos ||
+ msg.find(LOG4CXX_STR("E-")) != LogString::npos);
+ }
+
+ void testULogStreamPrecision()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ ulogstream os(root, Level::getInfo());
+ os << std::setprecision(4) << 1.000001 << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT(msg.find(LOG4CXX_STR("1.00000")) == LogString::npos);
+ }
- void testULogStreamWidth() {
- LoggerPtr root(Logger::getRootLogger());
- ulogstream os(root, Level::getInfo());
- const log4cxx::UniChar openBracket[] = { '[', 0 };
- const log4cxx::UniChar closeBracket[] = { ']', 0 };
-
- os << openBracket << std::fixed << std::setprecision(2) << std::setw(7) << std::right
- << std::setfill((log4cxx::UniChar) '_') << 10.0 << closeBracket << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
- }
-
- void ureport(std::basic_ostream<log4cxx::UniChar>& os) {
- const log4cxx::UniChar msg1[] = { 'T', 'h', 'i', 's', ' ', 'j', 'u', 's', 't', ' ' , 'i', 'n', ':', ' ' , '\n', 0 };
- const log4cxx::UniChar msg2[] = { 'U', 's', 'e', ' ', 'l', 'o', 'g', 's', 't', 'r', 'e', 'a', 'm', '\n', 0 };
- os << msg1;
- os << msg2;
- }
-
- void testULogStreamDelegate() {
- ulogstream root(Logger::getRootLogger(), Level::getInfo());
- ureport(root);
- root << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
-
- void testULogStreamFormattingPersists() {
- LoggerPtr root(Logger::getRootLogger());
- root->setLevel(Level::getInfo());
- ulogstream os(root, Level::getDebug());
- os << std::hex << 20 << LOG4CXX_ENDMSG;
- os << Level::getInfo() << 16 << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
- LogString msg(event->getMessage());
- LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("10")), msg);
- }
+ void testULogStreamWidth()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ ulogstream os(root, Level::getInfo());
+ const log4cxx::UniChar openBracket[] = { '[', 0 };
+ const log4cxx::UniChar closeBracket[] = { ']', 0 };
- void testUSetWidthInsert() {
- LoggerPtr root(Logger::getRootLogger());
- root->setLevel(Level::getInfo());
- ulogstream os(root, Level::getInfo());
- os << std::setw(5);
- LOGUNIT_ASSERT_EQUAL(5, os.width());
- }
-
-#endif
+ os << openBracket << std::fixed << std::setprecision(2) << std::setw(7) << std::right
+ << std::setfill((log4cxx::UniChar) '_') << 10.0 << closeBracket << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("[__10.00]")), msg);
+ }
+
+ void ureport(std::basic_ostream<log4cxx::UniChar>& os)
+ {
+ const log4cxx::UniChar msg1[] = { 'T', 'h', 'i', 's', ' ', 'j', 'u', 's', 't', ' ', 'i', 'n', ':', ' ', '\n', 0 };
+ const log4cxx::UniChar msg2[] = { 'U', 's', 'e', ' ', 'l', 'o', 'g', 's', 't', 'r', 'e', 'a', 'm', '\n', 0 };
+ os << msg1;
+ os << msg2;
+ }
+
+ void testULogStreamDelegate()
+ {
+ ulogstream root(Logger::getRootLogger(), Level::getInfo());
+ ureport(root);
+ root << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
+
+ void testULogStreamFormattingPersists()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ root->setLevel(Level::getInfo());
+ ulogstream os(root, Level::getDebug());
+ os << std::hex << 20 << LOG4CXX_ENDMSG;
+ os << Level::getInfo() << 16 << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ spi::LoggingEventPtr event(vectorAppender->getVector()[0]);
+ LogString msg(event->getMessage());
+ LOGUNIT_ASSERT_EQUAL(LogString(LOG4CXX_STR("10")), msg);
+ }
+
+ void testUSetWidthInsert()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ root->setLevel(Level::getInfo());
+ ulogstream os(root, Level::getInfo());
+ os << std::setw(5);
+ LOGUNIT_ASSERT_EQUAL(5, os.width());
+ }
+
+#endif
#if LOG4CXX_CFSTRING_API
- void testCFString() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, CFSTR("This is a test"))
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testCFString()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, CFSTR("This is a test"))
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testCFStringAppend() {
- LoggerPtr root(Logger::getRootLogger());
- LOG4CXX_INFO(root, CFSTR("This is a test") << CFSTR(": Details to follow"))
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testCFStringAppend()
+ {
+ LoggerPtr root(Logger::getRootLogger());
+ LOG4CXX_INFO(root, CFSTR("This is a test") << CFSTR(": Details to follow"))
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testULogStreamCFString() {
- ulogstream root(Logger::getRootLogger(), Level::getInfo());
- root << CFSTR("This is a test") << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testULogStreamCFString()
+ {
+ ulogstream root(Logger::getRootLogger(), Level::getInfo());
+ root << CFSTR("This is a test") << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
- void testULogStreamCFString2() {
- ulogstream root(Logger::getRootLogger(), Level::getInfo());
- root << CFSTR("This is a test") << CFSTR(": Details to follow") << LOG4CXX_ENDMSG;
- LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
- }
+ void testULogStreamCFString2()
+ {
+ ulogstream root(Logger::getRootLogger(), Level::getInfo());
+ root << CFSTR("This is a test") << CFSTR(": Details to follow") << LOG4CXX_ENDMSG;
+ LOGUNIT_ASSERT_EQUAL((size_t) 1, vectorAppender->getVector().size());
+ }
#endif
};
@@ -591,15 +656,15 @@
// templated operator<< in class scope.s
namespace foo
{
- class Bar
- {
- void fn();
- };
-
-std::ostream &operator<<(std::ostream &o, Bar const &b)
- {
- return o << "Bar";
- }
+class Bar
+{
+ void fn();
+};
+
+std::ostream& operator<<(std::ostream& o, Bar const& b)
+{
+ return o << "Bar";
+}
}
@@ -607,13 +672,13 @@
namespace
{
- log4cxx::LoggerPtr logger(log4cxx::Logger::getLogger("foo"));
- log4cxx::logstream lout(logger, log4cxx::Level::getDebug());
+log4cxx::LoggerPtr logger(log4cxx::Logger::getLogger("foo"));
+log4cxx::logstream lout(logger, log4cxx::Level::getDebug());
}
void Bar::fn()
{
- lout << "hi" << LOG4CXX_ENDMSG;
+ lout << "hi" << LOG4CXX_ENDMSG;
}
#endif
diff --git a/src/test/cpp/testchar.h b/src/test/cpp/testchar.h
index 0ea7559..beab2e8 100644
--- a/src/test/cpp/testchar.h
+++ b/src/test/cpp/testchar.h
@@ -23,11 +23,11 @@
// check either the wchar_t or char based methods.
//
#if LOG4CXX_WCHAR_T_API && defined(LOG4CXX_TEST_WCHAR)
-#define LOG4CXX_TEST_STR(str) L ## str
-typedef wchar_t testchar;
+ #define LOG4CXX_TEST_STR(str) L ## str
+ typedef wchar_t testchar;
#else
-#define LOG4CXX_TEST_STR(str) str
-typedef char testchar;
+ #define LOG4CXX_TEST_STR(str) str
+ typedef char testchar;
#endif
#endif
diff --git a/src/test/cpp/util/absolutedateandtimefilter.cpp b/src/test/cpp/util/absolutedateandtimefilter.cpp
index 0e99213..d72129e 100644
--- a/src/test/cpp/util/absolutedateandtimefilter.cpp
+++ b/src/test/cpp/util/absolutedateandtimefilter.cpp
@@ -21,4 +21,4 @@
using namespace log4cxx::helpers;
AbsoluteDateAndTimeFilter::AbsoluteDateAndTimeFilter() :
- Filter(ABSOLUTE_DATE_AND_TIME_PAT, "") {}
+ Filter(ABSOLUTE_DATE_AND_TIME_PAT, "") {}
diff --git a/src/test/cpp/util/absolutedateandtimefilter.h b/src/test/cpp/util/absolutedateandtimefilter.h
index 98398eb..821cd86 100644
--- a/src/test/cpp/util/absolutedateandtimefilter.h
+++ b/src/test/cpp/util/absolutedateandtimefilter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class AbsoluteDateAndTimeFilter : public Filter
- {
- public:
- AbsoluteDateAndTimeFilter();
- };
+class AbsoluteDateAndTimeFilter : public Filter
+{
+ public:
+ AbsoluteDateAndTimeFilter();
+};
}
diff --git a/src/test/cpp/util/absolutetimefilter.cpp b/src/test/cpp/util/absolutetimefilter.cpp
index 082a579..87ac0a5 100644
--- a/src/test/cpp/util/absolutetimefilter.cpp
+++ b/src/test/cpp/util/absolutetimefilter.cpp
@@ -21,4 +21,4 @@
using namespace log4cxx::helpers;
AbsoluteTimeFilter::AbsoluteTimeFilter()
- : Filter(ABSOLUTE_TIME_PAT, "") {}
+ : Filter(ABSOLUTE_TIME_PAT, "") {}
diff --git a/src/test/cpp/util/absolutetimefilter.h b/src/test/cpp/util/absolutetimefilter.h
index 5869da4..3d82f63 100644
--- a/src/test/cpp/util/absolutetimefilter.h
+++ b/src/test/cpp/util/absolutetimefilter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class AbsoluteTimeFilter : public Filter
- {
- public:
- AbsoluteTimeFilter();
- };
+class AbsoluteTimeFilter : public Filter
+{
+ public:
+ AbsoluteTimeFilter();
+};
}
diff --git a/src/test/cpp/util/binarycompare.cpp b/src/test/cpp/util/binarycompare.cpp
index 917416b..5752ccb 100644
--- a/src/test/cpp/util/binarycompare.cpp
+++ b/src/test/cpp/util/binarycompare.cpp
@@ -26,57 +26,68 @@
using namespace log4cxx::helpers;
void BinaryCompare::compare(const char* filename1,
- const char* filename2) {
- Pool p;
- apr_pool_t* pool = p.getAPRPool();
- apr_file_t* file1;
- apr_int32_t flags = APR_FOPEN_READ;
- apr_fileperms_t perm = APR_OS_DEFAULT;
- apr_status_t stat1 = apr_file_open(&file1,
- filename1, flags, perm, pool);
- if (stat1 != APR_SUCCESS) {
- LOGUNIT_FAIL(std::string("Unable to open ") + filename1);
- }
+ const char* filename2)
+{
+ Pool p;
+ apr_pool_t* pool = p.getAPRPool();
+ apr_file_t* file1;
+ apr_int32_t flags = APR_FOPEN_READ;
+ apr_fileperms_t perm = APR_OS_DEFAULT;
+ apr_status_t stat1 = apr_file_open(&file1,
+ filename1, flags, perm, pool);
- apr_file_t* file2;
- apr_status_t stat2 = apr_file_open(&file2,
- filename2, flags, perm, pool);
- if (stat2 != APR_SUCCESS) {
- LOGUNIT_FAIL(std::string("Unable to open ") + filename2);
- }
+ if (stat1 != APR_SUCCESS)
+ {
+ LOGUNIT_FAIL(std::string("Unable to open ") + filename1);
+ }
- enum { BUFSIZE = 1024 };
- char* contents1 = (char*) apr_palloc(pool, BUFSIZE);
- char* contents2 = (char*) apr_palloc(pool, BUFSIZE);
- memset(contents1, 0, BUFSIZE);
- memset(contents2, 0, BUFSIZE);
- apr_size_t bytesRead1 = BUFSIZE;
- apr_size_t bytesRead2 = BUFSIZE;
+ apr_file_t* file2;
+ apr_status_t stat2 = apr_file_open(&file2,
+ filename2, flags, perm, pool);
- stat1 = apr_file_read(file1, contents1, &bytesRead1);
- if (stat1 != APR_SUCCESS) {
- LOGUNIT_FAIL(std::string("Unable to read ") + filename1);
- }
+ if (stat2 != APR_SUCCESS)
+ {
+ LOGUNIT_FAIL(std::string("Unable to open ") + filename2);
+ }
- stat2 = apr_file_read(file2, contents2, &bytesRead2);
- if (stat2 != APR_SUCCESS) {
- LOGUNIT_FAIL(std::string("Unable to read ") + filename2);
- }
+ enum { BUFSIZE = 1024 };
+ char* contents1 = (char*) apr_palloc(pool, BUFSIZE);
+ char* contents2 = (char*) apr_palloc(pool, BUFSIZE);
+ memset(contents1, 0, BUFSIZE);
+ memset(contents2, 0, BUFSIZE);
+ apr_size_t bytesRead1 = BUFSIZE;
+ apr_size_t bytesRead2 = BUFSIZE;
- for (int i = 0; i < BUFSIZE; i++) {
- if (contents1[i] != contents2[i]) {
- std::string msg("Contents differ at position ");
- msg += apr_itoa(pool, i);
- msg += ": [";
- msg += filename1;
- msg += "] has ";
- msg += apr_itoa(pool, contents1[i]);
- msg += ", [";
- msg += filename2;
- msg += "] has ";
- msg += apr_itoa(pool, contents2[i]);
- msg += ".";
- LOGUNIT_FAIL(msg);
- }
- }
+ stat1 = apr_file_read(file1, contents1, &bytesRead1);
+
+ if (stat1 != APR_SUCCESS)
+ {
+ LOGUNIT_FAIL(std::string("Unable to read ") + filename1);
+ }
+
+ stat2 = apr_file_read(file2, contents2, &bytesRead2);
+
+ if (stat2 != APR_SUCCESS)
+ {
+ LOGUNIT_FAIL(std::string("Unable to read ") + filename2);
+ }
+
+ for (int i = 0; i < BUFSIZE; i++)
+ {
+ if (contents1[i] != contents2[i])
+ {
+ std::string msg("Contents differ at position ");
+ msg += apr_itoa(pool, i);
+ msg += ": [";
+ msg += filename1;
+ msg += "] has ";
+ msg += apr_itoa(pool, contents1[i]);
+ msg += ", [";
+ msg += filename2;
+ msg += "] has ";
+ msg += apr_itoa(pool, contents2[i]);
+ msg += ".";
+ LOGUNIT_FAIL(msg);
+ }
+ }
}
diff --git a/src/test/cpp/util/binarycompare.h b/src/test/cpp/util/binarycompare.h
index d4706f3..f6215d8 100644
--- a/src/test/cpp/util/binarycompare.h
+++ b/src/test/cpp/util/binarycompare.h
@@ -19,18 +19,19 @@
namespace log4cxx
{
- namespace util {
- class BinaryCompare
- {
- private:
- /**
- * Class can not be constructed.
- */
- BinaryCompare();
+namespace util
+{
+class BinaryCompare
+{
+ private:
+ /**
+ * Class can not be constructed.
+ */
+ BinaryCompare();
- public:
- static void compare(const char* filename1,
- const char* filename2);
- };
- }
+ public:
+ static void compare(const char* filename1,
+ const char* filename2);
+};
+}
}
diff --git a/src/test/cpp/util/compare.cpp b/src/test/cpp/util/compare.cpp
index 6c8aa07..b16fc37 100644
--- a/src/test/cpp/util/compare.cpp
+++ b/src/test/cpp/util/compare.cpp
@@ -28,143 +28,160 @@
bool Compare::compare(const File& file1, const File& file2)
{
- Pool pool;
- InputStreamPtr fileIn1 = new FileInputStream(file1);
- InputStreamReaderPtr reader1 = new InputStreamReader(fileIn1);
- LogString in1(reader1->read(pool));
+ Pool pool;
+ InputStreamPtr fileIn1 = new FileInputStream(file1);
+ InputStreamReaderPtr reader1 = new InputStreamReader(fileIn1);
+ LogString in1(reader1->read(pool));
- Pool pool2;
- InputStreamPtr fileIn2 = new FileInputStream(file2);
- InputStreamReaderPtr reader2 = new InputStreamReader(fileIn2);
- LogString in2(reader2->read(pool2));
+ Pool pool2;
+ InputStreamPtr fileIn2 = new FileInputStream(file2);
+ InputStreamReaderPtr reader2 = new InputStreamReader(fileIn2);
+ LogString in2(reader2->read(pool2));
- LogString back1(in1);
- LogString back2(in2);
+ LogString back1(in1);
+ LogString back2(in2);
- LogString s1;
- LogString s2;
- int lineCounter = 0;
+ LogString s1;
+ LogString s2;
+ int lineCounter = 0;
- while (getline(in1, s1))
- {
- lineCounter++;
+ while (getline(in1, s1))
+ {
+ lineCounter++;
- if(!getline(in2, s2)) {
- s2.erase(s2.begin(), s2.end());
- }
+ if (!getline(in2, s2))
+ {
+ s2.erase(s2.begin(), s2.end());
+ }
- if (s1 != s2) {
- LogString msg(LOG4CXX_STR("Files ["));
- msg += file1.getPath();
- msg += LOG4CXX_STR("] and [");
- msg += file2.getPath();
- msg += LOG4CXX_STR("] differ on line ");
- StringHelper::toString(lineCounter, pool, msg);
- msg += LOG4CXX_EOL;
- msg += LOG4CXX_STR("One reads: [");
- msg += s1;
- msg += LOG4CXX_STR("].");
- msg += LOG4CXX_EOL;
- msg += LOG4CXX_STR("Other reads:[");
- msg += s2;
- msg += LOG4CXX_STR("].");
- msg += LOG4CXX_EOL;
- emit(msg);
+ if (s1 != s2)
+ {
+ LogString msg(LOG4CXX_STR("Files ["));
+ msg += file1.getPath();
+ msg += LOG4CXX_STR("] and [");
+ msg += file2.getPath();
+ msg += LOG4CXX_STR("] differ on line ");
+ StringHelper::toString(lineCounter, pool, msg);
+ msg += LOG4CXX_EOL;
+ msg += LOG4CXX_STR("One reads: [");
+ msg += s1;
+ msg += LOG4CXX_STR("].");
+ msg += LOG4CXX_EOL;
+ msg += LOG4CXX_STR("Other reads:[");
+ msg += s2;
+ msg += LOG4CXX_STR("].");
+ msg += LOG4CXX_EOL;
+ emit(msg);
- outputFile(file1, back1, pool);
- outputFile(file2, back2, pool);
+ outputFile(file1, back1, pool);
+ outputFile(file2, back2, pool);
- return false;
- }
- }
+ return false;
+ }
+ }
- // the second file is longer
- if (getline(in2, s2)) {
- LogString msg(LOG4CXX_STR("File ["));
- msg += file2.getPath();
- msg += LOG4CXX_STR("] longer than file [");
- msg += file1.getPath();
- msg += LOG4CXX_STR("].");
- msg += LOG4CXX_EOL;
- emit(msg);
- outputFile(file1, back1, pool);
- outputFile(file2, back2, pool);
+ // the second file is longer
+ if (getline(in2, s2))
+ {
+ LogString msg(LOG4CXX_STR("File ["));
+ msg += file2.getPath();
+ msg += LOG4CXX_STR("] longer than file [");
+ msg += file1.getPath();
+ msg += LOG4CXX_STR("].");
+ msg += LOG4CXX_EOL;
+ emit(msg);
+ outputFile(file1, back1, pool);
+ outputFile(file2, back2, pool);
- return false;
- }
+ return false;
+ }
- return true;
+ return true;
}
void Compare::outputFile(const File& file,
- const LogString& contents,
- log4cxx::helpers::Pool& pool)
+ const LogString& contents,
+ log4cxx::helpers::Pool& pool)
{
- int lineCounter = 0;
- emit(LOG4CXX_STR("--------------------------------"));
- emit(LOG4CXX_EOL);
- LogString msg(LOG4CXX_STR("Contents of "));
- msg += file.getPath();
- msg += LOG4CXX_STR(":");
- msg += LOG4CXX_EOL;
- emit(msg);
- LogString in1(contents);
- LogString s1;
+ int lineCounter = 0;
+ emit(LOG4CXX_STR("--------------------------------"));
+ emit(LOG4CXX_EOL);
+ LogString msg(LOG4CXX_STR("Contents of "));
+ msg += file.getPath();
+ msg += LOG4CXX_STR(":");
+ msg += LOG4CXX_EOL;
+ emit(msg);
+ LogString in1(contents);
+ LogString s1;
- while (getline(in1, s1))
- {
- lineCounter++;
- LogString line;
- StringHelper::toString(lineCounter, pool, line);
- emit(line);
+ while (getline(in1, s1))
+ {
+ lineCounter++;
+ LogString line;
+ StringHelper::toString(lineCounter, pool, line);
+ emit(line);
- if (lineCounter < 10)
- {
- emit(LOG4CXX_STR(" : "));
- }
- else if (lineCounter < 100)
- {
- emit(LOG4CXX_STR(" : "));
- }
- else if (lineCounter < 1000)
- {
- emit(LOG4CXX_STR(" : "));
- }
- else
- {
- emit(LOG4CXX_STR(": "));
- }
- emit(s1);
- emit(LOG4CXX_EOL);
- }
+ if (lineCounter < 10)
+ {
+ emit(LOG4CXX_STR(" : "));
+ }
+ else if (lineCounter < 100)
+ {
+ emit(LOG4CXX_STR(" : "));
+ }
+ else if (lineCounter < 1000)
+ {
+ emit(LOG4CXX_STR(" : "));
+ }
+ else
+ {
+ emit(LOG4CXX_STR(": "));
+ }
+
+ emit(s1);
+ emit(LOG4CXX_EOL);
+ }
}
-void Compare::emit(const LogString& s1) {
- SystemOutWriter::write(s1);
+void Compare::emit(const LogString& s1)
+{
+ SystemOutWriter::write(s1);
}
-bool Compare::getline(LogString& in, LogString& line) {
- if (in.empty()) {
- return false;
- }
- size_t nl = in.find(0x0A);
- if (nl == std::string::npos) {
- line = in;
- in.erase(in.begin(), in.end());
- } else {
- //
- // if the file has CR-LF then
- // drop the carriage return alse
- //
- if(nl > 0 && in[nl -1] == 0x0D) {
- line.assign(in, 0, nl - 1);
- } else {
- line.assign(in, 0, nl);
- }
- in.erase(in.begin(), in.begin() + nl + 1);
- }
- return true;
+bool Compare::getline(LogString& in, LogString& line)
+{
+ if (in.empty())
+ {
+ return false;
+ }
+
+ size_t nl = in.find(0x0A);
+
+ if (nl == std::string::npos)
+ {
+ line = in;
+ in.erase(in.begin(), in.end());
+ }
+ else
+ {
+ //
+ // if the file has CR-LF then
+ // drop the carriage return alse
+ //
+ if (nl > 0 && in[nl - 1] == 0x0D)
+ {
+ line.assign(in, 0, nl - 1);
+ }
+ else
+ {
+ line.assign(in, 0, nl);
+ }
+
+ in.erase(in.begin(), in.begin() + nl + 1);
+ }
+
+ return true;
}
diff --git a/src/test/cpp/util/compare.h b/src/test/cpp/util/compare.h
index 656ebd2..3881050 100644
--- a/src/test/cpp/util/compare.h
+++ b/src/test/cpp/util/compare.h
@@ -19,25 +19,26 @@
namespace log4cxx
{
- class File;
- namespace helpers {
- class Pool;
- }
+class File;
+namespace helpers
+{
+class Pool;
+}
- class Compare
- {
- public:
- static bool compare(const File& file1,
- const File& file2);
+class Compare
+{
+ public:
+ static bool compare(const File& file1,
+ const File& file2);
- private:
- /// Prints file on the console.
- static void outputFile(const File& file,
- const LogString& contents,
- log4cxx::helpers::Pool& pool);
+ private:
+ /// Prints file on the console.
+ static void outputFile(const File& file,
+ const LogString& contents,
+ log4cxx::helpers::Pool& pool);
- static void emit(const LogString &line);
- static bool getline(LogString& buf, LogString& line);
+ static void emit(const LogString& line);
+ static bool getline(LogString& buf, LogString& line);
- };
+};
}
diff --git a/src/test/cpp/util/controlfilter.cpp b/src/test/cpp/util/controlfilter.cpp
index dfd7dec..46dd39e 100644
--- a/src/test/cpp/util/controlfilter.cpp
+++ b/src/test/cpp/util/controlfilter.cpp
@@ -26,5 +26,5 @@
ControlFilter& ControlFilter::operator<<(const std::string&)
{
- return *this;
+ return *this;
}
diff --git a/src/test/cpp/util/controlfilter.h b/src/test/cpp/util/controlfilter.h
index 5d1b77c..0382d23 100644
--- a/src/test/cpp/util/controlfilter.h
+++ b/src/test/cpp/util/controlfilter.h
@@ -23,13 +23,13 @@
namespace log4cxx
{
- class ControlFilter : public Filter
- {
- public:
- ControlFilter();
- ControlFilter& operator<<(const std::string& allowedPattern);
+class ControlFilter : public Filter
+{
+ public:
+ ControlFilter();
+ ControlFilter& operator<<(const std::string& allowedPattern);
- };
+};
}
diff --git a/src/test/cpp/util/filenamefilter.cpp b/src/test/cpp/util/filenamefilter.cpp
index af45768..9963815 100644
--- a/src/test/cpp/util/filenamefilter.cpp
+++ b/src/test/cpp/util/filenamefilter.cpp
@@ -20,19 +20,26 @@
using namespace log4cxx;
using namespace log4cxx::helpers;
-FilenameFilter::FilenameFilter(const std::string& actual, const std::string& expected) {
- std::string pattern(actual);
- size_t backslash = pattern.rfind('\\', pattern.length() - 1);
- while (backslash != std::string::npos) {
- pattern.replace(backslash, 1, "\\\\", 2);
- if (backslash == 0) {
- backslash = std::string::npos;
- } else {
- backslash = pattern.rfind('\\', backslash - 1);
- }
- }
-
- patterns.push_back( PatternReplacement(pattern, expected) );
+FilenameFilter::FilenameFilter(const std::string& actual, const std::string& expected)
+{
+ std::string pattern(actual);
+ size_t backslash = pattern.rfind('\\', pattern.length() - 1);
+
+ while (backslash != std::string::npos)
+ {
+ pattern.replace(backslash, 1, "\\\\", 2);
+
+ if (backslash == 0)
+ {
+ backslash = std::string::npos;
+ }
+ else
+ {
+ backslash = pattern.rfind('\\', backslash - 1);
+ }
+ }
+
+ patterns.push_back( PatternReplacement(pattern, expected) );
}
diff --git a/src/test/cpp/util/filenamefilter.h b/src/test/cpp/util/filenamefilter.h
index ce12bc6..e6fc39b 100644
--- a/src/test/cpp/util/filenamefilter.h
+++ b/src/test/cpp/util/filenamefilter.h
@@ -22,12 +22,12 @@
namespace log4cxx
{
- class FilenameFilter : public Filter
- {
- public:
- FilenameFilter(const std::string& actual, const std::string& expected);
- static const std::string getMatch(const std::string& actual);
- };
+class FilenameFilter : public Filter
+{
+ public:
+ FilenameFilter(const std::string& actual, const std::string& expected);
+ static const std::string getMatch(const std::string& actual);
+};
}
diff --git a/src/test/cpp/util/filter.h b/src/test/cpp/util/filter.h
index fe2a2b1..18b6dc6 100644
--- a/src/test/cpp/util/filter.h
+++ b/src/test/cpp/util/filter.h
@@ -19,8 +19,8 @@
#define _LOG4CXX_TESTS_UTIL_FILTER_H
#if defined(_MSC_VER)
-#pragma warning (push)
-#pragma warning ( disable: 4231 4251 4275 4786 )
+ #pragma warning (push)
+ #pragma warning ( disable: 4231 4251 4275 4786 )
#endif
#include <string>
@@ -31,38 +31,40 @@
#define BASIC_PAT "\\[0x[0-9A-F]*] (FATAL|ERROR|WARN|INFO|DEBUG)"
#define ISO8601_PAT "[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [0-9]\\{2\\}:[0-9]\\{2\\}:[0-9]\\{2\\},[0-9]\\{3\\}"
#define ABSOLUTE_DATE_AND_TIME_PAT \
- "[0-9]\\{1,2\\} .* 2[0-9][0-9][0-9] [0-9]\\{2\\}:[0-9]\\{2\\}:[0-9]\\{2\\},[0-9]\\{3\\}"
+ "[0-9]\\{1,2\\} .* 2[0-9][0-9][0-9] [0-9]\\{2\\}:[0-9]\\{2\\}:[0-9]\\{2\\},[0-9]\\{3\\}"
#define ABSOLUTE_TIME_PAT "[0-2][0-9]:[0-9][0-9]:[0-9][0-9],[0-9][0-9][0-9]"
#define RELATIVE_TIME_PAT "^[0-9]+"
namespace log4cxx
{
- class UnexpectedFormatException : public std::exception {
- };
+class UnexpectedFormatException : public std::exception
+{
+};
- class Filter
- {
- public:
- Filter(const std::string& match, const std::string& replacement);
- Filter();
- virtual ~Filter();
+class Filter
+{
+ public:
+ Filter(const std::string& match, const std::string& replacement);
+ Filter();
+ virtual ~Filter();
- typedef std::pair<std::string, std::string> PatternReplacement;
- typedef std::vector <PatternReplacement> PatternList;
- const PatternList& getPatterns() const{
- return patterns;
- }
+ typedef std::pair<std::string, std::string> PatternReplacement;
+ typedef std::vector <PatternReplacement> PatternList;
+ const PatternList& getPatterns() const
+ {
+ return patterns;
+ }
- private:
- Filter(const Filter&);
- Filter& operator=(const Filter&);
- protected:
- PatternList patterns;
- };
+ private:
+ Filter(const Filter&);
+ Filter& operator=(const Filter&);
+ protected:
+ PatternList patterns;
+};
}
#if defined(_MSC_VER)
-#pragma warning (pop)
+ #pragma warning (pop)
#endif
#endif //_LOG4CXX_TESTS_UTIL_FILTER_H
diff --git a/src/test/cpp/util/iso8601filter.h b/src/test/cpp/util/iso8601filter.h
index 13f65eb..7f27809 100644
--- a/src/test/cpp/util/iso8601filter.h
+++ b/src/test/cpp/util/iso8601filter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class ISO8601Filter : public Filter
- {
- public:
- ISO8601Filter();
- };
+class ISO8601Filter : public Filter
+{
+ public:
+ ISO8601Filter();
+};
}
diff --git a/src/test/cpp/util/linenumberfilter.cpp b/src/test/cpp/util/linenumberfilter.cpp
index dad37ed..9f3268f 100644
--- a/src/test/cpp/util/linenumberfilter.cpp
+++ b/src/test/cpp/util/linenumberfilter.cpp
@@ -22,6 +22,6 @@
LineNumberFilter::LineNumberFilter()
{
- patterns.push_back( PatternReplacement(" [^ ]*[\\\\]", " "));
- patterns.push_back( PatternReplacement("([0-9]*)", "(X)"));
+ patterns.push_back( PatternReplacement(" [^ ]*[\\\\]", " "));
+ patterns.push_back( PatternReplacement("([0-9]*)", "(X)"));
}
diff --git a/src/test/cpp/util/linenumberfilter.h b/src/test/cpp/util/linenumberfilter.h
index baa2fde..24a4b76 100644
--- a/src/test/cpp/util/linenumberfilter.h
+++ b/src/test/cpp/util/linenumberfilter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class LineNumberFilter : public Filter
- {
- public:
- LineNumberFilter();
- };
+class LineNumberFilter : public Filter
+{
+ public:
+ LineNumberFilter();
+};
}
diff --git a/src/test/cpp/util/relativetimefilter.cpp b/src/test/cpp/util/relativetimefilter.cpp
index 0a2c1bc..743dc51 100644
--- a/src/test/cpp/util/relativetimefilter.cpp
+++ b/src/test/cpp/util/relativetimefilter.cpp
@@ -20,5 +20,5 @@
using namespace log4cxx;
using namespace log4cxx::helpers;
-RelativeTimeFilter::RelativeTimeFilter()
- : Filter(RELATIVE_TIME_PAT, "") {}
+RelativeTimeFilter::RelativeTimeFilter()
+ : Filter(RELATIVE_TIME_PAT, "") {}
diff --git a/src/test/cpp/util/relativetimefilter.h b/src/test/cpp/util/relativetimefilter.h
index 1d625cb..ff7eb0f 100644
--- a/src/test/cpp/util/relativetimefilter.h
+++ b/src/test/cpp/util/relativetimefilter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class RelativeTimeFilter : public Filter
- {
- public:
- RelativeTimeFilter();
- };
+class RelativeTimeFilter : public Filter
+{
+ public:
+ RelativeTimeFilter();
+};
}
diff --git a/src/test/cpp/util/serializationtesthelper.cpp b/src/test/cpp/util/serializationtesthelper.cpp
index fa4b715..b495499 100644
--- a/src/test/cpp/util/serializationtesthelper.cpp
+++ b/src/test/cpp/util/serializationtesthelper.cpp
@@ -31,51 +31,58 @@
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();
+ 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;
- }
+ if (bytesRead < endCompare)
+ {
+ puts("Witness file is shorter than expected");
+ return false;
+ }
- int endScan = actual.size();
+ int endScan = actual.size();
- if (endScan > endCompare) {
- endScan = endCompare;
- }
+ if (endScan > endCompare)
+ {
+ endScan = endCompare;
+ }
- 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;
-
+ 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;
+
}
diff --git a/src/test/cpp/util/serializationtesthelper.h b/src/test/cpp/util/serializationtesthelper.h
index 63b5b74..5d1cdcd 100644
--- a/src/test/cpp/util/serializationtesthelper.h
+++ b/src/test/cpp/util/serializationtesthelper.h
@@ -22,21 +22,23 @@
namespace log4cxx
{
- namespace util {
- class SerializationTestHelper {
- public:
- static bool compare(const char* filename,
- const log4cxx::spi::LoggingEventPtr& event,
- size_t stopCompare);
- static bool compare(const char* filename,
- const std::vector<unsigned char>& array,
- size_t stopCompare, log4cxx::helpers::Pool& p);
- private:
- SerializationTestHelper();
- SerializationTestHelper(const SerializationTestHelper&);
- SerializationTestHelper& operator=(SerializationTestHelper&);
- };
- }
+namespace util
+{
+class SerializationTestHelper
+{
+ public:
+ static bool compare(const char* filename,
+ const log4cxx::spi::LoggingEventPtr& event,
+ size_t stopCompare);
+ static bool compare(const char* filename,
+ const std::vector<unsigned char>& array,
+ size_t stopCompare, log4cxx::helpers::Pool& p);
+ private:
+ SerializationTestHelper();
+ SerializationTestHelper(const SerializationTestHelper&);
+ SerializationTestHelper& operator=(SerializationTestHelper&);
+};
+}
}
#endif
diff --git a/src/test/cpp/util/threadfilter.h b/src/test/cpp/util/threadfilter.h
index 0408fcd..60be36a 100644
--- a/src/test/cpp/util/threadfilter.h
+++ b/src/test/cpp/util/threadfilter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class ThreadFilter : public Filter
- {
- public:
- ThreadFilter();
- };
+class ThreadFilter : public Filter
+{
+ public:
+ ThreadFilter();
+};
}
diff --git a/src/test/cpp/util/transformer.cpp b/src/test/cpp/util/transformer.cpp
index b7c8ad8..037dd44 100644
--- a/src/test/cpp/util/transformer.cpp
+++ b/src/test/cpp/util/transformer.cpp
@@ -29,194 +29,214 @@
using namespace log4cxx::helpers;
#if !defined(APR_FOPEN_READ)
-#define APR_FOPEN_READ APR_READ
-#define APR_FOPEN_CREATE APR_CREATE
-#define APR_FOPEN_WRITE APR_WRITE
-#define APR_FOPEN_TRUNCATE APR_TRUNCATE
-#define APR_FOPEN_APPEND APR_APPEND
+ #define APR_FOPEN_READ APR_READ
+ #define APR_FOPEN_CREATE APR_CREATE
+ #define APR_FOPEN_WRITE APR_WRITE
+ #define APR_FOPEN_TRUNCATE APR_TRUNCATE
+ #define APR_FOPEN_APPEND APR_APPEND
#endif
void Transformer::transform(const File& in, const File& out,
- const std::vector<Filter *>& filters)
+ const std::vector<Filter*>& filters)
{
- log4cxx::Filter::PatternList patterns;
- for(std::vector<Filter*>::const_iterator iter = filters.begin();
- iter != filters.end();
- iter++) {
+ log4cxx::Filter::PatternList patterns;
- const log4cxx::Filter::PatternList& thesePatterns = (*iter)->getPatterns();
- for (log4cxx::Filter::PatternList::const_iterator pattern = thesePatterns.begin();
- pattern != thesePatterns.end();
- pattern++) {
- patterns.push_back(*pattern);
- }
- }
- transform(in, out, patterns);
+ for (std::vector<Filter*>::const_iterator iter = filters.begin();
+ iter != filters.end();
+ iter++)
+ {
+
+ const log4cxx::Filter::PatternList& thesePatterns = (*iter)->getPatterns();
+
+ for (log4cxx::Filter::PatternList::const_iterator pattern = thesePatterns.begin();
+ pattern != thesePatterns.end();
+ pattern++)
+ {
+ patterns.push_back(*pattern);
+ }
+ }
+
+ transform(in, out, patterns);
}
void Transformer::transform(const File& in, const File& out,
- const Filter& filter)
+ const Filter& filter)
{
- transform(in, out, filter.getPatterns());
+ transform(in, out, filter.getPatterns());
}
-void Transformer::copyFile(const File& in, const File& out) {
- Pool p;
- apr_pool_t* pool = p.getAPRPool();
+void Transformer::copyFile(const File& in, const File& out)
+{
+ Pool p;
+ apr_pool_t* pool = p.getAPRPool();
- //
- // fairly naive file copy code
- //
- //
- apr_file_t* child_out;
- apr_int32_t flags = APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE;
- apr_status_t stat = out.open(&child_out, flags, APR_OS_DEFAULT, p);
- assert(stat == APR_SUCCESS);
+ //
+ // fairly naive file copy code
+ //
+ //
+ apr_file_t* child_out;
+ apr_int32_t flags = APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE;
+ apr_status_t stat = out.open(&child_out, flags, APR_OS_DEFAULT, p);
+ assert(stat == APR_SUCCESS);
- apr_file_t* in_file;
- stat = in.open(&in_file, APR_FOPEN_READ, APR_OS_DEFAULT, p);
- assert(stat == APR_SUCCESS);
- apr_size_t bufsize = 32000;
- void* buf = apr_palloc(pool, bufsize);
- apr_size_t bytesRead = bufsize;
+ apr_file_t* in_file;
+ stat = in.open(&in_file, APR_FOPEN_READ, APR_OS_DEFAULT, p);
+ assert(stat == APR_SUCCESS);
+ apr_size_t bufsize = 32000;
+ void* buf = apr_palloc(pool, bufsize);
+ apr_size_t bytesRead = bufsize;
- while(stat == 0 && bytesRead == bufsize) {
- stat = apr_file_read(in_file, buf, &bytesRead);
- if (stat == 0 && bytesRead > 0) {
- stat = apr_file_write(child_out, buf, &bytesRead);
- assert(stat == APR_SUCCESS);
- }
- }
- stat = apr_file_close(child_out);
- assert(stat == APR_SUCCESS);
+ while (stat == 0 && bytesRead == bufsize)
+ {
+ stat = apr_file_read(in_file, buf, &bytesRead);
+
+ if (stat == 0 && bytesRead > 0)
+ {
+ stat = apr_file_write(child_out, buf, &bytesRead);
+ assert(stat == APR_SUCCESS);
+ }
+ }
+
+ stat = apr_file_close(child_out);
+ assert(stat == APR_SUCCESS);
}
void Transformer::createSedCommandFile(const std::string& regexName,
- const log4cxx::Filter::PatternList& patterns,
- apr_pool_t* pool) {
- apr_file_t* regexFile;
- apr_status_t stat = apr_file_open(®exFile,
- regexName.c_str(),
- APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE, APR_OS_DEFAULT,
- pool);
- assert(stat == APR_SUCCESS);
+ const log4cxx::Filter::PatternList& patterns,
+ apr_pool_t* pool)
+{
+ apr_file_t* regexFile;
+ apr_status_t stat = apr_file_open(®exFile,
+ regexName.c_str(),
+ APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE, APR_OS_DEFAULT,
+ pool);
+ assert(stat == APR_SUCCESS);
- std::string tmp;
- for (log4cxx::Filter::PatternList::const_iterator iter = patterns.begin();
- iter != patterns.end();
- iter++) {
- tmp = "sQ";
- tmp.append(iter->first);
- tmp.append(1, 'Q');
- tmp.append(iter->second);
- tmp.append("Qg\n");
- apr_file_puts(tmp.c_str(), regexFile);
- }
- apr_file_close(regexFile);
+ std::string tmp;
+
+ for (log4cxx::Filter::PatternList::const_iterator iter = patterns.begin();
+ iter != patterns.end();
+ iter++)
+ {
+ tmp = "sQ";
+ tmp.append(iter->first);
+ tmp.append(1, 'Q');
+ tmp.append(iter->second);
+ tmp.append("Qg\n");
+ apr_file_puts(tmp.c_str(), regexFile);
+ }
+
+ apr_file_close(regexFile);
}
void Transformer::transform(const File& in, const File& out,
- const log4cxx::Filter::PatternList& patterns)
+ const log4cxx::Filter::PatternList& patterns)
{
- //
- // if no patterns just copy the file
- //
- if (patterns.size() == 0) {
- copyFile(in, out);
- } else {
- Pool p;
- apr_pool_t* pool = p.getAPRPool();
-
- //
- // write the regex's to a temporary file since they
- // may get mangled if passed as parameters
- //
- std::string regexName;
- Transcoder::encode(in.getPath(), regexName);
- regexName.append(".sed");
- createSedCommandFile(regexName, patterns, pool);
+ //
+ // if no patterns just copy the file
+ //
+ if (patterns.size() == 0)
+ {
+ copyFile(in, out);
+ }
+ else
+ {
+ Pool p;
+ apr_pool_t* pool = p.getAPRPool();
+
+ //
+ // write the regex's to a temporary file since they
+ // may get mangled if passed as parameters
+ //
+ std::string regexName;
+ Transcoder::encode(in.getPath(), regexName);
+ regexName.append(".sed");
+ createSedCommandFile(regexName, patterns, pool);
- //
- // prepare to launch sed
- //
- //
- apr_procattr_t* attr = NULL;
- apr_status_t stat = apr_procattr_create(&attr, pool);
- assert(stat == APR_SUCCESS);
+ //
+ // prepare to launch sed
+ //
+ //
+ apr_procattr_t* attr = NULL;
+ apr_status_t stat = apr_procattr_create(&attr, pool);
+ assert(stat == APR_SUCCESS);
- stat = apr_procattr_io_set(attr, APR_NO_PIPE, APR_FULL_BLOCK,
- APR_FULL_BLOCK);
- assert(stat == APR_SUCCESS);
+ stat = apr_procattr_io_set(attr, APR_NO_PIPE, APR_FULL_BLOCK,
+ APR_FULL_BLOCK);
+ assert(stat == APR_SUCCESS);
- //
- // find the program on the path
- //
- stat = apr_procattr_cmdtype_set(attr, APR_PROGRAM_PATH);
- assert(stat == APR_SUCCESS);
+ //
+ // find the program on the path
+ //
+ stat = apr_procattr_cmdtype_set(attr, APR_PROGRAM_PATH);
+ assert(stat == APR_SUCCESS);
- //
- // build the argument list
- // using Q as regex separator on s command
- //
- const char** args = (const char**)
- apr_palloc(pool, 5 * sizeof(*args));
- int i = 0;
+ //
+ // build the argument list
+ // using Q as regex separator on s command
+ //
+ const char** args = (const char**)
+ apr_palloc(pool, 5 * sizeof(*args));
+ int i = 0;
- //
- // not well documented
- // but the first arg is a duplicate of the executable name
- //
- args[i++] = "sed";
+ //
+ // not well documented
+ // but the first arg is a duplicate of the executable name
+ //
+ args[i++] = "sed";
- std::string regexArg("-f");
- regexArg.append(regexName);
- args[i++] = apr_pstrdup(pool, regexArg.c_str());
+ std::string regexArg("-f");
+ regexArg.append(regexName);
+ args[i++] = apr_pstrdup(pool, regexArg.c_str());
- //
- // specify the input file
- args[i++] = Transcoder::encode(in.getPath(), p);
- args[i] = NULL;
+ //
+ // specify the input file
+ args[i++] = Transcoder::encode(in.getPath(), p);
+ args[i] = NULL;
- //
- // set the output stream to the filtered file
- //
- apr_file_t* child_out;
- apr_int32_t flags = APR_FOPEN_READ | APR_FOPEN_WRITE |
- APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE;
- stat = out.open(&child_out, flags, APR_OS_DEFAULT, p);
- assert(stat == APR_SUCCESS);
+ //
+ // set the output stream to the filtered file
+ //
+ apr_file_t* child_out;
+ apr_int32_t flags = APR_FOPEN_READ | APR_FOPEN_WRITE |
+ APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE;
+ stat = out.open(&child_out, flags, APR_OS_DEFAULT, p);
+ assert(stat == APR_SUCCESS);
- stat = apr_procattr_child_out_set(attr, child_out, NULL);
- assert(stat == APR_SUCCESS);
+ stat = apr_procattr_child_out_set(attr, child_out, NULL);
+ assert(stat == APR_SUCCESS);
- //
- // redirect the child's error stream to this processes' error stream
- //
- apr_file_t* child_err;
- stat = apr_file_open_stderr(&child_err, pool);
- assert(stat == 0);
- stat = apr_procattr_child_err_set(attr, child_err, NULL);
- assert(stat == APR_SUCCESS);
+ //
+ // redirect the child's error stream to this processes' error stream
+ //
+ apr_file_t* child_err;
+ stat = apr_file_open_stderr(&child_err, pool);
+ assert(stat == 0);
+ stat = apr_procattr_child_err_set(attr, child_err, NULL);
+ assert(stat == APR_SUCCESS);
- apr_proc_t pid;
- stat = apr_proc_create(&pid,"sed", args, NULL, attr, pool);
- if (stat != APR_SUCCESS) {
- puts("Error invoking sed, sed must be on the path in order to run unit tests");
- }
- assert(stat == APR_SUCCESS);
+ apr_proc_t pid;
+ stat = apr_proc_create(&pid, "sed", args, NULL, attr, pool);
- apr_proc_wait(&pid, NULL, NULL, APR_WAIT);
- stat = apr_file_close(child_out);
- assert(stat == APR_SUCCESS);
- }
+ if (stat != APR_SUCCESS)
+ {
+ puts("Error invoking sed, sed must be on the path in order to run unit tests");
+ }
+
+ assert(stat == APR_SUCCESS);
+
+ apr_proc_wait(&pid, NULL, NULL, APR_WAIT);
+ stat = apr_file_close(child_out);
+ assert(stat == APR_SUCCESS);
+ }
}
diff --git a/src/test/cpp/util/transformer.h b/src/test/cpp/util/transformer.h
index cf7becd..0dd62de 100644
--- a/src/test/cpp/util/transformer.h
+++ b/src/test/cpp/util/transformer.h
@@ -22,35 +22,35 @@
#include <vector>
extern "C" {
-struct apr_pool_t;
+ struct apr_pool_t;
}
namespace log4cxx
{
- class File;
+class File;
- class Transformer
- {
- public:
- static void transform(const File& in,
- const File& out,
- const std::vector<Filter *>& filters);
+class Transformer
+{
+ public:
+ static void transform(const File& in,
+ const File& out,
+ const std::vector<Filter*>& filters);
- static void transform(const File& in,
- const File& out,
- const Filter& filter);
-
- static void transform(const File& in,
- const File& out,
- const std::vector< log4cxx::Filter::PatternReplacement >& patterns);
- private:
- static void copyFile(const File& in,
- const File& out);
- static void createSedCommandFile(const std::string& regexName,
- const log4cxx::Filter::PatternList& patterns,
- apr_pool_t* pool);
-
- };
+ static void transform(const File& in,
+ const File& out,
+ const Filter& filter);
+
+ static void transform(const File& in,
+ const File& out,
+ const std::vector< log4cxx::Filter::PatternReplacement >& patterns);
+ private:
+ static void copyFile(const File& in,
+ const File& out);
+ static void createSedCommandFile(const std::string& regexName,
+ const log4cxx::Filter::PatternList& patterns,
+ apr_pool_t* pool);
+
+};
}
#endif //_LOG4CXX_TESTS_UTIL_TRANSFORMER_H
diff --git a/src/test/cpp/util/utilfilter.cpp b/src/test/cpp/util/utilfilter.cpp
index 6ec35e5..811e531 100644
--- a/src/test/cpp/util/utilfilter.cpp
+++ b/src/test/cpp/util/utilfilter.cpp
@@ -24,8 +24,9 @@
Filter::Filter() {}
Filter::Filter(const std::string& match,
- const std::string& replacement) {
- patterns.push_back( PatternReplacement(match, replacement));
+ const std::string& replacement)
+{
+ patterns.push_back( PatternReplacement(match, replacement));
}
-
+
Filter::~Filter() {}
diff --git a/src/test/cpp/util/xmlfilenamefilter.cpp b/src/test/cpp/util/xmlfilenamefilter.cpp
index b2fe716..c310957 100644
--- a/src/test/cpp/util/xmlfilenamefilter.cpp
+++ b/src/test/cpp/util/xmlfilenamefilter.cpp
@@ -20,11 +20,12 @@
using namespace log4cxx;
using namespace log4cxx::helpers;
-XMLFilenameFilter::XMLFilenameFilter(const std::string& /*actual*/, const std::string& expected) {
- std::string pattern(" file=\\(.\\).*");
- pattern += expected;
+XMLFilenameFilter::XMLFilenameFilter(const std::string& /*actual*/, const std::string& expected)
+{
+ std::string pattern(" file=\\(.\\).*");
+ pattern += expected;
- std::string replacement(" file=\\\\1");
- replacement += expected;
-// patterns.push_back( PatternReplacement(pattern, replacement) );
+ std::string replacement(" file=\\\\1");
+ replacement += expected;
+ // patterns.push_back( PatternReplacement(pattern, replacement) );
}
diff --git a/src/test/cpp/util/xmlfilenamefilter.h b/src/test/cpp/util/xmlfilenamefilter.h
index ff56763..64d8051 100644
--- a/src/test/cpp/util/xmlfilenamefilter.h
+++ b/src/test/cpp/util/xmlfilenamefilter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class XMLFilenameFilter : public Filter
- {
- public:
- XMLFilenameFilter(const std::string& actual, const std::string& expected);
- };
+class XMLFilenameFilter : public Filter
+{
+ public:
+ XMLFilenameFilter(const std::string& actual, const std::string& expected);
+};
}
diff --git a/src/test/cpp/util/xmllineattributefilter.cpp b/src/test/cpp/util/xmllineattributefilter.cpp
index b5b9714..6f21688 100644
--- a/src/test/cpp/util/xmllineattributefilter.cpp
+++ b/src/test/cpp/util/xmllineattributefilter.cpp
@@ -20,6 +20,7 @@
using namespace log4cxx;
using namespace log4cxx::helpers;
-XMLLineAttributeFilter::XMLLineAttributeFilter() {
- patterns.push_back( PatternReplacement("line=\\(.+\\)[0-9]+", "line=\\\\1X"));
+XMLLineAttributeFilter::XMLLineAttributeFilter()
+{
+ patterns.push_back( PatternReplacement("line=\\(.+\\)[0-9]+", "line=\\\\1X"));
}
diff --git a/src/test/cpp/util/xmllineattributefilter.h b/src/test/cpp/util/xmllineattributefilter.h
index 36f216f..714f2c7 100644
--- a/src/test/cpp/util/xmllineattributefilter.h
+++ b/src/test/cpp/util/xmllineattributefilter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class XMLLineAttributeFilter : public Filter
- {
- public:
- XMLLineAttributeFilter();
- };
+class XMLLineAttributeFilter : public Filter
+{
+ public:
+ XMLLineAttributeFilter();
+};
}
diff --git a/src/test/cpp/util/xmlthreadfilter.cpp b/src/test/cpp/util/xmlthreadfilter.cpp
index 302761e..ec4532f 100644
--- a/src/test/cpp/util/xmlthreadfilter.cpp
+++ b/src/test/cpp/util/xmlthreadfilter.cpp
@@ -21,5 +21,6 @@
using namespace log4cxx::helpers;
XMLThreadFilter::XMLThreadFilter()
- : Filter("thread=\\\"[0-9A-Fa-fXx]*", "thread=\\\"main") {
+ : Filter("thread=\\\"[0-9A-Fa-fXx]*", "thread=\\\"main")
+{
}
diff --git a/src/test/cpp/util/xmlthreadfilter.h b/src/test/cpp/util/xmlthreadfilter.h
index c246fea..6ecc532 100644
--- a/src/test/cpp/util/xmlthreadfilter.h
+++ b/src/test/cpp/util/xmlthreadfilter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class XMLThreadFilter : public Filter
- {
- public:
- XMLThreadFilter();
- };
+class XMLThreadFilter : public Filter
+{
+ public:
+ XMLThreadFilter();
+};
}
diff --git a/src/test/cpp/util/xmltimestampfilter.cpp b/src/test/cpp/util/xmltimestampfilter.cpp
index 5094de3..734cadc 100644
--- a/src/test/cpp/util/xmltimestampfilter.cpp
+++ b/src/test/cpp/util/xmltimestampfilter.cpp
@@ -21,6 +21,6 @@
using namespace log4cxx::helpers;
XMLTimestampFilter::XMLTimestampFilter()
- : Filter("[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*", "XXX") {}
+ : Filter("[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*", "XXX") {}
diff --git a/src/test/cpp/util/xmltimestampfilter.h b/src/test/cpp/util/xmltimestampfilter.h
index b0ca75b..2139b36 100644
--- a/src/test/cpp/util/xmltimestampfilter.h
+++ b/src/test/cpp/util/xmltimestampfilter.h
@@ -22,11 +22,11 @@
namespace log4cxx
{
- class XMLTimestampFilter : public Filter
- {
- public:
- XMLTimestampFilter();
- };
+class XMLTimestampFilter : public Filter
+{
+ public:
+ XMLTimestampFilter();
+};
}
diff --git a/src/test/cpp/varia/errorhandlertestcase.cpp b/src/test/cpp/varia/errorhandlertestcase.cpp
index dc527df..1385182 100644
--- a/src/test/cpp/varia/errorhandlertestcase.cpp
+++ b/src/test/cpp/varia/errorhandlertestcase.cpp
@@ -32,87 +32,87 @@
LOGUNIT_CLASS(ErrorHandlerTestCase)
{
- LOGUNIT_TEST_SUITE(ErrorHandlerTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(ErrorHandlerTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- LoggerPtr logger;
+ LoggerPtr root;
+ LoggerPtr logger;
public:
- void setUp()
- {
- root = Logger::getRootLogger();
- logger = Logger::getLogger("test");
- }
+ void setUp()
+ {
+ root = Logger::getRootLogger();
+ logger = Logger::getLogger("test");
+ }
- void tearDown()
- {
- logger->getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ logger->getLoggerRepository()->resetConfiguration();
+ }
- void test1()
- {
- DOMConfigurator::configure("input/xml/fallback1.xml");
- FileAppenderPtr primary(root->getAppender(LOG4CXX_STR("PRIMARY")));
- log4cxx::varia::FallbackErrorHandlerPtr eh(primary->getErrorHandler());
- LOGUNIT_ASSERT(eh != 0);
-
- common();
+ void test1()
+ {
+ DOMConfigurator::configure("input/xml/fallback1.xml");
+ FileAppenderPtr primary(root->getAppender(LOG4CXX_STR("PRIMARY")));
+ log4cxx::varia::FallbackErrorHandlerPtr eh(primary->getErrorHandler());
+ LOGUNIT_ASSERT(eh != 0);
- std::string TEST1_PAT =
- "FALLBACK - (root|test) - Message {0-9}";
+ common();
- ControlFilter cf;
- cf << TEST1_PAT;
+ std::string TEST1_PAT =
+ "FALLBACK - (root|test) - Message {0-9}";
- LineNumberFilter lineNumberFilter;
+ ControlFilter cf;
+ cf << TEST1_PAT;
- std::vector<Filter *> filters;
- filters.push_back(&cf);
- filters.push_back(&lineNumberFilter);
+ LineNumberFilter lineNumberFilter;
- try
- {
- Transformer::transform("output/temp", "output/filtered", filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ std::vector<Filter*> filters;
+ filters.push_back(&cf);
+ filters.push_back(&lineNumberFilter);
+
+ try
+ {
+ Transformer::transform("output/temp", "output/filtered", filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare("output/filtered", "witness/fallback1"));
- }
+ LOGUNIT_ASSERT(Compare::compare("output/filtered", "witness/fallback1"));
+ }
- void common()
- {
- int i = -1;
-
- LOG4CXX_DEBUG(logger, "Message " << ++i);
- LOG4CXX_DEBUG(root, "Message " << i);
+ void common()
+ {
+ int i = -1;
- LOG4CXX_INFO(logger, "Message " << ++i);
- LOG4CXX_INFO(root, "Message " << i);
+ LOG4CXX_DEBUG(logger, "Message " << ++i);
+ LOG4CXX_DEBUG(root, "Message " << i);
- LOG4CXX_WARN(logger, "Message " << ++i);
- LOG4CXX_WARN(root, "Message " << i);
+ LOG4CXX_INFO(logger, "Message " << ++i);
+ LOG4CXX_INFO(root, "Message " << i);
- LOG4CXX_ERROR(logger, "Message " << ++i);
- LOG4CXX_ERROR(root, "Message " << i);
+ LOG4CXX_WARN(logger, "Message " << ++i);
+ LOG4CXX_WARN(root, "Message " << i);
- LOG4CXX_FATAL(logger, "Message " << ++i);
- LOG4CXX_FATAL(root, "Message " << i);
+ LOG4CXX_ERROR(logger, "Message " << ++i);
+ LOG4CXX_ERROR(root, "Message " << i);
- LOG4CXX_DEBUG(logger, "Message " << ++i);
- LOG4CXX_DEBUG(root, "Message " << i);
+ LOG4CXX_FATAL(logger, "Message " << ++i);
+ LOG4CXX_FATAL(root, "Message " << i);
- LOG4CXX_ERROR(logger, "Message " << ++i);
- LOG4CXX_ERROR(root, "Message " << i);
- }
+ LOG4CXX_DEBUG(logger, "Message " << ++i);
+ LOG4CXX_DEBUG(root, "Message " << i);
+
+ LOG4CXX_ERROR(logger, "Message " << ++i);
+ LOG4CXX_ERROR(root, "Message " << i);
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(ErrorHandlerTestCase)
diff --git a/src/test/cpp/varia/levelmatchfiltertestcase.cpp b/src/test/cpp/varia/levelmatchfiltertestcase.cpp
index 4f4d954..e8f9c7a 100644
--- a/src/test/cpp/varia/levelmatchfiltertestcase.cpp
+++ b/src/test/cpp/varia/levelmatchfiltertestcase.cpp
@@ -38,123 +38,124 @@
LOGUNIT_CLASS(LevelMatchFilterTestCase)
{
- LOGUNIT_TEST_SUITE(LevelMatchFilterTestCase);
- LOGUNIT_TEST(accept);
- LOGUNIT_TEST(deny);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(LevelMatchFilterTestCase);
+ LOGUNIT_TEST(accept);
+ LOGUNIT_TEST(deny);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- LoggerPtr logger;
+ LoggerPtr root;
+ LoggerPtr logger;
public:
- void setUp()
- {
- root = Logger::getRootLogger();
- root->removeAllAppenders();
- logger = Logger::getLogger(LOG4CXX_TEST_STR("test"));
- }
+ void setUp()
+ {
+ root = Logger::getRootLogger();
+ root->removeAllAppenders();
+ logger = Logger::getLogger(LOG4CXX_TEST_STR("test"));
+ }
- void tearDown()
- {
- root->getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ root->getLoggerRepository()->resetConfiguration();
+ }
- void accept()
- {
- // set up appender
- LayoutPtr layout = new SimpleLayout();
- AppenderPtr appender = new FileAppender(layout, ACCEPT_FILE, false);
+ void accept()
+ {
+ // set up appender
+ LayoutPtr layout = new SimpleLayout();
+ AppenderPtr appender = new FileAppender(layout, ACCEPT_FILE, false);
- // create LevelMatchFilter
- LevelMatchFilterPtr matchFilter = new LevelMatchFilter();
+ // create LevelMatchFilter
+ LevelMatchFilterPtr matchFilter = new LevelMatchFilter();
- // attach match filter to appender
- appender->addFilter(matchFilter);
+ // attach match filter to appender
+ appender->addFilter(matchFilter);
- // attach DenyAllFilter to end of filter chain to deny neutral
- // (non matching) messages
- spi::FilterPtr filter(new DenyAllFilter());
- appender->addFilter(filter);
+ // attach DenyAllFilter to end of filter chain to deny neutral
+ // (non matching) messages
+ spi::FilterPtr filter(new DenyAllFilter());
+ appender->addFilter(filter);
- // set appender on root and set level to debug
- root->addAppender(appender);
- root->setLevel(Level::getDebug());
+ // set appender on root and set level to debug
+ root->addAppender(appender);
+ root->setLevel(Level::getDebug());
- LevelPtr levelArray[] =
- { Level::getDebug(), Level::getInfo(), Level::getWarn(), Level::getError(), Level::getFatal() };
+ LevelPtr levelArray[] =
+ { Level::getDebug(), Level::getInfo(), Level::getWarn(), Level::getError(), Level::getFatal() };
- int length = sizeof(levelArray)/sizeof(levelArray[0]);
+ int length = sizeof(levelArray) / sizeof(levelArray[0]);
- Pool pool;
- for (int x = 0; x < length; x++)
- {
- // set the level to match
- matchFilter->setLevelToMatch(levelArray[x]->toString());
- LogString sbuf(LOG4CXX_STR("pass "));
- StringHelper::toString(x, pool, sbuf);
- sbuf.append(LOG4CXX_STR("; filter set to accept only "));
- sbuf.append(levelArray[x]->toString());
- sbuf.append(LOG4CXX_STR(" msgs"));
- common(sbuf);
- }
+ Pool pool;
- LOGUNIT_ASSERT(Compare::compare(ACCEPT_FILE, ACCEPT_WITNESS));
- }
+ for (int x = 0; x < length; x++)
+ {
+ // set the level to match
+ matchFilter->setLevelToMatch(levelArray[x]->toString());
+ LogString sbuf(LOG4CXX_STR("pass "));
+ StringHelper::toString(x, pool, sbuf);
+ sbuf.append(LOG4CXX_STR("; filter set to accept only "));
+ sbuf.append(levelArray[x]->toString());
+ sbuf.append(LOG4CXX_STR(" msgs"));
+ common(sbuf);
+ }
- void deny()
- {
- // set up appender
- LayoutPtr layout = new SimpleLayout();
- AppenderPtr appender = new FileAppender(layout, DENY_FILE, false);
+ LOGUNIT_ASSERT(Compare::compare(ACCEPT_FILE, ACCEPT_WITNESS));
+ }
- // create LevelMatchFilter, set to deny matches
- LevelMatchFilterPtr matchFilter = new LevelMatchFilter();
- matchFilter->setAcceptOnMatch(false);
+ void deny()
+ {
+ // set up appender
+ LayoutPtr layout = new SimpleLayout();
+ AppenderPtr appender = new FileAppender(layout, DENY_FILE, false);
- // attach match filter to appender
- appender->addFilter(matchFilter);
+ // create LevelMatchFilter, set to deny matches
+ LevelMatchFilterPtr matchFilter = new LevelMatchFilter();
+ matchFilter->setAcceptOnMatch(false);
- // set appender on root and set level to debug
- root->addAppender(appender);
- root->setLevel(Level::getDebug());
+ // attach match filter to appender
+ appender->addFilter(matchFilter);
- LevelPtr levelArray[] =
- { Level::getDebug(), Level::getInfo(), Level::getWarn(), Level::getError(), Level::getFatal() };
+ // set appender on root and set level to debug
+ root->addAppender(appender);
+ root->setLevel(Level::getDebug());
- int length = sizeof(levelArray)/sizeof(levelArray[0]);
+ LevelPtr levelArray[] =
+ { Level::getDebug(), Level::getInfo(), Level::getWarn(), Level::getError(), Level::getFatal() };
- Pool pool;
+ int length = sizeof(levelArray) / sizeof(levelArray[0]);
- for (int x = 0; x < length; x++)
- {
- // set the level to match
- matchFilter->setLevelToMatch(levelArray[x]->toString());
- LogString sbuf(LOG4CXX_STR("pass "));
+ Pool pool;
- StringHelper::toString(x, pool, sbuf);
- sbuf.append(LOG4CXX_STR("; filter set to deny only "));
- sbuf.append(levelArray[x]->toString());
- sbuf.append(LOG4CXX_STR(" msgs"));
- common(sbuf);
- }
+ for (int x = 0; x < length; x++)
+ {
+ // set the level to match
+ matchFilter->setLevelToMatch(levelArray[x]->toString());
+ LogString sbuf(LOG4CXX_STR("pass "));
- LOGUNIT_ASSERT(Compare::compare(DENY_FILE, DENY_WITNESS));
- }
+ StringHelper::toString(x, pool, sbuf);
+ sbuf.append(LOG4CXX_STR("; filter set to deny only "));
+ sbuf.append(levelArray[x]->toString());
+ sbuf.append(LOG4CXX_STR(" msgs"));
+ common(sbuf);
+ }
- void common(const LogString& msg)
- {
- logger->debug(msg);
- logger->info(msg);
- logger->warn(msg);
- logger->error(msg);
- logger->fatal(msg);
- }
+ LOGUNIT_ASSERT(Compare::compare(DENY_FILE, DENY_WITNESS));
+ }
+
+ void common(const LogString & msg)
+ {
+ logger->debug(msg);
+ logger->info(msg);
+ logger->warn(msg);
+ logger->error(msg);
+ logger->fatal(msg);
+ }
private:
- static const LogString ACCEPT_FILE;
- static const LogString ACCEPT_WITNESS;
- static const LogString DENY_FILE;
- static const LogString DENY_WITNESS;
+ static const LogString ACCEPT_FILE;
+ static const LogString ACCEPT_WITNESS;
+ static const LogString DENY_FILE;
+ static const LogString DENY_WITNESS;
};
diff --git a/src/test/cpp/varia/levelrangefiltertestcase.cpp b/src/test/cpp/varia/levelrangefiltertestcase.cpp
index f77447a..13c4300 100644
--- a/src/test/cpp/varia/levelrangefiltertestcase.cpp
+++ b/src/test/cpp/varia/levelrangefiltertestcase.cpp
@@ -38,213 +38,217 @@
LOGUNIT_CLASS(LevelRangeFilterTestCase)
{
- LOGUNIT_TEST_SUITE(LevelRangeFilterTestCase);
- LOGUNIT_TEST(accept);
- LOGUNIT_TEST(neutral);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(LevelRangeFilterTestCase);
+ LOGUNIT_TEST(accept);
+ LOGUNIT_TEST(neutral);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- LoggerPtr logger;
+ LoggerPtr root;
+ LoggerPtr logger;
public:
- void setUp()
- {
- root = Logger::getRootLogger();
- root->removeAllAppenders();
- logger = Logger::getLogger(LOG4CXX_TEST_STR("test"));
- }
+ void setUp()
+ {
+ root = Logger::getRootLogger();
+ root->removeAllAppenders();
+ logger = Logger::getLogger(LOG4CXX_TEST_STR("test"));
+ }
- void tearDown()
- {
- root->getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ root->getLoggerRepository()->resetConfiguration();
+ }
- void accept()
- {
- // set up appender
- LayoutPtr layout = new SimpleLayout();
- AppenderPtr appender = new FileAppender(layout, ACCEPT_FILE, false);
+ void accept()
+ {
+ // set up appender
+ LayoutPtr layout = new SimpleLayout();
+ AppenderPtr appender = new FileAppender(layout, ACCEPT_FILE, false);
- // create LevelMatchFilter
- LevelRangeFilterPtr rangeFilter = new LevelRangeFilter();
+ // create LevelMatchFilter
+ LevelRangeFilterPtr rangeFilter = new LevelRangeFilter();
- // set it to accept on a match
- rangeFilter->setAcceptOnMatch(true);
+ // set it to accept on a match
+ rangeFilter->setAcceptOnMatch(true);
- // attach match filter to appender
- appender->addFilter(rangeFilter);
+ // attach match filter to appender
+ appender->addFilter(rangeFilter);
- // set appender on root and set level to debug
- root->addAppender(appender);
- root->setLevel(Level::getDebug());
+ // set appender on root and set level to debug
+ root->addAppender(appender);
+ root->setLevel(Level::getDebug());
- int passCount = 0;
- LogString sbuf(LOG4CXX_STR("pass "));
+ int passCount = 0;
+ LogString sbuf(LOG4CXX_STR("pass "));
- Pool pool;
- StringHelper::toString(passCount, pool, sbuf);
+ Pool pool;
+ StringHelper::toString(passCount, pool, sbuf);
- sbuf.append(LOG4CXX_STR("; no min or max set"));
- common(sbuf);
- passCount++;
+ sbuf.append(LOG4CXX_STR("; no min or max set"));
+ common(sbuf);
+ passCount++;
- // test with a min set
- rangeFilter->setLevelMin(Level::getWarn());
- sbuf.assign(LOG4CXX_STR("pass "));
- StringHelper::toString(passCount, pool, sbuf);
- sbuf.append(LOG4CXX_STR("; min set to WARN, max not set"));
- common(sbuf);
- passCount++;
+ // test with a min set
+ rangeFilter->setLevelMin(Level::getWarn());
+ sbuf.assign(LOG4CXX_STR("pass "));
+ StringHelper::toString(passCount, pool, sbuf);
+ sbuf.append(LOG4CXX_STR("; min set to WARN, max not set"));
+ common(sbuf);
+ passCount++;
- // create a clean filter
- appender->clearFilters();
- rangeFilter = new LevelRangeFilter();
- appender->addFilter(rangeFilter);
+ // create a clean filter
+ appender->clearFilters();
+ rangeFilter = new LevelRangeFilter();
+ appender->addFilter(rangeFilter);
- //test with max set
- rangeFilter->setLevelMax(Level::getWarn());
- sbuf.assign(LOG4CXX_STR("pass "));
- StringHelper::toString(passCount, pool, sbuf);
- sbuf.append(LOG4CXX_STR("; min not set, max set to WARN"));
- common(sbuf);
- passCount++;
+ //test with max set
+ rangeFilter->setLevelMax(Level::getWarn());
+ sbuf.assign(LOG4CXX_STR("pass "));
+ StringHelper::toString(passCount, pool, sbuf);
+ sbuf.append(LOG4CXX_STR("; min not set, max set to WARN"));
+ common(sbuf);
+ passCount++;
- LevelPtr levelArray[] =
- { Level::getDebug(), Level::getInfo(), Level::getWarn(),
- Level::getError(), Level::getFatal() };
+ LevelPtr levelArray[] =
+ {
+ Level::getDebug(), Level::getInfo(), Level::getWarn(),
+ Level::getError(), Level::getFatal()
+ };
- int length = sizeof(levelArray)/sizeof(levelArray[0]);
+ int length = sizeof(levelArray) / sizeof(levelArray[0]);
- for (int x = 0; x < length; x++)
- {
- // set the min level to match
- rangeFilter->setLevelMin(levelArray[x]);
+ for (int x = 0; x < length; x++)
+ {
+ // set the min level to match
+ rangeFilter->setLevelMin(levelArray[x]);
- for (int y = length - 1; y >= 0; y--)
- {
- // set max level to match
- rangeFilter->setLevelMax(levelArray[y]);
+ for (int y = length - 1; y >= 0; y--)
+ {
+ // set max level to match
+ rangeFilter->setLevelMax(levelArray[y]);
- sbuf.assign(LOG4CXX_STR("pass "));
- StringHelper::toString(passCount, pool, sbuf);
- sbuf.append(LOG4CXX_STR("; filter set to accept between "));
- sbuf.append(levelArray[x]->toString());
- sbuf.append(LOG4CXX_STR(" and "));
- sbuf.append(levelArray[y]->toString());
- sbuf.append(LOG4CXX_STR(" msgs"));
- common(sbuf);
+ sbuf.assign(LOG4CXX_STR("pass "));
+ StringHelper::toString(passCount, pool, sbuf);
+ sbuf.append(LOG4CXX_STR("; filter set to accept between "));
+ sbuf.append(levelArray[x]->toString());
+ sbuf.append(LOG4CXX_STR(" and "));
+ sbuf.append(levelArray[y]->toString());
+ sbuf.append(LOG4CXX_STR(" msgs"));
+ common(sbuf);
- // increment passCount
- passCount++;
- }
- }
+ // increment passCount
+ passCount++;
+ }
+ }
- LOGUNIT_ASSERT(Compare::compare(ACCEPT_FILE, ACCEPT_WITNESS));
- }
+ LOGUNIT_ASSERT(Compare::compare(ACCEPT_FILE, ACCEPT_WITNESS));
+ }
- void neutral()
- {
- // set up appender
- LayoutPtr layout = new SimpleLayout();
- AppenderPtr appender = new FileAppender(layout, NEUTRAL_FILE, false);
+ void neutral()
+ {
+ // set up appender
+ LayoutPtr layout = new SimpleLayout();
+ AppenderPtr appender = new FileAppender(layout, NEUTRAL_FILE, false);
- // create LevelMatchFilter
- LevelRangeFilterPtr rangeFilter = new LevelRangeFilter();
+ // create LevelMatchFilter
+ LevelRangeFilterPtr rangeFilter = new LevelRangeFilter();
- // set it to accept on a match
- rangeFilter->setAcceptOnMatch(true);
+ // set it to accept on a match
+ rangeFilter->setAcceptOnMatch(true);
- // attach match filter to appender
- appender->addFilter(rangeFilter);
+ // attach match filter to appender
+ appender->addFilter(rangeFilter);
- // set appender on root and set level to debug
- root->addAppender(appender);
- root->setLevel(Level::getDebug());
+ // set appender on root and set level to debug
+ root->addAppender(appender);
+ root->setLevel(Level::getDebug());
- int passCount = 0;
- LogString sbuf(LOG4CXX_STR("pass "));
+ int passCount = 0;
+ LogString sbuf(LOG4CXX_STR("pass "));
- Pool pool;
- StringHelper::toString(passCount, pool, sbuf);
+ Pool pool;
+ StringHelper::toString(passCount, pool, sbuf);
- // test with no min or max set
- sbuf.append(LOG4CXX_STR("; no min or max set"));
- common(sbuf);
- passCount++;
+ // test with no min or max set
+ sbuf.append(LOG4CXX_STR("; no min or max set"));
+ common(sbuf);
+ passCount++;
- // test with a min set
- rangeFilter->setLevelMin(Level::getWarn());
- sbuf.assign(LOG4CXX_STR("pass "));
+ // test with a min set
+ rangeFilter->setLevelMin(Level::getWarn());
+ sbuf.assign(LOG4CXX_STR("pass "));
- StringHelper::toString(passCount, pool, sbuf);
- sbuf.append(LOG4CXX_STR("; min set to WARN, max not set"));
- common(sbuf);
- passCount++;
+ StringHelper::toString(passCount, pool, sbuf);
+ sbuf.append(LOG4CXX_STR("; min set to WARN, max not set"));
+ common(sbuf);
+ passCount++;
- // create a clean filter
- appender->clearFilters();
- rangeFilter = new LevelRangeFilter();
- appender->addFilter(rangeFilter);
+ // create a clean filter
+ appender->clearFilters();
+ rangeFilter = new LevelRangeFilter();
+ appender->addFilter(rangeFilter);
- //test with max set
- rangeFilter->setLevelMax(Level::getWarn());
- sbuf.assign(LOG4CXX_STR("pass "));
+ //test with max set
+ rangeFilter->setLevelMax(Level::getWarn());
+ sbuf.assign(LOG4CXX_STR("pass "));
- StringHelper::toString(passCount, pool, sbuf);
+ StringHelper::toString(passCount, pool, sbuf);
- sbuf.append(LOG4CXX_STR("; min not set, max set to WARN"));
- common(sbuf);
- passCount++;
+ sbuf.append(LOG4CXX_STR("; min not set, max set to WARN"));
+ common(sbuf);
+ passCount++;
- LevelPtr levelArray[] =
- { Level::getDebug(), Level::getInfo(), Level::getWarn(),
- Level::getError(), Level::getFatal() };
+ LevelPtr levelArray[] =
+ {
+ Level::getDebug(), Level::getInfo(), Level::getWarn(),
+ Level::getError(), Level::getFatal()
+ };
- int length = sizeof(levelArray)/sizeof(levelArray[0]);
+ int length = sizeof(levelArray) / sizeof(levelArray[0]);
- for (int x = 0; x < length; x++)
- {
- // set the min level to match
- rangeFilter->setLevelMin(levelArray[x]);
+ for (int x = 0; x < length; x++)
+ {
+ // set the min level to match
+ rangeFilter->setLevelMin(levelArray[x]);
- for (int y = length - 1; y >= 0; y--)
- {
- // set max level to match
- rangeFilter->setLevelMax(levelArray[y]);
+ for (int y = length - 1; y >= 0; y--)
+ {
+ // set max level to match
+ rangeFilter->setLevelMax(levelArray[y]);
- sbuf.assign(LOG4CXX_STR("pass "));
- StringHelper::toString(passCount, pool, sbuf);
- sbuf.append(LOG4CXX_STR("; filter set to accept between "));
- sbuf.append(levelArray[x]->toString());
- sbuf.append(LOG4CXX_STR(" and "));
- sbuf.append(levelArray[y]->toString());
- sbuf.append(LOG4CXX_STR(" msgs"));
- common(sbuf);
+ sbuf.assign(LOG4CXX_STR("pass "));
+ StringHelper::toString(passCount, pool, sbuf);
+ sbuf.append(LOG4CXX_STR("; filter set to accept between "));
+ sbuf.append(levelArray[x]->toString());
+ sbuf.append(LOG4CXX_STR(" and "));
+ sbuf.append(levelArray[y]->toString());
+ sbuf.append(LOG4CXX_STR(" msgs"));
+ common(sbuf);
- // increment passCount
- passCount++;
- }
- }
+ // increment passCount
+ passCount++;
+ }
+ }
- LOGUNIT_ASSERT(Compare::compare(NEUTRAL_FILE, NEUTRAL_WITNESS));
- }
+ LOGUNIT_ASSERT(Compare::compare(NEUTRAL_FILE, NEUTRAL_WITNESS));
+ }
- void common(const LogString& msg)
- {
- logger->debug(msg);
- logger->info(msg);
- logger->warn(msg);
- logger->error(msg);
- logger->fatal(msg);
- }
+ void common(const LogString & msg)
+ {
+ logger->debug(msg);
+ logger->info(msg);
+ logger->warn(msg);
+ logger->error(msg);
+ logger->fatal(msg);
+ }
- private:
- static const LogString ACCEPT_FILE;
- static const LogString ACCEPT_WITNESS;
- static const LogString NEUTRAL_FILE;
- static const LogString NEUTRAL_WITNESS;
+private:
+ static const LogString ACCEPT_FILE;
+ static const LogString ACCEPT_WITNESS;
+ static const LogString NEUTRAL_FILE;
+ static const LogString NEUTRAL_WITNESS;
};
diff --git a/src/test/cpp/vectorappender.cpp b/src/test/cpp/vectorappender.cpp
index e91824a..fef8e7c 100644
--- a/src/test/cpp/vectorappender.cpp
+++ b/src/test/cpp/vectorappender.cpp
@@ -25,23 +25,23 @@
void VectorAppender::append(const spi::LoggingEventPtr& event, Pool& /*p*/)
{
- try
- {
- Thread::sleep(100);
- }
- catch (Exception&)
- {
- }
+ try
+ {
+ Thread::sleep(100);
+ }
+ catch (Exception&)
+ {
+ }
- vector.push_back(event);
+ vector.push_back(event);
}
void VectorAppender::close()
{
- if (this->closed)
- {
- return;
- }
+ if (this->closed)
+ {
+ return;
+ }
- this->closed = true;
+ this->closed = true;
}
diff --git a/src/test/cpp/vectorappender.h b/src/test/cpp/vectorappender.h
index 24b3aad..5bbca23 100644
--- a/src/test/cpp/vectorappender.h
+++ b/src/test/cpp/vectorappender.h
@@ -23,37 +23,43 @@
{
- /**
- An appender that appends logging events to a vector.
- */
- class VectorAppender : public AppenderSkeleton
- {
- public:
- DECLARE_LOG4CXX_OBJECT(VectorAppender)
- BEGIN_LOG4CXX_CAST_MAP()
- LOG4CXX_CAST_ENTRY(VectorAppender)
- LOG4CXX_CAST_ENTRY_CHAIN(AppenderSkeleton)
- END_LOG4CXX_CAST_MAP()
+/**
+An appender that appends logging events to a vector.
+*/
+class VectorAppender : public AppenderSkeleton
+{
+ public:
+ DECLARE_LOG4CXX_OBJECT(VectorAppender)
+ BEGIN_LOG4CXX_CAST_MAP()
+ LOG4CXX_CAST_ENTRY(VectorAppender)
+ LOG4CXX_CAST_ENTRY_CHAIN(AppenderSkeleton)
+ END_LOG4CXX_CAST_MAP()
- std::vector<spi::LoggingEventPtr> vector;
+ std::vector<spi::LoggingEventPtr> vector;
- /**
- This method is called by the AppenderSkeleton#doAppend
- method.
- */
- void append(const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& p);
+ /**
+ This method is called by the AppenderSkeleton#doAppend
+ method.
+ */
+ void append(const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& p);
- const std::vector<spi::LoggingEventPtr>& getVector() const
- { return vector; }
+ const std::vector<spi::LoggingEventPtr>& getVector() const
+ {
+ return vector;
+ }
- void close();
+ void close();
- bool isClosed() const
- { return closed; }
+ bool isClosed() const
+ {
+ return closed;
+ }
- bool requiresLayout() const
- { return false; }
- };
- typedef helpers::ObjectPtrT<VectorAppender> VectorAppenderPtr;
+ bool requiresLayout() const
+ {
+ return false;
+ }
+};
+typedef helpers::ObjectPtrT<VectorAppender> VectorAppenderPtr;
}
diff --git a/src/test/cpp/writerappendertestcase.cpp b/src/test/cpp/writerappendertestcase.cpp
index 26921d2..35b18ff 100644
--- a/src/test/cpp/writerappendertestcase.cpp
+++ b/src/test/cpp/writerappendertestcase.cpp
@@ -23,6 +23,7 @@
using namespace log4cxx;
using namespace log4cxx::helpers;
-AppenderSkeleton* WriterAppenderTestCase::createAppenderSkeleton() const {
- return createWriterAppender();
+AppenderSkeleton* WriterAppenderTestCase::createAppenderSkeleton() const
+{
+ return createWriterAppender();
}
diff --git a/src/test/cpp/writerappendertestcase.h b/src/test/cpp/writerappendertestcase.h
index dbc3229..dde0b14 100644
--- a/src/test/cpp/writerappendertestcase.h
+++ b/src/test/cpp/writerappendertestcase.h
@@ -26,9 +26,9 @@
class WriterAppenderTestCase : public AppenderSkeletonTestCase
{
-public:
- log4cxx::AppenderSkeleton* createAppenderSkeleton() const;
+ public:
+ log4cxx::AppenderSkeleton* createAppenderSkeleton() const;
- virtual log4cxx::WriterAppender* createWriterAppender() const = 0;
+ virtual log4cxx::WriterAppender* createWriterAppender() const = 0;
};
diff --git a/src/test/cpp/xml/customleveltestcase.cpp b/src/test/cpp/xml/customleveltestcase.cpp
index 40b7e4a..d2259a5 100644
--- a/src/test/cpp/xml/customleveltestcase.cpp
+++ b/src/test/cpp/xml/customleveltestcase.cpp
@@ -39,85 +39,85 @@
LOGUNIT_CLASS(CustomLevelTestCase)
{
- LOGUNIT_TEST_SUITE(CustomLevelTestCase);
- LOGUNIT_TEST(test1);
- LOGUNIT_TEST(test2);
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(CustomLevelTestCase);
+ LOGUNIT_TEST(test1);
+ LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- LoggerPtr logger;
- static const File TEMP;
+ LoggerPtr root;
+ LoggerPtr logger;
+ static const File TEMP;
public:
- void setUp()
- {
- root = Logger::getRootLogger();
- logger = Logger::getLogger(LOG4CXX_TEST_STR("xml.CustomLevelTestCase"));
- }
+ void setUp()
+ {
+ root = Logger::getRootLogger();
+ logger = Logger::getLogger(LOG4CXX_TEST_STR("xml.CustomLevelTestCase"));
+ }
- void tearDown()
- {
- root->getLoggerRepository()->resetConfiguration();
+ void tearDown()
+ {
+ root->getLoggerRepository()->resetConfiguration();
- LoggerPtr logger1 = Logger::getLogger(LOG4CXX_TEST_STR("LOG4J"));
- logger1->setAdditivity(false);
- logger1->addAppender(
- new ConsoleAppender(new PatternLayout(LOG4CXX_STR("log4j: %-22c{2} - %m%n"))));
- }
+ LoggerPtr logger1 = Logger::getLogger(LOG4CXX_TEST_STR("LOG4J"));
+ logger1->setAdditivity(false);
+ logger1->addAppender(
+ new ConsoleAppender(new PatternLayout(LOG4CXX_STR("log4j: %-22c{2} - %m%n"))));
+ }
- void test1()
- {
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/customLevel1.xml"));
- common();
- const File witness("witness/customLevel.1");
- LOGUNIT_ASSERT(Compare::compare(TEMP, witness));
- }
+ void test1()
+ {
+ DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/customLevel1.xml"));
+ common();
+ const File witness("witness/customLevel.1");
+ LOGUNIT_ASSERT(Compare::compare(TEMP, witness));
+ }
- void test2()
- {
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/customLevel2.xml"));
- common();
- const File witness("witness/customLevel.2");
- LOGUNIT_ASSERT(Compare::compare(TEMP, witness));
- }
+ void test2()
+ {
+ DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/customLevel2.xml"));
+ common();
+ const File witness("witness/customLevel.2");
+ LOGUNIT_ASSERT(Compare::compare(TEMP, witness));
+ }
- void test3()
- {
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/customLevel3.xml"));
- common();
- const File witness("witness/customLevel.3");
- LOGUNIT_ASSERT(Compare::compare(TEMP, witness));
- }
+ void test3()
+ {
+ DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/customLevel3.xml"));
+ common();
+ const File witness("witness/customLevel.3");
+ LOGUNIT_ASSERT(Compare::compare(TEMP, witness));
+ }
- void test4()
- {
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/customLevel4.xml"));
- common();
- const File witness("witness/customLevel.4");
- LOGUNIT_ASSERT(Compare::compare(TEMP, witness));
- }
+ void test4()
+ {
+ DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/customLevel4.xml"));
+ common();
+ const File witness("witness/customLevel.4");
+ LOGUNIT_ASSERT(Compare::compare(TEMP, witness));
+ }
- void common()
- {
- int i = 0;
- std::ostringstream os;
- os << "Message " << ++i;
- LOG4CXX_DEBUG(logger, os.str());
- os.str("");
- os << "Message " << ++i;
- LOG4CXX_INFO(logger, os.str());
- os.str("");
- os << "Message " << ++i;
- LOG4CXX_WARN(logger, os.str());
- os.str("");
- os << "Message " << ++i;
- LOG4CXX_ERROR(logger, os.str());
- os.str("");
- os << "Message " << ++i;
- LOG4CXX_LOG(logger, XLevel::getTrace(), os.str());
- }
+ void common()
+ {
+ int i = 0;
+ std::ostringstream os;
+ os << "Message " << ++i;
+ LOG4CXX_DEBUG(logger, os.str());
+ os.str("");
+ os << "Message " << ++i;
+ LOG4CXX_INFO(logger, os.str());
+ os.str("");
+ os << "Message " << ++i;
+ LOG4CXX_WARN(logger, os.str());
+ os.str("");
+ os << "Message " << ++i;
+ LOG4CXX_ERROR(logger, os.str());
+ os.str("");
+ os << "Message " << ++i;
+ LOG4CXX_LOG(logger, XLevel::getTrace(), os.str());
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(CustomLevelTestCase);
diff --git a/src/test/cpp/xml/domtestcase.cpp b/src/test/cpp/xml/domtestcase.cpp
index a1491c7..251770a 100644
--- a/src/test/cpp/xml/domtestcase.cpp
+++ b/src/test/cpp/xml/domtestcase.cpp
@@ -36,185 +36,189 @@
using namespace log4cxx::xml;
#define TEST1_1A_PAT \
- "(DEBUG|INFO |WARN |ERROR|FATAL) \\w*\\.\\w* - Message [0-9]"
+ "(DEBUG|INFO |WARN |ERROR|FATAL) \\w*\\.\\w* - Message [0-9]"
#define TEST1_1B_PAT "(DEBUG|INFO |WARN |ERROR|FATAL) root - Message [0-9]"
#define TEST1_2_PAT "^[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [0-9]\\{2\\}:[0-9]\\{2\\}:[0-9]\\{2\\},[0-9]\\{3\\} " \
- "\\[0x[0-9A-F]*]\\ (DEBUG|INFO|WARN|ERROR|FATAL) .* - Message [0-9]"
+ "\\[0x[0-9A-F]*]\\ (DEBUG|INFO|WARN|ERROR|FATAL) .* - Message [0-9]"
LOGUNIT_CLASS(DOMTestCase)
{
- LOGUNIT_TEST_SUITE(DOMTestCase);
- LOGUNIT_TEST(test1);
+ LOGUNIT_TEST_SUITE(DOMTestCase);
+ LOGUNIT_TEST(test1);
#if defined(_WIN32)
- LOGUNIT_TEST(test2);
+ LOGUNIT_TEST(test2);
#endif
- LOGUNIT_TEST(test3);
- LOGUNIT_TEST(test4);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST(test3);
+ LOGUNIT_TEST(test4);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- LoggerPtr logger;
+ LoggerPtr root;
+ LoggerPtr logger;
- static const File TEMP_A1;
- static const File TEMP_A2;
- static const File FILTERED_A1;
- static const File FILTERED_A2;
- static const File TEMP_A1_2;
- static const File TEMP_A2_2;
- static const File FILTERED_A1_2;
- static const File FILTERED_A2_2;
+ static const File TEMP_A1;
+ static const File TEMP_A2;
+ static const File FILTERED_A1;
+ static const File FILTERED_A2;
+ static const File TEMP_A1_2;
+ static const File TEMP_A2_2;
+ static const File FILTERED_A1_2;
+ static const File FILTERED_A2_2;
public:
- void setUp()
+ void setUp()
+ {
+ root = Logger::getRootLogger();
+ logger = Logger::getLogger(LOG4CXX_TEST_STR("org.apache.log4j.xml.DOMTestCase"));
+ }
+
+ void tearDown()
+ {
+ root->getLoggerRepository()->resetConfiguration();
+ }
+
+ void test1()
+ {
+ DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase1.xml"));
+ common();
+
+ ControlFilter cf1;
+ cf1 << TEST1_1A_PAT << TEST1_1B_PAT;
+
+ ControlFilter cf2;
+ cf2 << TEST1_2_PAT;
+
+ ThreadFilter threadFilter;
+ ISO8601Filter iso8601Filter;
+
+ std::vector<Filter*> filters1;
+ filters1.push_back(&cf1);
+
+ std::vector<Filter*> filters2;
+ filters2.push_back(&cf2);
+ filters2.push_back(&threadFilter);
+ filters2.push_back(&iso8601Filter);
+
+ try
{
- root = Logger::getRootLogger();
- logger = Logger::getLogger(LOG4CXX_TEST_STR("org.apache.log4j.xml.DOMTestCase"));
+ Transformer::transform(TEMP_A1, FILTERED_A1, filters1);
+ Transformer::transform(TEMP_A2, FILTERED_A2, filters2);
}
-
- void tearDown()
+ catch (UnexpectedFormatException& e)
{
- root->getLoggerRepository()->resetConfiguration();
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
}
- void test1() {
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase1.xml"));
- common();
-
- ControlFilter cf1;
- cf1 << TEST1_1A_PAT << TEST1_1B_PAT;
-
- ControlFilter cf2;
- cf2 << TEST1_2_PAT;
-
- ThreadFilter threadFilter;
- ISO8601Filter iso8601Filter;
-
- std::vector<Filter *> filters1;
- filters1.push_back(&cf1);
-
- std::vector<Filter *> filters2;
- filters2.push_back(&cf2);
- filters2.push_back(&threadFilter);
- filters2.push_back(&iso8601Filter);
-
- try
- {
- Transformer::transform(TEMP_A1, FILTERED_A1, filters1);
- Transformer::transform(TEMP_A2, FILTERED_A2, filters2);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
-
- const File witness1(LOG4CXX_TEST_STR("witness/dom.A1.1"));
- const File witness2(LOG4CXX_TEST_STR("witness/dom.A2.1"));
- // TODO: A1 doesn't contain duplicate entries
- //
- // LOGUNIT_ASSERT(Compare::compare(FILTERED_A1, witness1));
- LOGUNIT_ASSERT(Compare::compare(FILTERED_A2, witness2));
- }
-
+ const File witness1(LOG4CXX_TEST_STR("witness/dom.A1.1"));
+ const File witness2(LOG4CXX_TEST_STR("witness/dom.A2.1"));
+ // TODO: A1 doesn't contain duplicate entries
//
- // Same test but backslashes instead of forward
- //
- void test2() {
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input\\xml\\DOMTestCase2.xml"));
- common();
+ // LOGUNIT_ASSERT(Compare::compare(FILTERED_A1, witness1));
+ LOGUNIT_ASSERT(Compare::compare(FILTERED_A2, witness2));
+ }
- ThreadFilter threadFilter;
- ISO8601Filter iso8601Filter;
+ //
+ // Same test but backslashes instead of forward
+ //
+ void test2()
+ {
+ DOMConfigurator::configure(LOG4CXX_TEST_STR("input\\xml\\DOMTestCase2.xml"));
+ common();
- std::vector<Filter *> filters1;
+ ThreadFilter threadFilter;
+ ISO8601Filter iso8601Filter;
- std::vector<Filter *> filters2;
- filters2.push_back(&threadFilter);
- filters2.push_back(&iso8601Filter);
+ std::vector<Filter*> filters1;
- try
- {
- Transformer::transform(TEMP_A1_2, FILTERED_A1_2, filters1);
- Transformer::transform(TEMP_A2_2, FILTERED_A2_2, filters2);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ std::vector<Filter*> filters2;
+ filters2.push_back(&threadFilter);
+ filters2.push_back(&iso8601Filter);
- const File witness1(LOG4CXX_TEST_STR("witness/dom.A1.2"));
- const File witness2(LOG4CXX_TEST_STR("witness/dom.A2.2"));
- // TODO: A1 doesn't contain duplicate entries
- //
- // LOGUNIT_ASSERT(Compare::compare(FILTERED_A1, witness1));
- LOGUNIT_ASSERT(Compare::compare(FILTERED_A2, witness2));
- }
-
-
- void common()
+ try
{
- int i = 0;
-
- LOG4CXX_DEBUG(logger, "Message " << i);
- LOG4CXX_DEBUG(root, "Message " << i);
-
- i++;
- LOG4CXX_INFO(logger, "Message " << i);
- LOG4CXX_INFO(root, "Message " << i);
-
- i++;
- LOG4CXX_WARN(logger, "Message " << i);
- LOG4CXX_WARN(root, "Message " << i);
-
- i++;
- LOG4CXX_ERROR(logger, "Message " << i);
- LOG4CXX_ERROR(root, "Message " << i);
-
- i++;
- LOG4CXX_FATAL(logger, "Message " << i);
- LOG4CXX_FATAL(root, "Message " << i);
+ Transformer::transform(TEMP_A1_2, FILTERED_A1_2, filters1);
+ Transformer::transform(TEMP_A2_2, FILTERED_A2_2, filters2);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
}
- /**
- * Creates a output file that ends with a superscript 3.
- * Output file is checked by build.xml after completion.
- */
- void test3() {
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase3.xml"));
- LOG4CXX_INFO(logger, "File name is expected to end with a superscript 3");
+ const File witness1(LOG4CXX_TEST_STR("witness/dom.A1.2"));
+ const File witness2(LOG4CXX_TEST_STR("witness/dom.A2.2"));
+ // TODO: A1 doesn't contain duplicate entries
+ //
+ // LOGUNIT_ASSERT(Compare::compare(FILTERED_A1, witness1));
+ LOGUNIT_ASSERT(Compare::compare(FILTERED_A2, witness2));
+ }
+
+
+ void common()
+ {
+ int i = 0;
+
+ LOG4CXX_DEBUG(logger, "Message " << i);
+ LOG4CXX_DEBUG(root, "Message " << i);
+
+ i++;
+ LOG4CXX_INFO(logger, "Message " << i);
+ LOG4CXX_INFO(root, "Message " << i);
+
+ i++;
+ LOG4CXX_WARN(logger, "Message " << i);
+ LOG4CXX_WARN(root, "Message " << i);
+
+ i++;
+ LOG4CXX_ERROR(logger, "Message " << i);
+ LOG4CXX_ERROR(root, "Message " << i);
+
+ i++;
+ LOG4CXX_FATAL(logger, "Message " << i);
+ LOG4CXX_FATAL(root, "Message " << i);
+ }
+
+ /**
+ * Creates a output file that ends with a superscript 3.
+ * Output file is checked by build.xml after completion.
+ */
+ void test3()
+ {
+ DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase3.xml"));
+ LOG4CXX_INFO(logger, "File name is expected to end with a superscript 3");
#if LOG4CXX_LOGCHAR_IS_UTF8
- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0xC2), static_cast<logchar>(0xB3), 0 };
+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0xC2), static_cast<logchar>(0xB3), 0 };
#else
- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0xB3), 0 };
+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0xB3), 0 };
#endif
- File file;
- file.setPath(fname);
- Pool p;
- bool exists = file.exists(p);
- LOGUNIT_ASSERT(exists);
- }
+ File file;
+ file.setPath(fname);
+ Pool p;
+ bool exists = file.exists(p);
+ LOGUNIT_ASSERT(exists);
+ }
- /**
- * Creates a output file that ends with a ideographic 4.
- * Output file is checked by build.xml after completion.
- */
- void test4() {
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase4.xml"));
- LOG4CXX_INFO(logger, "File name is expected to end with an ideographic 4");
+ /**
+ * Creates a output file that ends with a ideographic 4.
+ * Output file is checked by build.xml after completion.
+ */
+ void test4()
+ {
+ DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase4.xml"));
+ LOG4CXX_INFO(logger, "File name is expected to end with an ideographic 4");
#if LOG4CXX_LOGCHAR_IS_UTF8
- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0xE3), static_cast<logchar>(0x86), static_cast<logchar>(0x95), 0 };
+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0xE3), static_cast<logchar>(0x86), static_cast<logchar>(0x95), 0 };
#else
- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0x3195), 0 };
+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0x3195), 0 };
#endif
- File file;
- file.setPath(fname);
- Pool p;
- bool exists = file.exists(p);
- LOGUNIT_ASSERT(exists);
- }
+ File file;
+ file.setPath(fname);
+ Pool p;
+ bool exists = file.exists(p);
+ LOGUNIT_ASSERT(exists);
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(DOMTestCase);
diff --git a/src/test/cpp/xml/xlevel.cpp b/src/test/cpp/xml/xlevel.cpp
index 9888e53..efe9387 100644
--- a/src/test/cpp/xml/xlevel.cpp
+++ b/src/test/cpp/xml/xlevel.cpp
@@ -25,58 +25,67 @@
XLevel::XLevel(int level1, const LogString& name1, int syslogEquivalent1)
-: Level(level1, name1, syslogEquivalent1)
+ : Level(level1, name1, syslogEquivalent1)
{
}
-LevelPtr XLevel::getTrace() {
- static const LevelPtr trace(new XLevel(XLevel::TRACE_INT, LOG4CXX_STR("TRACE"), 7));
- return trace;
+LevelPtr XLevel::getTrace()
+{
+ static const LevelPtr trace(new XLevel(XLevel::TRACE_INT, LOG4CXX_STR("TRACE"), 7));
+ return trace;
}
-LevelPtr XLevel::getLethal() {
- static const LevelPtr lethal(new XLevel(XLevel::LETHAL_INT, LOG4CXX_STR("LETHAL"), 0));
- return lethal;
+LevelPtr XLevel::getLethal()
+{
+ static const LevelPtr lethal(new XLevel(XLevel::LETHAL_INT, LOG4CXX_STR("LETHAL"), 0));
+ return lethal;
}
LevelPtr XLevel::toLevelLS(const LogString& sArg)
{
- return toLevelLS(sArg, getTrace());
+ return toLevelLS(sArg, getTrace());
}
LevelPtr XLevel::toLevel(int val)
{
- return toLevel(val, getTrace());
+ return toLevel(val, getTrace());
}
LevelPtr XLevel::toLevel(int val, const LevelPtr& defaultLevel)
{
- switch(val)
- {
- case TRACE_INT: return getTrace();
- case LETHAL_INT: return getLethal();
- default: return defaultLevel;
- }
+ switch (val)
+ {
+ case TRACE_INT:
+ return getTrace();
+
+ case LETHAL_INT:
+ return getLethal();
+
+ default:
+ return defaultLevel;
+ }
}
LevelPtr XLevel::toLevelLS(const LogString& sArg, const LevelPtr& defaultLevel)
{
- if (sArg.empty())
- {
- return defaultLevel;
- }
+ if (sArg.empty())
+ {
+ return defaultLevel;
+ }
- if (StringHelper::equalsIgnoreCase(sArg,
- LOG4CXX_STR("TRACE"), LOG4CXX_STR("trace"))) {
- return getTrace();
- }
+ if (StringHelper::equalsIgnoreCase(sArg,
+ LOG4CXX_STR("TRACE"), LOG4CXX_STR("trace")))
+ {
+ return getTrace();
+ }
- if (StringHelper::equalsIgnoreCase(sArg,
- LOG4CXX_STR("LETHAL"), LOG4CXX_STR("lethal"))) {
- return getLethal();
- }
+ if (StringHelper::equalsIgnoreCase(sArg,
+ LOG4CXX_STR("LETHAL"), LOG4CXX_STR("lethal")))
+ {
+ return getLethal();
+ }
- return Level::toLevel(sArg, defaultLevel);
+ return Level::toLevel(sArg, defaultLevel);
}
diff --git a/src/test/cpp/xml/xlevel.h b/src/test/cpp/xml/xlevel.h
index eed62fa..7530392 100644
--- a/src/test/cpp/xml/xlevel.h
+++ b/src/test/cpp/xml/xlevel.h
@@ -19,48 +19,48 @@
namespace log4cxx
{
- class XLevel : public Level
- {
- DECLARE_LOG4CXX_LEVEL(XLevel)
+class XLevel : public Level
+{
+ DECLARE_LOG4CXX_LEVEL(XLevel)
- public:
- enum
- {
- TRACE_INT = Level::DEBUG_INT - 1,
- LETHAL_INT = Level::FATAL_INT + 1
- };
+ public:
+ enum
+ {
+ TRACE_INT = Level::DEBUG_INT - 1,
+ LETHAL_INT = Level::FATAL_INT + 1
+ };
- static LevelPtr getTrace();
- static LevelPtr getLethal();
+ static LevelPtr getTrace();
+ static LevelPtr getLethal();
- XLevel(int level, const LogString& name, int syslogEquivalent);
- /**
- Convert the string passed as argument to a level. If the
- conversion fails, then this method returns #DEBUG.
- */
- static LevelPtr toLevelLS(const LogString& sArg);
+ XLevel(int level, const LogString& name, int syslogEquivalent);
+ /**
+ Convert the string passed as argument to a level. If the
+ conversion fails, then this method returns #DEBUG.
+ */
+ static LevelPtr toLevelLS(const LogString& sArg);
- /**
- Convert an integer passed as argument to a level. If the
- conversion fails, then this method returns #DEBUG.
+ /**
+ Convert an integer passed as argument to a level. If the
+ conversion fails, then this method returns #DEBUG.
- */
- static LevelPtr toLevel(int val);
+ */
+ static LevelPtr toLevel(int val);
- /**
- Convert an integer passed as argument to a level. If the
- conversion fails, then this method returns the specified default.
- */
- static LevelPtr toLevel(int val, const LevelPtr& defaultLevel);
+ /**
+ Convert an integer passed as argument to a level. If the
+ conversion fails, then this method returns the specified default.
+ */
+ static LevelPtr toLevel(int val, const LevelPtr& defaultLevel);
- /**
- Convert the string passed as argument to a level. If the
- conversion fails, then this method returns the value of
- <code>defaultLevel</code>.
- */
- static LevelPtr toLevelLS(const LogString& sArg,
- const LevelPtr& defaultLevel);
- };
+ /**
+ Convert the string passed as argument to a level. If the
+ conversion fails, then this method returns the value of
+ <code>defaultLevel</code>.
+ */
+ static LevelPtr toLevelLS(const LogString& sArg,
+ const LevelPtr& defaultLevel);
+};
}
diff --git a/src/test/cpp/xml/xmllayouttest.cpp b/src/test/cpp/xml/xmllayouttest.cpp
index e1cf8a7..626ee22 100644
--- a/src/test/cpp/xml/xmllayouttest.cpp
+++ b/src/test/cpp/xml/xmllayouttest.cpp
@@ -45,370 +45,413 @@
using namespace log4cxx::spi;
#if defined(__LOG4CXX_FUNC__)
-#undef __LOG4CXX_FUNC__
-#define __LOG4CXX_FUNC__ "X::X()"
+ #undef __LOG4CXX_FUNC__
+ #define __LOG4CXX_FUNC__ "X::X()"
#else
-#error __LOG4CXX_FUNC__ expected to be defined
+ #error __LOG4CXX_FUNC__ expected to be defined
#endif
/**
* Test for XMLLayout.
*
*/
-LOGUNIT_CLASS(XMLLayoutTest) {
- LOGUNIT_TEST_SUITE(XMLLayoutTest);
- LOGUNIT_TEST(testGetContentType);
- LOGUNIT_TEST(testIgnoresThrowable);
- LOGUNIT_TEST(testGetHeader);
- LOGUNIT_TEST(testGetFooter);
- LOGUNIT_TEST(testFormat);
- LOGUNIT_TEST(testFormatWithNDC);
- LOGUNIT_TEST(testGetSetLocationInfo);
- LOGUNIT_TEST(testActivateOptions);
- LOGUNIT_TEST(testProblemCharacters);
- LOGUNIT_TEST(testNDCWithCDATA);
- LOGUNIT_TEST_SUITE_END();
-
-
-public:
- /**
- * Clear MDC and NDC before test.
- */
- void setUp() {
- NDC::clear();
- MDC::clear();
- }
-
- /**
- * Clear MDC and NDC after test.
- */
- void tearDown() {
- setUp();
- }
+LOGUNIT_CLASS(XMLLayoutTest)
+{
+ LOGUNIT_TEST_SUITE(XMLLayoutTest);
+ LOGUNIT_TEST(testGetContentType);
+ LOGUNIT_TEST(testIgnoresThrowable);
+ LOGUNIT_TEST(testGetHeader);
+ LOGUNIT_TEST(testGetFooter);
+ LOGUNIT_TEST(testFormat);
+ LOGUNIT_TEST(testFormatWithNDC);
+ LOGUNIT_TEST(testGetSetLocationInfo);
+ LOGUNIT_TEST(testActivateOptions);
+ LOGUNIT_TEST(testProblemCharacters);
+ LOGUNIT_TEST(testNDCWithCDATA);
+ LOGUNIT_TEST_SUITE_END();
public:
- /**
- * Tests getContentType.
- */
- void testGetContentType() {
- LogString expected(LOG4CXX_STR("text/plain"));
- LogString actual(XMLLayout().getContentType());
- LOGUNIT_ASSERT(expected == actual);
- }
+ /**
+ * Clear MDC and NDC before test.
+ */
+ void setUp()
+ {
+ NDC::clear();
+ MDC::clear();
+ }
- /**
- * Tests ignoresThrowable.
- */
- void testIgnoresThrowable() {
- LOGUNIT_ASSERT_EQUAL(false, XMLLayout().ignoresThrowable());
- }
+ /**
+ * Clear MDC and NDC after test.
+ */
+ void tearDown()
+ {
+ setUp();
+ }
- /**
- * Tests getHeader.
- */
- void testGetHeader() {
- Pool p;
- LogString header;
- XMLLayout().appendHeader(header, p);
- LOGUNIT_ASSERT_EQUAL((size_t) 0, header.size());
- }
- /**
- * Tests getFooter.
- */
- void testGetFooter() {
- Pool p;
- LogString footer;
- XMLLayout().appendFooter(footer, p);
- LOGUNIT_ASSERT_EQUAL((size_t) 0, footer.size());
- }
+public:
+ /**
+ * Tests getContentType.
+ */
+ void testGetContentType()
+ {
+ LogString expected(LOG4CXX_STR("text/plain"));
+ LogString actual(XMLLayout().getContentType());
+ LOGUNIT_ASSERT(expected == actual);
+ }
+
+ /**
+ * Tests ignoresThrowable.
+ */
+ void testIgnoresThrowable()
+ {
+ LOGUNIT_ASSERT_EQUAL(false, XMLLayout().ignoresThrowable());
+ }
+
+ /**
+ * Tests getHeader.
+ */
+ void testGetHeader()
+ {
+ Pool p;
+ LogString header;
+ XMLLayout().appendHeader(header, p);
+ LOGUNIT_ASSERT_EQUAL((size_t) 0, header.size());
+ }
+
+ /**
+ * Tests getFooter.
+ */
+ void testGetFooter()
+ {
+ Pool p;
+ LogString footer;
+ XMLLayout().appendFooter(footer, p);
+ LOGUNIT_ASSERT_EQUAL((size_t) 0, footer.size());
+ }
private:
- /**
- * Parses the string as the body of an XML document and returns the document element.
- * @param source source string.
- * @return document element.
- * @throws Exception if parser can not be constructed or source is not a valid XML document.
- */
- static apr_xml_elem* parse(const LogString& source, Pool& p) {
- char backing[3000];
- ByteBuffer buf(backing, sizeof(backing));
- CharsetEncoderPtr encoder(CharsetEncoder::getUTF8Encoder());
- LogString header(LOG4CXX_STR("<log4j:eventSet xmlns:log4j='http://jakarta.apache.org/log4j/'>"));
- LogString::const_iterator iter(header.begin());
- encoder->encode(header, iter, buf);
- LOGUNIT_ASSERT(iter == header.end());
- iter = source.begin();
- encoder->encode(source, iter, buf);
- LOGUNIT_ASSERT(iter == source.end());
- LogString footer(LOG4CXX_STR("</log4j:eventSet>"));
- iter = footer.begin();
- encoder->encode(footer, iter, buf);
- buf.flip();
- apr_pool_t* apr_pool = p.getAPRPool();
- apr_xml_parser* parser = apr_xml_parser_create(apr_pool);
- LOGUNIT_ASSERT(parser != 0);
- apr_status_t stat = apr_xml_parser_feed(parser, buf.data(), buf.remaining());
- LOGUNIT_ASSERT(stat == APR_SUCCESS);
- apr_xml_doc* doc = 0;
- stat = apr_xml_parser_done(parser, &doc);
- LOGUNIT_ASSERT(doc != 0);
- apr_xml_elem* eventSet = doc->root;
- LOGUNIT_ASSERT(eventSet != 0);
- apr_xml_elem* event = eventSet->first_child;
- LOGUNIT_ASSERT(event != 0);
- return event;
- }
+ /**
+ * Parses the string as the body of an XML document and returns the document element.
+ * @param source source string.
+ * @return document element.
+ * @throws Exception if parser can not be constructed or source is not a valid XML document.
+ */
+ static apr_xml_elem* parse(const LogString & source, Pool & p)
+ {
+ char backing[3000];
+ ByteBuffer buf(backing, sizeof(backing));
+ CharsetEncoderPtr encoder(CharsetEncoder::getUTF8Encoder());
+ LogString header(LOG4CXX_STR("<log4j:eventSet xmlns:log4j='http://jakarta.apache.org/log4j/'>"));
+ LogString::const_iterator iter(header.begin());
+ encoder->encode(header, iter, buf);
+ LOGUNIT_ASSERT(iter == header.end());
+ iter = source.begin();
+ encoder->encode(source, iter, buf);
+ LOGUNIT_ASSERT(iter == source.end());
+ LogString footer(LOG4CXX_STR("</log4j:eventSet>"));
+ iter = footer.begin();
+ encoder->encode(footer, iter, buf);
+ buf.flip();
+ apr_pool_t* apr_pool = p.getAPRPool();
+ apr_xml_parser* parser = apr_xml_parser_create(apr_pool);
+ LOGUNIT_ASSERT(parser != 0);
+ apr_status_t stat = apr_xml_parser_feed(parser, buf.data(), buf.remaining());
+ LOGUNIT_ASSERT(stat == APR_SUCCESS);
+ apr_xml_doc* doc = 0;
+ stat = apr_xml_parser_done(parser, &doc);
+ LOGUNIT_ASSERT(doc != 0);
+ apr_xml_elem* eventSet = doc->root;
+ LOGUNIT_ASSERT(eventSet != 0);
+ apr_xml_elem* event = eventSet->first_child;
+ LOGUNIT_ASSERT(event != 0);
+ return event;
+ }
- std::string getAttribute(apr_xml_elem* elem, const char* attrName) {
- for(apr_xml_attr* attr = elem->attr;
- attr != NULL;
- attr = attr->next) {
- if (strcmp(attr->name, attrName) == 0) {
- return attr->value;
- }
- }
- return "";
- }
+ std::string getAttribute(apr_xml_elem * elem, const char* attrName)
+ {
+ for (apr_xml_attr* attr = elem->attr;
+ attr != NULL;
+ attr = attr->next)
+ {
+ if (strcmp(attr->name, attrName) == 0)
+ {
+ return attr->value;
+ }
+ }
- std::string getText(apr_xml_elem* elem) {
- std::string dMessage;
- for(apr_text* t = elem->first_cdata.first;
- t != NULL;
- t = t->next) {
- dMessage.append(t->text);
- }
- return dMessage;
- }
- /**
- * Checks a log4j:event element against expectations.
- * @param element element, may not be null.
- * @param event event, may not be null.
- */
- void checkEventElement(
- apr_xml_elem* element, LoggingEventPtr& event) {
- std::string tagName("event");
- LOGUNIT_ASSERT_EQUAL(tagName, (std::string) element->name);
- LOG4CXX_ENCODE_CHAR(cLoggerName, event->getLoggerName());
- LOGUNIT_ASSERT_EQUAL(cLoggerName, getAttribute(element, "logger"));
- LOG4CXX_ENCODE_CHAR(cLevelName, event->getLevel()->toString());
- LOGUNIT_ASSERT_EQUAL(cLevelName, getAttribute(element, "level"));
- }
+ return "";
+ }
- /**
- * Checks a log4j:message element against expectations.
- * @param element element, may not be null.
- * @param message expected message.
- */
- void checkMessageElement(
- apr_xml_elem* element, std::string message) {
- std::string tagName = "message";
- LOGUNIT_ASSERT_EQUAL(tagName, (std::string) element->name);
- LOGUNIT_ASSERT_EQUAL(message, getText(element));
- }
+ std::string getText(apr_xml_elem * elem)
+ {
+ std::string dMessage;
- /**
- * Checks a log4j:message element against expectations.
- * @param element element, may not be null.
- * @param message expected message.
- */
- void checkNDCElement(apr_xml_elem* element, std::string message) {
- std::string tagName = "NDC";
- LOGUNIT_ASSERT_EQUAL(tagName, (std::string) element->name);
- std::string dMessage = getText(element);
- LOGUNIT_ASSERT_EQUAL(message, dMessage);
- }
+ for (apr_text* t = elem->first_cdata.first;
+ t != NULL;
+ t = t->next)
+ {
+ dMessage.append(t->text);
+ }
+
+ return dMessage;
+ }
+ /**
+ * Checks a log4j:event element against expectations.
+ * @param element element, may not be null.
+ * @param event event, may not be null.
+ */
+ void checkEventElement(
+ apr_xml_elem * element, LoggingEventPtr & event)
+ {
+ std::string tagName("event");
+ LOGUNIT_ASSERT_EQUAL(tagName, (std::string) element->name);
+ LOG4CXX_ENCODE_CHAR(cLoggerName, event->getLoggerName());
+ LOGUNIT_ASSERT_EQUAL(cLoggerName, getAttribute(element, "logger"));
+ LOG4CXX_ENCODE_CHAR(cLevelName, event->getLevel()->toString());
+ LOGUNIT_ASSERT_EQUAL(cLevelName, getAttribute(element, "level"));
+ }
+
+ /**
+ * Checks a log4j:message element against expectations.
+ * @param element element, may not be null.
+ * @param message expected message.
+ */
+ void checkMessageElement(
+ apr_xml_elem * element, std::string message)
+ {
+ std::string tagName = "message";
+ LOGUNIT_ASSERT_EQUAL(tagName, (std::string) element->name);
+ LOGUNIT_ASSERT_EQUAL(message, getText(element));
+ }
+
+ /**
+ * Checks a log4j:message element against expectations.
+ * @param element element, may not be null.
+ * @param message expected message.
+ */
+ void checkNDCElement(apr_xml_elem * element, std::string message)
+ {
+ std::string tagName = "NDC";
+ LOGUNIT_ASSERT_EQUAL(tagName, (std::string) element->name);
+ std::string dMessage = getText(element);
+ LOGUNIT_ASSERT_EQUAL(message, dMessage);
+ }
- /**
- * Checks a log4j:properties element against expectations.
- * @param element element, may not be null.
- * @param key key.
- * @param value value.
- */
- void checkPropertiesElement(
- apr_xml_elem* element, std::string key, std::string value) {
- std::string tagName = "properties";
- std::string dataTag = "data";
- int childNodeCount = 0;
- LOGUNIT_ASSERT_EQUAL(tagName, (std::string) element->name);
- for(apr_xml_elem* child = element->first_child;
- child != NULL;
- child = child->next) {
- LOGUNIT_ASSERT_EQUAL(dataTag, (std::string) child->name);
- LOGUNIT_ASSERT_EQUAL(key, getAttribute(child, "name"));
- LOGUNIT_ASSERT_EQUAL(value, getAttribute(child, "value"));
- childNodeCount++;
- }
- LOGUNIT_ASSERT_EQUAL(1, childNodeCount);
- }
+ /**
+ * Checks a log4j:properties element against expectations.
+ * @param element element, may not be null.
+ * @param key key.
+ * @param value value.
+ */
+ void checkPropertiesElement(
+ apr_xml_elem * element, std::string key, std::string value)
+ {
+ std::string tagName = "properties";
+ std::string dataTag = "data";
+ int childNodeCount = 0;
+ LOGUNIT_ASSERT_EQUAL(tagName, (std::string) element->name);
+
+ for (apr_xml_elem* child = element->first_child;
+ child != NULL;
+ child = child->next)
+ {
+ LOGUNIT_ASSERT_EQUAL(dataTag, (std::string) child->name);
+ LOGUNIT_ASSERT_EQUAL(key, getAttribute(child, "name"));
+ LOGUNIT_ASSERT_EQUAL(value, getAttribute(child, "value"));
+ childNodeCount++;
+ }
+
+ LOGUNIT_ASSERT_EQUAL(1, childNodeCount);
+ }
public:
- /**
- * Tests formatted results.
- * @throws Exception if parser can not be constructed or source is not a valid XML document.
- */
- void testFormat() {
- LogString logger = LOG4CXX_STR("org.apache.log4j.xml.XMLLayoutTest");
- LoggingEventPtr event =
- new LoggingEvent(
- logger, Level::getInfo(), LOG4CXX_STR("Hello, World"), LOG4CXX_LOCATION);
- Pool p;
- XMLLayout layout;
- LogString result;
- layout.format(result, event, p);
- apr_xml_elem* parsedResult = parse(result, p);
- checkEventElement(parsedResult, event);
+ /**
+ * Tests formatted results.
+ * @throws Exception if parser can not be constructed or source is not a valid XML document.
+ */
+ void testFormat()
+ {
+ LogString logger = LOG4CXX_STR("org.apache.log4j.xml.XMLLayoutTest");
+ LoggingEventPtr event =
+ new LoggingEvent(
+ logger, Level::getInfo(), LOG4CXX_STR("Hello, World"), LOG4CXX_LOCATION);
+ Pool p;
+ XMLLayout layout;
+ LogString result;
+ layout.format(result, event, p);
+ apr_xml_elem* parsedResult = parse(result, p);
+ checkEventElement(parsedResult, event);
- int childElementCount = 0;
- for (
- apr_xml_elem* node = parsedResult->first_child;
- node != NULL;
- node = node->next) {
- childElementCount++;
- checkMessageElement(node, "Hello, World");
- }
+ int childElementCount = 0;
- LOGUNIT_ASSERT_EQUAL(1, childElementCount);
- }
+ for (
+ apr_xml_elem* node = parsedResult->first_child;
+ node != NULL;
+ node = node->next)
+ {
+ childElementCount++;
+ checkMessageElement(node, "Hello, World");
+ }
+
+ LOGUNIT_ASSERT_EQUAL(1, childElementCount);
+ }
- /**
- * Tests formatted results with an exception.
- * @throws Exception if parser can not be constructed or source is not a valid XML document.
- */
- void testFormatWithNDC() {
- LogString logger = LOG4CXX_STR("org.apache.log4j.xml.XMLLayoutTest");
- NDC::push("NDC goes here");
+ /**
+ * Tests formatted results with an exception.
+ * @throws Exception if parser can not be constructed or source is not a valid XML document.
+ */
+ void testFormatWithNDC()
+ {
+ LogString logger = LOG4CXX_STR("org.apache.log4j.xml.XMLLayoutTest");
+ NDC::push("NDC goes here");
- LoggingEventPtr event =
- new LoggingEvent(
- logger, Level::getInfo(), LOG4CXX_STR("Hello, World"), LOG4CXX_LOCATION);
- Pool p;
- XMLLayout layout;
- LogString result;
- layout.format(result, event, p);
- NDC::pop();
+ LoggingEventPtr event =
+ new LoggingEvent(
+ logger, Level::getInfo(), LOG4CXX_STR("Hello, World"), LOG4CXX_LOCATION);
+ Pool p;
+ XMLLayout layout;
+ LogString result;
+ layout.format(result, event, p);
+ NDC::pop();
- apr_xml_elem* parsedResult = parse(result, p);
- checkEventElement(parsedResult, event);
+ apr_xml_elem* parsedResult = parse(result, p);
+ checkEventElement(parsedResult, event);
- int childElementCount = 0;
+ int childElementCount = 0;
- for (
- apr_xml_elem* node = parsedResult->first_child; node != NULL;
- node = node->next) {
- childElementCount++;
+ for (
+ apr_xml_elem* node = parsedResult->first_child; node != NULL;
+ node = node->next)
+ {
+ childElementCount++;
- if (childElementCount == 1) {
- checkMessageElement(node, "Hello, World");
- } else {
- checkNDCElement(node, "NDC goes here");
- }
- }
+ if (childElementCount == 1)
+ {
+ checkMessageElement(node, "Hello, World");
+ }
+ else
+ {
+ checkNDCElement(node, "NDC goes here");
+ }
+ }
- LOGUNIT_ASSERT_EQUAL(2, childElementCount);
- }
+ LOGUNIT_ASSERT_EQUAL(2, childElementCount);
+ }
- /**
- * Tests getLocationInfo and setLocationInfo.
- */
- void testGetSetLocationInfo() {
- XMLLayout layout;
- LOGUNIT_ASSERT_EQUAL(false, layout.getLocationInfo());
- layout.setLocationInfo(true);
- LOGUNIT_ASSERT_EQUAL(true, layout.getLocationInfo());
- layout.setLocationInfo(false);
- LOGUNIT_ASSERT_EQUAL(false, layout.getLocationInfo());
- }
+ /**
+ * Tests getLocationInfo and setLocationInfo.
+ */
+ void testGetSetLocationInfo()
+ {
+ XMLLayout layout;
+ LOGUNIT_ASSERT_EQUAL(false, layout.getLocationInfo());
+ layout.setLocationInfo(true);
+ LOGUNIT_ASSERT_EQUAL(true, layout.getLocationInfo());
+ layout.setLocationInfo(false);
+ LOGUNIT_ASSERT_EQUAL(false, layout.getLocationInfo());
+ }
- /**
- * Tests activateOptions().
- */
- void testActivateOptions() {
- Pool p;
- XMLLayout layout;
- layout.activateOptions(p);
- }
+ /**
+ * Tests activateOptions().
+ */
+ void testActivateOptions()
+ {
+ Pool p;
+ XMLLayout layout;
+ layout.activateOptions(p);
+ }
- /**
- * Tests problematic characters in multiple fields.
- * @throws Exception if parser can not be constructed or source is not a valid XML document.
- */
- void testProblemCharacters() {
- std::string problemName = "com.example.bar<>&\"'";
- LogString problemNameLS = LOG4CXX_STR("com.example.bar<>&\"'");
- LevelPtr level = new XLevel(6000, problemNameLS, 7);
- NDC::push(problemName);
- MDC::clear();
- MDC::put(problemName, problemName);
- LoggingEventPtr event =
- new LoggingEvent(problemNameLS, level, problemNameLS, LOG4CXX_LOCATION);
- XMLLayout layout;
- layout.setProperties(true);
- Pool p;
- LogString result;
- layout.format(result, event, p);
- MDC::clear();
+ /**
+ * Tests problematic characters in multiple fields.
+ * @throws Exception if parser can not be constructed or source is not a valid XML document.
+ */
+ void testProblemCharacters()
+ {
+ std::string problemName = "com.example.bar<>&\"'";
+ LogString problemNameLS = LOG4CXX_STR("com.example.bar<>&\"'");
+ LevelPtr level = new XLevel(6000, problemNameLS, 7);
+ NDC::push(problemName);
+ MDC::clear();
+ MDC::put(problemName, problemName);
+ LoggingEventPtr event =
+ new LoggingEvent(problemNameLS, level, problemNameLS, LOG4CXX_LOCATION);
+ XMLLayout layout;
+ layout.setProperties(true);
+ Pool p;
+ LogString result;
+ layout.format(result, event, p);
+ MDC::clear();
- apr_xml_elem* parsedResult = parse(result, p);
- checkEventElement(parsedResult, event);
+ apr_xml_elem* parsedResult = parse(result, p);
+ checkEventElement(parsedResult, event);
- int childElementCount = 0;
+ int childElementCount = 0;
- for (
- apr_xml_elem* node = parsedResult->first_child; node != NULL;
- node = node->next) {
- childElementCount++;
- switch(childElementCount) {
- case 1:
- checkMessageElement(node, problemName);
- break;
+ for (
+ apr_xml_elem* node = parsedResult->first_child; node != NULL;
+ node = node->next)
+ {
+ childElementCount++;
- case 2:
- checkNDCElement(node, problemName);
- break;
+ switch (childElementCount)
+ {
+ case 1:
+ checkMessageElement(node, problemName);
+ break;
- case 3:
- checkPropertiesElement(node, problemName.c_str(), problemName.c_str());
- break;
+ case 2:
+ checkNDCElement(node, problemName);
+ break;
- default:
- break;
- }
+ case 3:
+ checkPropertiesElement(node, problemName.c_str(), problemName.c_str());
+ break;
- }
- LOGUNIT_ASSERT_EQUAL(3, childElementCount);
- }
+ default:
+ break;
+ }
- /**
- * Tests CDATA element within NDC content. See bug 37560.
- */
- void testNDCWithCDATA() {
- LogString logger = LOG4CXX_STR("com.example.bar");
- LevelPtr level = Level::getInfo();
- std::string ndcMessage ="<envelope><faultstring><![CDATA[The EffectiveDate]]></faultstring><envelope>";
- NDC::push(ndcMessage);
- LoggingEventPtr event =
- new LoggingEvent(
- logger, level, LOG4CXX_STR("Hello, World"), LOG4CXX_LOCATION);
- XMLLayout layout;
- Pool p;
- LogString result;
- layout.format(result, event, p);
- NDC::clear();
- apr_xml_elem* parsedResult = parse(result, p);
- int ndcCount = 0;
- for(apr_xml_elem* node = parsedResult->first_child;
- node != NULL;
- node = node->next) {
- if (strcmp(node->name, "NDC") == 0) {
- ndcCount++;
- LOGUNIT_ASSERT_EQUAL(ndcMessage, getText(node));
- }
- }
- LOGUNIT_ASSERT_EQUAL(1, ndcCount);
- }
+ }
+
+ LOGUNIT_ASSERT_EQUAL(3, childElementCount);
+ }
+
+ /**
+ * Tests CDATA element within NDC content. See bug 37560.
+ */
+ void testNDCWithCDATA()
+ {
+ LogString logger = LOG4CXX_STR("com.example.bar");
+ LevelPtr level = Level::getInfo();
+ std::string ndcMessage = "<envelope><faultstring><![CDATA[The EffectiveDate]]></faultstring><envelope>";
+ NDC::push(ndcMessage);
+ LoggingEventPtr event =
+ new LoggingEvent(
+ logger, level, LOG4CXX_STR("Hello, World"), LOG4CXX_LOCATION);
+ XMLLayout layout;
+ Pool p;
+ LogString result;
+ layout.format(result, event, p);
+ NDC::clear();
+ apr_xml_elem* parsedResult = parse(result, p);
+ int ndcCount = 0;
+
+ for (apr_xml_elem* node = parsedResult->first_child;
+ node != NULL;
+ node = node->next)
+ {
+ if (strcmp(node->name, "NDC") == 0)
+ {
+ ndcCount++;
+ LOGUNIT_ASSERT_EQUAL(ndcMessage, getText(node));
+ }
+ }
+
+ LOGUNIT_ASSERT_EQUAL(1, ndcCount);
+ }
};
diff --git a/src/test/cpp/xml/xmllayouttestcase.cpp b/src/test/cpp/xml/xmllayouttestcase.cpp
index bd1cc8b..de13ef2 100644
--- a/src/test/cpp/xml/xmllayouttestcase.cpp
+++ b/src/test/cpp/xml/xmllayouttestcase.cpp
@@ -39,117 +39,117 @@
using namespace log4cxx::xml;
#if defined(__LOG4CXX_FUNC__)
-#undef __LOG4CXX_FUNC__
-#define __LOG4CXX_FUNC__ "X::X()"
+ #undef __LOG4CXX_FUNC__
+ #define __LOG4CXX_FUNC__ "X::X()"
#else
-#error __LOG4CXX_FUNC__ expected to be defined
+ #error __LOG4CXX_FUNC__ expected to be defined
#endif
class X
{
-public:
- X()
- {
- LoggerPtr logger =
- Logger::getLogger(LOG4CXX_TEST_STR("org.apache.log4j.xml.XMLLayoutTestCase$X"));
- LOG4CXX_INFO(logger, LOG4CXX_TEST_STR("in X() constructor"));
- }
+ public:
+ X()
+ {
+ LoggerPtr logger =
+ Logger::getLogger(LOG4CXX_TEST_STR("org.apache.log4j.xml.XMLLayoutTestCase$X"));
+ LOG4CXX_INFO(logger, LOG4CXX_TEST_STR("in X() constructor"));
+ }
};
LOGUNIT_CLASS(XMLLayoutTestCase)
{
- LOGUNIT_TEST_SUITE(XMLLayoutTestCase);
- LOGUNIT_TEST(basic);
- LOGUNIT_TEST(locationInfo);
- LOGUNIT_TEST(testCDATA);
- LOGUNIT_TEST(testNull);
- LOGUNIT_TEST(testMDC);
- LOGUNIT_TEST(testMDCEscaped);
- LOGUNIT_TEST_SUITE_END();
+ LOGUNIT_TEST_SUITE(XMLLayoutTestCase);
+ LOGUNIT_TEST(basic);
+ LOGUNIT_TEST(locationInfo);
+ LOGUNIT_TEST(testCDATA);
+ LOGUNIT_TEST(testNull);
+ LOGUNIT_TEST(testMDC);
+ LOGUNIT_TEST(testMDCEscaped);
+ LOGUNIT_TEST_SUITE_END();
- LoggerPtr root;
- LoggerPtr logger;
+ LoggerPtr root;
+ LoggerPtr logger;
public:
- void setUp()
- {
- root = Logger::getRootLogger();
- root->setLevel(Level::getTrace());
- logger = Logger::getLogger(LOG4CXX_TEST_STR("org.apache.log4j.xml.XMLLayoutTestCase"));
- logger->setLevel(Level::getTrace());
- }
+ void setUp()
+ {
+ root = Logger::getRootLogger();
+ root->setLevel(Level::getTrace());
+ logger = Logger::getLogger(LOG4CXX_TEST_STR("org.apache.log4j.xml.XMLLayoutTestCase"));
+ logger->setLevel(Level::getTrace());
+ }
- void tearDown()
- {
- logger->getLoggerRepository()->resetConfiguration();
- }
+ void tearDown()
+ {
+ logger->getLoggerRepository()->resetConfiguration();
+ }
- void basic()
- {
- const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.1"));
- const File filteredFile("output/filtered.xmlLayout.1");
+ void basic()
+ {
+ const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.1"));
+ const File filteredFile("output/filtered.xmlLayout.1");
- XMLLayoutPtr xmlLayout = new XMLLayout();
- AppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
- root->addAppender(appender);
- common();
+ XMLLayoutPtr xmlLayout = new XMLLayout();
+ AppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
+ root->addAppender(appender);
+ common();
- XMLTimestampFilter xmlTimestampFilter;
- XMLThreadFilter xmlThreadFilter;
+ XMLTimestampFilter xmlTimestampFilter;
+ XMLThreadFilter xmlThreadFilter;
- std::vector<Filter *> filters;
- filters.push_back(&xmlThreadFilter);
- filters.push_back(&xmlTimestampFilter);
+ std::vector<Filter*> filters;
+ filters.push_back(&xmlThreadFilter);
+ filters.push_back(&xmlTimestampFilter);
- try
- {
- Transformer::transform(tempFileName, filteredFile, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(tempFileName, filteredFile, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.1")));
- }
+ LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.1")));
+ }
- void locationInfo()
- {
- const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.2"));
- const File filteredFile("output/filtered.xmlLayout.2");
+ void locationInfo()
+ {
+ const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.2"));
+ const File filteredFile("output/filtered.xmlLayout.2");
- XMLLayoutPtr xmlLayout = new XMLLayout();
- xmlLayout->setLocationInfo(true);
- root->addAppender(new FileAppender(xmlLayout, tempFileName, false));
- common();
+ XMLLayoutPtr xmlLayout = new XMLLayout();
+ xmlLayout->setLocationInfo(true);
+ root->addAppender(new FileAppender(xmlLayout, tempFileName, false));
+ common();
- XMLTimestampFilter xmlTimestampFilter;
- XMLThreadFilter xmlThreadFilter;
- FilenameFilter xmlFilenameFilter(__FILE__, "XMLLayoutTestCase.java");
- Filter line2XX("[23][0-9][0-9]", "X");
- Filter line5X("5[0-9]", "X");
+ XMLTimestampFilter xmlTimestampFilter;
+ XMLThreadFilter xmlThreadFilter;
+ FilenameFilter xmlFilenameFilter(__FILE__, "XMLLayoutTestCase.java");
+ Filter line2XX("[23][0-9][0-9]", "X");
+ Filter line5X("5[0-9]", "X");
- std::vector<Filter *> filters;
- filters.push_back(&xmlFilenameFilter);
- filters.push_back(&xmlThreadFilter);
- filters.push_back(&xmlTimestampFilter);
- filters.push_back(&line2XX);
- filters.push_back(&line5X);
+ std::vector<Filter*> filters;
+ filters.push_back(&xmlFilenameFilter);
+ filters.push_back(&xmlThreadFilter);
+ filters.push_back(&xmlTimestampFilter);
+ filters.push_back(&line2XX);
+ filters.push_back(&line5X);
- try
- {
- Transformer::transform(tempFileName, filteredFile, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(tempFileName, filteredFile, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.2")));
- }
+ LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.2")));
+ }
@@ -158,154 +158,154 @@
- void testCDATA()
- {
- const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.3"));
- const File filteredFile("output/filtered.xmlLayout.3");
+ void testCDATA()
+ {
+ const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.3"));
+ const File filteredFile("output/filtered.xmlLayout.3");
- XMLLayoutPtr xmlLayout = new XMLLayout();
- xmlLayout->setLocationInfo(true);
- FileAppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
- root->addAppender(appender);
+ XMLLayoutPtr xmlLayout = new XMLLayout();
+ xmlLayout->setLocationInfo(true);
+ FileAppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
+ root->addAppender(appender);
- LOG4CXX_TRACE(logger,
- LOG4CXX_TEST_STR("Message with embedded <![CDATA[<hello>hi</hello>]]>."));
- LOG4CXX_DEBUG(logger,
- LOG4CXX_TEST_STR("Message with embedded <![CDATA[<hello>hi</hello>]]>."));
+ LOG4CXX_TRACE(logger,
+ LOG4CXX_TEST_STR("Message with embedded <![CDATA[<hello>hi</hello>]]>."));
+ LOG4CXX_DEBUG(logger,
+ LOG4CXX_TEST_STR("Message with embedded <![CDATA[<hello>hi</hello>]]>."));
- XMLTimestampFilter xmlTimestampFilter;
- XMLThreadFilter xmlThreadFilter;
- FilenameFilter xmlFilenameFilter(__FILE__, "XMLLayoutTestCase.java");
- Filter line1xx("1[0-9][0-9]", "X");
+ XMLTimestampFilter xmlTimestampFilter;
+ XMLThreadFilter xmlThreadFilter;
+ FilenameFilter xmlFilenameFilter(__FILE__, "XMLLayoutTestCase.java");
+ Filter line1xx("1[0-9][0-9]", "X");
- std::vector<Filter *> filters;
- filters.push_back(&xmlFilenameFilter);
- filters.push_back(&xmlThreadFilter);
- filters.push_back(&xmlTimestampFilter);
- filters.push_back(&line1xx);
+ std::vector<Filter*> filters;
+ filters.push_back(&xmlFilenameFilter);
+ filters.push_back(&xmlThreadFilter);
+ filters.push_back(&xmlTimestampFilter);
+ filters.push_back(&line1xx);
- try
- {
- Transformer::transform(tempFileName, filteredFile, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(tempFileName, filteredFile, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.3")));
- }
+ LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.3")));
+ }
- void testNull()
- {
- const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.null"));
- const File filteredFile("output/filtered.xmlLayout.null");
+ void testNull()
+ {
+ const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.null"));
+ const File filteredFile("output/filtered.xmlLayout.null");
- XMLLayoutPtr xmlLayout = new XMLLayout();
- FileAppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
- root->addAppender(appender);
+ XMLLayoutPtr xmlLayout = new XMLLayout();
+ FileAppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
+ root->addAppender(appender);
- LOG4CXX_DEBUG(logger, LOG4CXX_TEST_STR("hi"));
- LOG4CXX_DEBUG(logger, (char*) 0);
- LOG4CXX_DEBUG(logger, "hi");
+ LOG4CXX_DEBUG(logger, LOG4CXX_TEST_STR("hi"));
+ LOG4CXX_DEBUG(logger, (char*) 0);
+ LOG4CXX_DEBUG(logger, "hi");
- XMLTimestampFilter xmlTimestampFilter;
- XMLThreadFilter xmlThreadFilter;
+ XMLTimestampFilter xmlTimestampFilter;
+ XMLThreadFilter xmlThreadFilter;
- std::vector<Filter *> filters;
- filters.push_back(&xmlThreadFilter);
- filters.push_back(&xmlTimestampFilter);
+ std::vector<Filter*> filters;
+ filters.push_back(&xmlThreadFilter);
+ filters.push_back(&xmlTimestampFilter);
- try
- {
- Transformer::transform(tempFileName, filteredFile, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(tempFileName, filteredFile, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.null")));
- }
+ LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.null")));
+ }
- void testMDC()
- {
- const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.mdc.1"));
- const File filteredFile("output/filtered.xmlLayout.mdc.1");
+ void testMDC()
+ {
+ const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.mdc.1"));
+ const File filteredFile("output/filtered.xmlLayout.mdc.1");
- XMLLayoutPtr xmlLayout = new XMLLayout();
- xmlLayout->setProperties(true);
- FileAppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
- root->addAppender(appender);
+ XMLLayoutPtr xmlLayout = new XMLLayout();
+ xmlLayout->setProperties(true);
+ FileAppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
+ root->addAppender(appender);
- MDC::clear();
- MDC::put(LOG4CXX_TEST_STR("key1"), LOG4CXX_TEST_STR("val1"));
- MDC::put(LOG4CXX_TEST_STR("key2"), LOG4CXX_TEST_STR("val2"));
+ MDC::clear();
+ MDC::put(LOG4CXX_TEST_STR("key1"), LOG4CXX_TEST_STR("val1"));
+ MDC::put(LOG4CXX_TEST_STR("key2"), LOG4CXX_TEST_STR("val2"));
- LOG4CXX_DEBUG(logger, LOG4CXX_TEST_STR("Hello"));
+ LOG4CXX_DEBUG(logger, LOG4CXX_TEST_STR("Hello"));
- MDC::clear();
+ MDC::clear();
- XMLTimestampFilter xmlTimestampFilter;
- XMLThreadFilter xmlThreadFilter;
+ XMLTimestampFilter xmlTimestampFilter;
+ XMLThreadFilter xmlThreadFilter;
- std::vector<Filter *> filters;
- filters.push_back(&xmlThreadFilter);
- filters.push_back(&xmlTimestampFilter);
+ std::vector<Filter*> filters;
+ filters.push_back(&xmlThreadFilter);
+ filters.push_back(&xmlTimestampFilter);
- try
- {
- Transformer::transform(tempFileName, filteredFile, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(tempFileName, filteredFile, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.mdc.1")));
- }
+ LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.mdc.1")));
+ }
- // not incuded in the tests for the moment !
- void testMDCEscaped()
- {
- const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.mdc.2"));
- const File filteredFile("output/filtered.xmlLayout.mdc.2");
+ // not incuded in the tests for the moment !
+ void testMDCEscaped()
+ {
+ const LogString tempFileName(LOG4CXX_STR("output/temp.xmlLayout.mdc.2"));
+ const File filteredFile("output/filtered.xmlLayout.mdc.2");
- XMLLayoutPtr xmlLayout = new XMLLayout();
- xmlLayout->setProperties(true);
- FileAppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
- root->addAppender(appender);
+ XMLLayoutPtr xmlLayout = new XMLLayout();
+ xmlLayout->setProperties(true);
+ FileAppenderPtr appender(new FileAppender(xmlLayout, tempFileName, false));
+ root->addAppender(appender);
- MDC::clear();
- MDC::put(LOG4CXX_TEST_STR("blahAttribute"), LOG4CXX_TEST_STR("<blah value='blah'>"));
- MDC::put(LOG4CXX_TEST_STR("<blahKey value='blah'/>"), LOG4CXX_TEST_STR("blahValue"));
+ MDC::clear();
+ MDC::put(LOG4CXX_TEST_STR("blahAttribute"), LOG4CXX_TEST_STR("<blah value='blah'>"));
+ MDC::put(LOG4CXX_TEST_STR("<blahKey value='blah'/>"), LOG4CXX_TEST_STR("blahValue"));
- LOG4CXX_DEBUG(logger, LOG4CXX_TEST_STR("Hello"));
+ LOG4CXX_DEBUG(logger, LOG4CXX_TEST_STR("Hello"));
- MDC::clear();
+ MDC::clear();
- XMLTimestampFilter xmlTimestampFilter;
- XMLThreadFilter xmlThreadFilter;
+ XMLTimestampFilter xmlTimestampFilter;
+ XMLThreadFilter xmlThreadFilter;
- std::vector<Filter *> filters;
- filters.push_back(&xmlThreadFilter);
- filters.push_back(&xmlTimestampFilter);
+ std::vector<Filter*> filters;
+ filters.push_back(&xmlThreadFilter);
+ filters.push_back(&xmlTimestampFilter);
- try
- {
- Transformer::transform(tempFileName, filteredFile, filters);
- }
- catch(UnexpectedFormatException& e)
- {
- std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
- throw;
- }
+ try
+ {
+ Transformer::transform(tempFileName, filteredFile, filters);
+ }
+ catch (UnexpectedFormatException& e)
+ {
+ std::cout << "UnexpectedFormatException :" << e.what() << std::endl;
+ throw;
+ }
- LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.mdc.2")));
- }
+ LOGUNIT_ASSERT(Compare::compare(filteredFile, LOG4CXX_FILE("witness/xmlLayout.mdc.2")));
+ }
@@ -314,44 +314,44 @@
- void common()
- {
- int i = 0;
- X x;
+ void common()
+ {
+ int i = 0;
+ X x;
- std::string msg("Message ");
+ std::string msg("Message ");
- LOG4CXX_TRACE(logger, msg << i);
- LOG4CXX_TRACE(root, msg << i);
+ LOG4CXX_TRACE(logger, msg << i);
+ LOG4CXX_TRACE(root, msg << i);
- i++;
- LOG4CXX_DEBUG(logger, msg << i);
- LOG4CXX_DEBUG(root, msg << i);
+ i++;
+ LOG4CXX_DEBUG(logger, msg << i);
+ LOG4CXX_DEBUG(root, msg << i);
- i++;
- LOG4CXX_INFO(logger, msg << i);
- LOG4CXX_INFO(root, msg << i);
+ i++;
+ LOG4CXX_INFO(logger, msg << i);
+ LOG4CXX_INFO(root, msg << i);
- i++;
- LOG4CXX_WARN(logger, msg << i);
- LOG4CXX_WARN(root, msg << i);
+ i++;
+ LOG4CXX_WARN(logger, msg << i);
+ LOG4CXX_WARN(root, msg << i);
- i++;
- LOG4CXX_ERROR(logger, msg << i);
- LOG4CXX_ERROR(root, msg << i);
+ i++;
+ LOG4CXX_ERROR(logger, msg << i);
+ LOG4CXX_ERROR(root, msg << i);
- i++;
- LOG4CXX_FATAL(logger, msg << i);
- LOG4CXX_FATAL(root, msg << i);
+ i++;
+ LOG4CXX_FATAL(logger, msg << i);
+ LOG4CXX_FATAL(root, msg << i);
- i++;
- LOG4CXX_DEBUG(logger, "Message " << i);
- LOG4CXX_DEBUG(root, "Message " << i);
+ i++;
+ LOG4CXX_DEBUG(logger, "Message " << i);
+ LOG4CXX_DEBUG(root, "Message " << i);
- i++;
- LOG4CXX_ERROR(logger, "Message " << i);
- LOG4CXX_ERROR(root, "Message " << i);
- }
+ i++;
+ LOG4CXX_ERROR(logger, "Message " << i);
+ LOG4CXX_ERROR(root, "Message " << i);
+ }
};
LOGUNIT_TEST_SUITE_REGISTRATION(XMLLayoutTestCase);
diff --git a/src/test/resources/input/socketServer2.properties b/src/test/resources/input/socketServer2.properties
index aafd7af..4536dc9 100644
--- a/src/test/resources/input/socketServer2.properties
+++ b/src/test/resources/input/socketServer2.properties
@@ -19,5 +19,5 @@
log4j.appender.A.file=output/temp
log4j.appender.A.Append=false
log4j.appender.A.layout=org.apache.log4j.PatternLayout
-log4j.appender.A.layout.ConversionPattern=%5p %x [%t] %C (%F:%L) %m%n
+log4j.appender.A.layout.ConversionPattern=%5p %x [%t] %c{1} (%F:%L) %m%n
diff --git a/src/test/resources/input/socketServer3.properties b/src/test/resources/input/socketServer3.properties
index 7ddb85c..bc7e2a1 100644
--- a/src/test/resources/input/socketServer3.properties
+++ b/src/test/resources/input/socketServer3.properties
@@ -19,4 +19,4 @@
log4j.appender.A.file=output/temp
log4j.appender.A.Append=false
log4j.appender.A.layout=org.apache.log4j.PatternLayout
-log4j.appender.A.layout.ConversionPattern=%5p %x [%t] %C (%F:%L) %m%n
+log4j.appender.A.layout.ConversionPattern=%5p %x [%t] %c{1} (%F:%L) %m%n
diff --git a/src/test/resources/witness/socketServer.2 b/src/test/resources/witness/socketServer.2
index 8f9b189..33df315 100644
--- a/src/test/resources/witness/socketServer.2
+++ b/src/test/resources/witness/socketServer.2
@@ -1,7 +1,7 @@
TRACE T2 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 1
-TRACE T2 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 2
+TRACE T2 [main] root (socketservertestcase.cpp:XXX) Message 2
DEBUG T2 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 3
-DEBUG T2 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 4
+DEBUG T2 [main] root (socketservertestcase.cpp:XXX) Message 4
INFO T2 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 5
WARN T2 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 6
FATAL T2 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 7
@@ -17,7 +17,7 @@
at junit.framework.TestCase.run(TestCase.java:XXX)
at junit.framework.TestSuite.runTest(TestSuite.java:XXX)
at junit.framework.TestSuite.run(TestSuite.java:XXX)
-ERROR T2 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 9
+ERROR T2 [main] root (socketservertestcase.cpp:XXX) Message 9
java.lang.Exception: Just testing
at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX)
at org.apache.log4j.net.SocketServerTestCase.test2(SocketServerTestCase.java:XXX)
diff --git a/src/test/resources/witness/socketServer.3 b/src/test/resources/witness/socketServer.3
index 1f8e8b6..47dca83 100644
--- a/src/test/resources/witness/socketServer.3
+++ b/src/test/resources/witness/socketServer.3
@@ -1,7 +1,7 @@
TRACE T3 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 1
-TRACE T3 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 2
+TRACE T3 [main] root (socketservertestcase.cpp:XXX) Message 2
DEBUG T3 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 3
-DEBUG T3 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 4
+DEBUG T3 [main] root (socketservertestcase.cpp:XXX) Message 4
INFO T3 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 5
WARN T3 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 6
FATAL T3 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 7
@@ -17,7 +17,7 @@
at junit.framework.TestCase.run(TestCase.java:XXX)
at junit.framework.TestSuite.runTest(TestSuite.java:XXX)
at junit.framework.TestSuite.run(TestSuite.java:XXX)
-ERROR T3 [main] SocketServerTestCase (socketservertestcase.cpp:XXX) Message 9
+ERROR T3 [main] root (socketservertestcase.cpp:XXX) Message 9
java.lang.Exception: Just testing
at org.apache.log4j.net.SocketServerTestCase.common(SocketServerTestCase.java:XXX)
at org.apache.log4j.net.SocketServerTestCase.test3(SocketServerTestCase.java:XXX)